Player-by-player trace from JSON pipeline. Metric-by-metric comparison without wide horizontal table dependency.
Windows shown explicitly: Team recent form = latest 10 games from enhanced analysis. Player historical helpers = 75 games; balancing rates = 162 games (as implemented in services).
Savant layers shown explicitly: hitter Statcast quality, pitcher Statcast quality, and pitch movement from embedded data/all_players_stats.csv features.
Color guide: Red = final above baseline, Blue = final below baseline, Green = no difference.
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | ARI 2 - 4 STL | STL | 0.525 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | ARI 2 - 3 STL | STL | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5250 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.978 | 5.737 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 4 | 0.5250 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 4 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.45120920245398777,
"base_low_score_probability": 0.4233128834355828,
"low_score_signal_threshold": 0.5033128834355828,
"low_score_signal_strength": 0.027896319018404947,
"confidence": 0.63295,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.0659
},
"prediction": "normal_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 5,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 12,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 2,
"wide_bucket_sample_size": 12,
"global_sample_size": 12,
"bucket_scope": "sparse_pooled_0.12",
"sparse_bucket": true,
"empirical_hit_rate": 0.3333,
"bayesian_hit_rate": 0.45,
"sample_weight": 0.255,
"prior_strength": 28.0,
"reliability": 0.3,
"confidence_cap": 0.525,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.525,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "STL",
"games": 78,
"wins": 42,
"losses": 36,
"win_pct": 0.5384615384615384,
"runs_scored": 359,
"runs_allowed": 360,
"run_differential": -1,
"run_differential_per_game": -0.01282051282051282,
"available": true
},
"away": {
"team": "ARI",
"games": 80,
"wins": 41,
"losses": 39,
"win_pct": 0.5125,
"runs_scored": 346,
"runs_allowed": 366,
"run_differential": -20,
"run_differential_per_game": -0.25,
"available": true
},
"run_differential_edge_per_game": 0.2372,
"win_pct_edge": 0.026,
"quality_edge": 0.2761,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "STL",
"guardrail_predicted_team": "STL",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "STL",
"output_opponent_team": "ARI",
"final_score_winner": "STL",
"pre_simulation_winner": "STL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "ARI 2 - 4 STL",
"winner": "STL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "ARI 2 - 3 STL",
"winner": "STL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -1,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "STL",
"games": 78,
"wins": 42,
"losses": 36,
"win_pct": 0.5384615384615384,
"runs_scored": 359,
"runs_allowed": 360,
"run_differential": -1,
"run_differential_per_game": -0.01282051282051282,
"available": true
},
"away": {
"team": "ARI",
"games": 80,
"wins": 41,
"losses": 39,
"win_pct": 0.5125,
"runs_scored": 346,
"runs_allowed": 366,
"run_differential": -20,
"run_differential_per_game": -0.25,
"available": true
}
}
}{
"applied": true,
"raw_margin": 2.2497,
"final_margin": 1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.2761,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 2.481,
"home_runs": 3.981
}
}{
"applied": false,
"raw_confidence": 0.525,
"final_confidence": 0.525,
"confidence_cap": 0.525,
"score_gap": 1.5,
"calibration_sample_size": 12,
"calibration_empirical_hit_rate": 0.3333,
"calibration_bayesian_hit_rate": 0.45,
"calibration_sparse_bucket": true,
"season_quality_edge": 0.2761,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"historical confidence bucket is sparse",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "ARI 2 - 4 STL",
"winner": "STL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "ARI 2 - 3 STL",
"winner": "STL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -1,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 2,
"home_runs": 4,
"confidence": 0.525,
"home_win_probability": 0.525,
"away_win_probability": 0.475,
"predicted_score_text": "ARI 2 - 4 STL",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "ARI",
"original_runs": 2,
"run_delta": 0.4729,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.15360312484211142,
"contact": -0.0205082823978273,
"power": -0.13238441708366233,
"discipline": 0.3952467381984847,
"xwoba": 0.3179375,
"recent_xwoba": 0.3179375,
"barrel": 8.0,
"ab_hard_contact": -0.08327167500658039,
"ab_bat_speed": 69.71345326238844,
"ab_strikeout_rate": 0.19322821219834085,
"available_players": 9,
"top_players": [
{
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "DH_606466",
"weight": 4.0,
"quality": 1.054340778802296,
"contact": 1.321019379574672,
"power": 1.0526188254130033,
"discipline": 0.2640277777777779,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 10.8,
"ab_hard_contact": 0.6897098415933977,
"ab_bat_speed": 73.25293096891535,
"ab_strikeout_rate": 0.15133333333333332,
"available": 1.0
},
{
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "DH_682998",
"weight": 4.0,
"quality": 0.8338455753860218,
"contact": 0.9004032186589207,
"power": 1.1354763039644629,
"discipline": 0.14768894993895004,
"xwoba": 0.361,
"recent_xwoba": 0.361,
"barrel": 12.6,
"ab_hard_contact": 1.5331451269083132,
"ab_bat_speed": 74.37748888888889,
"ab_strikeout_rate": 0.22724358974358974,
"available": 1.0
},
{
"player_id": "678489",
"player_name": "Jorge Barrosa",
"position": "DH_678489",
"weight": 3.0,
"quality": -0.6215961243278829,
"contact": -2.0,
"power": -1.2830909158810169,
"discipline": -0.5649960317460315,
"xwoba": 0.211,
"recent_xwoba": 0.211,
"barrel": 6.8,
"ab_hard_contact": -1.4694373652393855,
"ab_bat_speed": 65.62344246031746,
"ab_strikeout_rate": 0.35,
"available": 1.0
},
{
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "DH_672515",
"weight": 4.0,
"quality": 0.43033654264424,
"contact": 1.051173494872291,
"power": 0.6594125702396588,
"discipline": 0.6887628968253972,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 9.5,
"ab_hard_contact": -0.11422478568301549,
"ab_bat_speed": 70.22562934027778,
"ab_strikeout_rate": 0.2078125,
"available": 1.0
},
{
"player_id": "571448",
"player_name": "Nolan Arenado",
"position": "DH_571448",
"weight": 3.0,
"quality": -0.36680173477651934,
"contact": -0.4650229501265417,
"power": -0.529917519836638,
"discipline": 0.026316760037348376,
"xwoba": 0.302,
"recent_xwoba": 0.302,
"barrel": 6.5,
"ab_hard_contact": -0.5591123014946718,
"ab_bat_speed": 69.84964002267574,
"ab_strikeout_rate": 0.1918300653594771,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "700241",
"player_name": "Michael McGreevy",
"quality": -0.6735857408538453,
"contact": -0.8788687131434919,
"command": -0.5290714285714285,
"movement": -0.9731627578291366,
"xwoba": 0.365,
"whiff": 18.7,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "STL",
"original_runs": 4,
"run_delta": 0.4964,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.3304841228131658,
"contact": 0.6400769708335842,
"power": 0.47361338416521265,
"discipline": 0.2974972994947787,
"xwoba": 0.34485714285714286,
"recent_xwoba": 0.34485714285714286,
"barrel": 8.71142857142857,
"ab_hard_contact": -0.3015880990086737,
"ab_bat_speed": 70.96732966665161,
"ab_strikeout_rate": 0.20729527666612066,
"available_players": 6,
"top_players": [
{
"player_id": "676475",
"player_name": "Alec Burleson",
"position": "DH_676475",
"weight": 4.0,
"quality": 1.2822973652090939,
"contact": 1.527819616633495,
"power": 1.3557498315372443,
"discipline": 0.39734290382819804,
"xwoba": 0.388,
"recent_xwoba": 0.388,
"barrel": 10.6,
"ab_hard_contact": 1.4487109164591754,
"ab_bat_speed": 71.2597854030501,
"ab_strikeout_rate": 0.15980392156862747,
"available": 1.0
},
{
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "DH_691023",
"weight": 4.0,
"quality": 1.0090743027351603,
"contact": 1.1445749037483413,
"power": 1.5012181872989938,
"discipline": -0.5696748366013071,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 13.6,
"ab_hard_contact": 1.2083637459798724,
"ab_bat_speed": 77.65222766884531,
"ab_strikeout_rate": 0.25653594771241833,
"available": 1.0
},
{
"player_id": "671056",
"player_name": "Iván Herrera",
"position": "DH_671056",
"weight": 4.0,
"quality": 0.6494321047504138,
"contact": 0.9493352093349119,
"power": 0.2539024154212256,
"discipline": 0.9773436285936288,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 7.0,
"ab_hard_contact": 1.1363340227102239,
"ab_bat_speed": 72.79067895299146,
"ab_strikeout_rate": 0.1825174825174825,
"available": 1.0
},
{
"player_id": "802139",
"player_name": "JJ Wetherholt",
"position": "DH",
"weight": 4.0,
"quality": 0.5059683736792062,
"contact": 0.6893103430573984,
"power": 0.3461424185830055,
"discipline": 0.5331776377217555,
"xwoba": 0.352,
"recent_xwoba": 0.352,
"barrel": 7.2,
"ab_hard_contact": 0.364753133564874,
"ab_bat_speed": 70.76903297682709,
"ab_strikeout_rate": 0.18725490196078431,
"available": 1.0
},
{
"player_id": "691026",
"player_name": "Masyn Winn",
"position": "DH_691026",
"weight": 4.0,
"quality": -0.3120721375091238,
"contact": -0.14684752672162446,
"power": -0.778353460404347,
"discipline": 0.15705687830687856,
"xwoba": 0.304,
"recent_xwoba": 0.304,
"barrel": 3.4,
"ab_hard_contact": -0.7110692080869383,
"ab_bat_speed": 68.20100000000001,
"ab_strikeout_rate": 0.1985185185185185,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "668678",
"player_name": "Zac Gallen",
"quality": -0.8110281958845145,
"contact": -1.2224892662015079,
"command": -0.6099285714285714,
"movement": -0.46838896043857847,
"xwoba": 0.364,
"whiff": 19.7,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 4,
"predicted_score_text": "ARI 2 - 4 STL",
"confidence": 0.525,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "ARI 2 - 4 STL",
"winner": "STL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "ARI 2 - 3 STL",
"winner": "STL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -1,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away ARI | True | 1.0139 | 1.0139 | 1 | 9 | 0 |
| Home STL | True | 1.0448 | 1.0448 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Geraldo Perdomo | 51 | 1.0070 | 0.0928 | neutral | 0.3290 | 0.2540 | 0.3340 | 2.60 | 31.20 | 87 | 11.90 | 11.90 | 12.30 | 14.80 | 0.4286 |
| DH_678489 | Jorge Barrosa | 273 | 0.9426 | -0.7650 | negative_batter_regression | 0.2110 | 0.1480 | 0.2370 | 6.80 | 23 | 86.50 | 18.40 | 27.70 | 29.40 | 7.60 | -1.6000 |
| DH_656976 | Pavin Smith | 525 | 0.9662 | -0.4506 | neutral | 0.2650 | 0.1680 | 0.2280 | 5.40 | 29.70 | 85.80 | 14 | 17.80 | 20.70 | 15.50 | 0.3714 |
| DH_606466 | Ketel Marte | 97 | 1.1039 | 1.3856 | positive_batter_regression | 0.3710 | 0.3020 | 0.5020 | 10.80 | 46.20 | 91.40 | 11.20 | 20.50 | 14 | 7.50 | 0.9429 |
| DH_672515 | Gabriel Moreno | 53 | 1.0477 | 0.6363 | neutral | 0.3710 | 0.2790 | 0.4630 | 9.50 | 45.60 | 90.30 | 12.60 | 17.20 | 16.70 | 11 | 0.4857 |
| DH_694371 | Tommy Troy | 214 | 1.0122 | 0.1633 | neutral | 0.3320 | 0.2470 | 0.4310 | 12.50 | 29.70 | 84.50 | 13.50 | 26.30 | 20.40 | 10.80 | 0.2286 |
| DH_571448 | Nolan Arenado | 129 | 0.9880 | -0.1594 | neutral | 0.3020 | 0.2410 | 0.3660 | 6.50 | 31.50 | 85.40 | 18.80 | 23.50 | 20.10 | 8 | -0.2000 |
| DH_682998 | Corbin Carroll | 11 | 1.0721 | 0.9608 | neutral | 0.3610 | 0.2650 | 0.4790 | 12.60 | 48.20 | 91.60 | 13.40 | 28.60 | 21.30 | 10.90 | -0.7143 |
| DH_666971 | Lourdes Gurriel Jr. | 471 | 0.9858 | -0.1894 | neutral | 0.2790 | 0.2330 | 0.3150 | 5.10 | 32.30 | 86.50 | 13.60 | 24.30 | 18.20 | 6.10 | 0.6571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | JJ Wetherholt | 10 | 1.0563 | 0.7507 | neutral | 0.3520 | 0.2580 | 0.4350 | 7.20 | 43.90 | 90 | 13.60 | 20.90 | 15.70 | 10.40 | 0.2000 |
| DH_701675 | Nathan Church | 112 | 0.9926 | -0.0993 | neutral | 0.2980 | 0.2460 | 0.3890 | 9.10 | 31.50 | 85.90 | 9.60 | 23.90 | 21.60 | 5.50 | -0.4857 |
| DH_691026 | Masyn Winn | 109 | 0.9898 | -0.1365 | neutral | 0.3040 | 0.2590 | 0.3310 | 3.40 | 33.70 | 87.60 | 12.20 | 21.40 | 19.50 | 8.40 | 0.2286 |
| DH_676475 | Alec Burleson | 71 | 1.1207 | 1.6099 | neutral | 0.3880 | 0.2970 | 0.5460 | 10.60 | 48.40 | 91.80 | 12.10 | 20 | 14.50 | 8.60 | 0.6857 |
| DH_691458 | Blaze Jordan | 211 | 0.9945 | -0.0731 | neutral | 0.2920 | 0.2410 | 0.3710 | 7.30 | 46.30 | 89.50 | 7.10 | 16.70 | 8.50 | 4.30 | -0.8286 |
| DH_663457 | Lars Nootbaar | 216 | 1.0631 | 0.8412 | neutral | 0.3980 | 0.2920 | 0.5570 | 13.30 | 55.60 | 93.70 | 7.70 | 17.20 | 21.40 | 14.30 | 0.6286 |
| DH_691023 | Jordan Walker | 14 | 1.0957 | 1.2755 | neutral | 0.3640 | 0.2840 | 0.5090 | 13.60 | 51.10 | 93.90 | 12.70 | 31.30 | 25.50 | 7 | -0.2000 |
| DH_699625 | Jimmy Crooks | 508 | 1.0274 | 0.3651 | positive_batter_regression | 0.3340 | 0.2470 | 0.4250 | 6.30 | 48.50 | 90.80 | 12.90 | 28.40 | 26.40 | 9.40 | 2 |
| DH_671056 | Iván Herrera | 32 | 1.0631 | 0.8410 | neutral | 0.3710 | 0.2660 | 0.4180 | 7 | 43 | 89.90 | 7.40 | 19.90 | 15.50 | 13.60 | 0.0571 |
{
"home": {
"applied": true,
"offense_factor": 1.0448,
"raw_average_factor": 1.0448,
"team_espn_average_rank": 142.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"offense_factor": 1.0563,
"quality_score": 0.7507,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802139",
"espn_id": 4941056,
"player_name": "JJ Wetherholt",
"team": "STL",
"role": "batter",
"espn_rank": 10,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 10,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 290.0,
"ab_rank": 41,
"r_value": 49.0,
"r_rank": 22,
"h_value": 76.0,
"h_rank": 50,
"avg_value": 0.2620689,
"avg_rank": 69.0,
"2b_value": 8.0,
"2b_rank": 202,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 12.0,
"hr_rank": 57,
"rbi_value": 34.0,
"rbi_rank": 95,
"tb_value": 120.0,
"tb_rank": 831,
"bb_value": 35.0,
"bb_rank": 43,
"so_value": 53.0,
"so_rank": 140,
"sb_value": 8.0,
"sb_rank": 61,
"obp_value": 0.3609467,
"obp_rank": "39",
"slg_value": 0.4137931,
"slg_rank": "94",
"ops_value": 0.7747398,
"ops_rank": 133.0,
"war_value": 3.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 15.7,
"bb_percent": 10.4,
"woba": 0.345,
"xwoba": 0.352,
"xba": 0.258,
"xslg": 0.435,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 43.9,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 13.6,
"whiff_percent": 20.9,
"swing_percent": 43.6
},
"components": {
"expected_quality": 0.8403,
"regression_edge": 0.2,
"xwoba_edge": 1.3714,
"xba_edge": 0.5143,
"xslg_edge": 0.8714,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.8,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_701675",
"player_id": "701675",
"player_name": "Nathan Church",
"offense_factor": 0.9926,
"quality_score": -0.0993,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701675",
"espn_id": 4843048,
"player_name": "Nathan Church",
"team": "STL",
"role": "batter",
"espn_rank": 112,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 112,
"gp_value": 60.0,
"gp_rank": 197,
"ab_value": 184.0,
"ab_rank": 202,
"r_value": 25.0,
"r_rank": 183,
"h_value": 49.0,
"h_rank": 178,
"avg_value": 0.2663043,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 20.0,
"rbi_rank": 233,
"tb_value": 75.0,
"tb_rank": 1111,
"bb_value": 11.0,
"bb_rank": 278,
"so_value": 43.0,
"so_rank": 191,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.3115577,
"obp_rank": "-",
"slg_value": 0.4076086,
"slg_rank": "-",
"ops_value": 0.7191663,
"ops_rank": null,
"war_value": 1.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 21.6,
"bb_percent": 5.5,
"woba": 0.315,
"xwoba": 0.298,
"xba": 0.246,
"xslg": 0.389,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 31.5,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 9.6,
"whiff_percent": 23.9,
"swing_percent": 56.9
},
"components": {
"expected_quality": -0.0903,
"regression_edge": -0.4857,
"xwoba_edge": -0.1714,
"xba_edge": 0.1714,
"xslg_edge": 0.2143,
"barrel_edge": 0.4667,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_691026",
"player_id": "691026",
"player_name": "Masyn Winn",
"offense_factor": 0.9898,
"quality_score": -0.1365,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691026",
"espn_id": 4683365,
"player_name": "Masyn Winn",
"team": "STL",
"role": "batter",
"espn_rank": 109,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 109,
"gp_value": 70.0,
"gp_rank": 140,
"ab_value": 261.0,
"ab_rank": 104,
"r_value": 32.0,
"r_rank": 118,
"h_value": 64.0,
"h_rank": 98,
"avg_value": 0.2452107,
"avg_rank": 97.0,
"2b_value": 11.0,
"2b_rank": 128,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 31.0,
"rbi_rank": 120,
"tb_value": 88.0,
"tb_rank": 1046,
"bb_value": 25.0,
"bb_rank": 104,
"so_value": 58.0,
"so_rank": 108,
"sb_value": 6.0,
"sb_rank": 85,
"obp_value": 0.3198653,
"obp_rank": "100",
"slg_value": 0.3371647,
"slg_rank": "147",
"ops_value": 0.65703,
"ops_rank": 247.0,
"war_value": 1.32,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 19.5,
"bb_percent": 8.4,
"woba": 0.296,
"xwoba": 0.304,
"xba": 0.259,
"xslg": 0.331,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 33.7,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 12.2,
"whiff_percent": 21.4,
"swing_percent": 42.4
},
"components": {
"expected_quality": -0.2144,
"regression_edge": 0.2286,
"xwoba_edge": 0.0,
"xba_edge": 0.5429,
"xslg_edge": -0.6143,
"barrel_edge": -0.8,
"hard_hit_edge": -0.6571,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -0.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_676475",
"player_id": "676475",
"player_name": "Alec Burleson",
"offense_factor": 1.1207,
"quality_score": 1.6099,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676475",
"espn_id": 4345070,
"player_name": "Alec Burleson",
"team": "STL",
"role": "batter",
"espn_rank": 71,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 71,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 302.0,
"ab_rank": 22,
"r_value": 42.0,
"r_rank": 52,
"h_value": 87.0,
"h_rank": 9,
"avg_value": 0.2880794,
"avg_rank": 21.0,
"2b_value": 20.0,
"2b_rank": 5,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 13.0,
"hr_rank": 44,
"rbi_value": 57.0,
"rbi_rank": 4,
"tb_value": 148.0,
"tb_rank": 310,
"bb_value": 29.0,
"bb_rank": 74,
"so_value": 49.0,
"so_rank": 161,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3531157,
"obp_rank": "47",
"slg_value": 0.4900662,
"slg_rank": "30",
"ops_value": 0.8431819,
"ops_rank": 77.0,
"war_value": 1.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 14.5,
"bb_percent": 8.6,
"woba": 0.364,
"xwoba": 0.388,
"xba": 0.297,
"xslg": 0.546,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 48.4,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 12.1,
"whiff_percent": 20.0,
"swing_percent": 50.4
},
"components": {
"expected_quality": 1.7604,
"regression_edge": 0.6857,
"xwoba_edge": 2.4,
"xba_edge": 1.6286,
"xslg_edge": 2.4571,
"barrel_edge": 0.8,
"hard_hit_edge": 1.4429,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_691458",
"player_id": "691458",
"player_name": "Blaze Jordan",
"offense_factor": 0.9945,
"quality_score": -0.0731,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691458",
"espn_id": 4722953,
"player_name": "Blaze Jordan",
"team": "STL",
"role": "batter",
"espn_rank": 211,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 211,
"gp_value": 12.0,
"gp_rank": 484,
"ab_value": 42.0,
"ab_rank": 451,
"r_value": 5.0,
"r_rank": 432,
"h_value": 12.0,
"h_rank": 412,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 366,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 12.0,
"rbi_rank": 304,
"tb_value": 20.0,
"tb_rank": 2061,
"bb_value": 2.0,
"bb_rank": 454,
"so_value": 4.0,
"so_rank": 519,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2978723,
"obp_rank": "-",
"slg_value": 0.4761904,
"slg_rank": "-",
"ops_value": 0.7740627,
"ops_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 8.5,
"bb_percent": 4.3,
"woba": 0.321,
"xwoba": 0.292,
"xba": 0.241,
"xslg": 0.371,
"sweet_spot_percent": 24.4,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 7.1,
"whiff_percent": 16.7,
"swing_percent": 55.9
},
"components": {
"expected_quality": -0.0541,
"regression_edge": -0.8286,
"xwoba_edge": -0.3429,
"xba_edge": 0.0286,
"xslg_edge": -0.0429,
"barrel_edge": 0.0667,
"hard_hit_edge": 1.1429,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -1.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_663457",
"player_id": "663457",
"player_name": "Lars Nootbaar",
"offense_factor": 1.0631,
"quality_score": 0.8412,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663457",
"espn_id": 4448736,
"player_name": "Lars Nootbaar",
"team": "STL",
"role": "batter",
"espn_rank": 216,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 216,
"gp_value": 17.0,
"gp_rank": 442,
"ab_value": 59.0,
"ab_rank": 404,
"r_value": 12.0,
"r_rank": 328,
"h_value": 17.0,
"h_rank": 368,
"avg_value": 0.2881355,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 7.0,
"rbi_rank": 375,
"tb_value": 29.0,
"tb_rank": 1811,
"bb_value": 10.0,
"bb_rank": 292,
"so_value": 15.0,
"so_rank": 414,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3857142,
"obp_rank": "-",
"slg_value": 0.4915254,
"slg_rank": "-",
"ops_value": 0.8772396,
"ops_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 21.4,
"bb_percent": 14.3,
"woba": 0.376,
"xwoba": 0.398,
"xba": 0.292,
"xslg": 0.557,
"sweet_spot_percent": 42.2,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 55.6,
"exit_velocity_avg": 93.7,
"launch_angle_avg": 7.7,
"whiff_percent": 17.2,
"swing_percent": 35.1
},
"components": {
"expected_quality": 2.0712,
"regression_edge": 0.6286,
"xwoba_edge": 2.5,
"xba_edge": 1.4857,
"xslg_edge": 2.5,
"barrel_edge": 1.4,
"hard_hit_edge": 2.4714,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 1.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_691023",
"player_id": "691023",
"player_name": "Jordan Walker",
"offense_factor": 1.0957,
"quality_score": 1.2755,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691023",
"espn_id": 4684778,
"player_name": "Jordan Walker",
"team": "STL",
"role": "batter",
"espn_rank": 14,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 14,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 303.0,
"ab_rank": 19,
"r_value": 46.0,
"r_rank": 33,
"h_value": 88.0,
"h_rank": 6,
"avg_value": 0.290429,
"avg_rank": 18.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 18.0,
"hr_rank": 12,
"rbi_value": 58.0,
"rbi_rank": 2,
"tb_value": 158.0,
"tb_rank": 481,
"bb_value": 23.0,
"bb_rank": 130,
"so_value": 84.0,
"so_rank": 22,
"sb_value": 10.0,
"sb_rank": 41,
"obp_value": 0.3424242,
"obp_rank": "62",
"slg_value": 0.5214521,
"slg_rank": "15",
"ops_value": 0.8638763,
"ops_rank": 47.0,
"war_value": 3.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 25.5,
"bb_percent": 7.0,
"woba": 0.371,
"xwoba": 0.364,
"xba": 0.284,
"xslg": 0.509,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 51.1,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 12.7,
"whiff_percent": 31.3,
"swing_percent": 52.1
},
"components": {
"expected_quality": 1.5157,
"regression_edge": -0.2,
"xwoba_edge": 1.7143,
"xba_edge": 1.2571,
"xslg_edge": 1.9286,
"barrel_edge": 1.4667,
"hard_hit_edge": 1.8286,
"exit_velocity_edge": 2.04,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_699625",
"player_id": "699625",
"player_name": "Jimmy Crooks",
"offense_factor": 1.0274,
"quality_score": 0.3651,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "699625",
"espn_id": 4749675,
"player_name": "Jimmy Crooks",
"team": "STL",
"role": "batter",
"espn_rank": 508,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 508,
"gp_value": 17.0,
"gp_rank": 442,
"ab_value": 47.0,
"ab_rank": 432,
"r_value": 2.0,
"r_rank": 482,
"h_value": 8.0,
"h_rank": 446,
"avg_value": 0.1702127,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 399,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 7.0,
"rbi_rank": 375,
"tb_value": 13.0,
"tb_rank": 2372,
"bb_value": 5.0,
"bb_rank": 394,
"so_value": 14.0,
"so_rank": 419,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2641509,
"obp_rank": "-",
"slg_value": 0.2765957,
"slg_rank": "-",
"ops_value": 0.5407466,
"ops_rank": null,
"war_value": -0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 26.4,
"bb_percent": 9.4,
"woba": 0.25,
"xwoba": 0.334,
"xba": 0.247,
"xslg": 0.425,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 48.5,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 12.9,
"whiff_percent": 28.4,
"swing_percent": 43.8
},
"components": {
"expected_quality": 0.6178,
"regression_edge": 2.0,
"xwoba_edge": 0.8571,
"xba_edge": 0.2,
"xslg_edge": 0.7286,
"barrel_edge": -0.1556,
"hard_hit_edge": 1.4571,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_671056",
"player_id": "671056",
"player_name": "Iván Herrera",
"offense_factor": 1.0631,
"quality_score": 0.841,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671056",
"espn_id": 41889,
"player_name": "Ivan Herrera",
"team": "STL",
"role": "batter",
"espn_rank": 32,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 32,
"gp_value": 78.0,
"gp_rank": 32,
"ab_value": 283.0,
"ab_rank": 64,
"r_value": 53.0,
"r_rank": 11,
"h_value": 74.0,
"h_rank": 59,
"avg_value": 0.261484,
"avg_rank": 71.0,
"2b_value": 13.0,
"2b_rank": 81,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 35.0,
"rbi_rank": 86,
"tb_value": 119.0,
"tb_rank": 550,
"bb_value": 48.0,
"bb_rank": 10,
"so_value": 55.0,
"so_rank": 129,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.4039548,
"obp_rank": "5",
"slg_value": 0.4204946,
"slg_rank": "88",
"ops_value": 0.8244494,
"ops_rank": 83.0,
"war_value": 2.46,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 15.5,
"bb_percent": 13.6,
"woba": 0.369,
"xwoba": 0.371,
"xba": 0.266,
"xslg": 0.418,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 7.4,
"whiff_percent": 19.9,
"swing_percent": 42.2
},
"components": {
"expected_quality": 0.9686,
"regression_edge": 0.0571,
"xwoba_edge": 1.9143,
"xba_edge": 0.7429,
"xslg_edge": 0.6286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.6714,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0139,
"raw_average_factor": 1.0139,
"team_espn_average_rank": 202.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"offense_factor": 1.007,
"quality_score": 0.0928,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672695",
"espn_id": 41355,
"player_name": "Geraldo Perdomo",
"team": "ARI",
"role": "batter",
"espn_rank": 51,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 51,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 266.0,
"ab_rank": 98,
"r_value": 35.0,
"r_rank": 99,
"h_value": 62.0,
"h_rank": 108,
"avg_value": 0.2330827,
"avg_rank": 123.0,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 3.0,
"3b_rank": 8,
"hr_value": 4.0,
"hr_rank": 222,
"rbi_value": 27.0,
"rbi_rank": 161,
"tb_value": 90.0,
"tb_rank": 941,
"bb_value": 48.0,
"bb_rank": 10,
"so_value": 40.0,
"so_rank": 221,
"sb_value": 11.0,
"sb_rank": 32,
"obp_value": 0.3489096,
"obp_rank": "52",
"slg_value": 0.3383458,
"slg_rank": "146",
"ops_value": 0.6872554,
"ops_rank": 94.0,
"war_value": 2.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 12.3,
"bb_percent": 14.8,
"woba": 0.314,
"xwoba": 0.329,
"xba": 0.254,
"xslg": 0.334,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 31.2,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 11.9,
"whiff_percent": 11.9,
"swing_percent": 39.3
},
"components": {
"expected_quality": 0.0427,
"regression_edge": 0.4286,
"xwoba_edge": 0.7143,
"xba_edge": 0.4,
"xslg_edge": -0.5714,
"barrel_edge": -0.9778,
"hard_hit_edge": -1.0143,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_678489",
"player_id": "678489",
"player_name": "Jorge Barrosa",
"offense_factor": 0.9426,
"quality_score": -0.765,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "678489",
"espn_id": 41259,
"player_name": "Jorge Barrosa",
"team": "ARI",
"role": "batter",
"espn_rank": 273,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 273,
"gp_value": 56.0,
"gp_rank": 223,
"ab_value": 105.0,
"ab_rank": 327,
"r_value": 15.0,
"r_rank": 293,
"h_value": 19.0,
"h_rank": 357,
"avg_value": 0.1809523,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 9.0,
"rbi_rank": 350,
"tb_value": 37.0,
"tb_rank": 1626,
"bb_value": 9.0,
"bb_rank": 312,
"so_value": 35.0,
"so_rank": 251,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2521739,
"obp_rank": "-",
"slg_value": 0.3523809,
"slg_rank": "-",
"ops_value": 0.6045548,
"ops_rank": null,
"war_value": 0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 29.4,
"bb_percent": 7.6,
"woba": 0.267,
"xwoba": 0.211,
"xba": 0.148,
"xslg": 0.237,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 23.0,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 18.4,
"whiff_percent": 27.7,
"swing_percent": 43.4
},
"components": {
"expected_quality": -1.7162,
"regression_edge": -1.6,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -1.9571,
"barrel_edge": -0.0444,
"hard_hit_edge": -2.1857,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_656976",
"player_id": "656976",
"player_name": "Pavin Smith",
"offense_factor": 0.9662,
"quality_score": -0.4506,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656976",
"espn_id": 40767,
"player_name": "Pavin Smith",
"team": "ARI",
"role": "batter",
"espn_rank": 525,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 525,
"gp_value": 19.0,
"gp_rank": 429,
"ab_value": 48.0,
"ab_rank": 426,
"r_value": 4.0,
"r_rank": 444,
"h_value": 8.0,
"h_rank": 446,
"avg_value": 0.1666666,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 495,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 5.0,
"rbi_rank": 416,
"tb_value": 11.0,
"tb_rank": 2468,
"bb_value": 9.0,
"bb_rank": 312,
"so_value": 12.0,
"so_rank": 441,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2931034,
"obp_rank": "-",
"slg_value": 0.2291666,
"slg_rank": "-",
"ops_value": 0.52227,
"ops_rank": null,
"war_value": -0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 8.0,
"k_percent": 20.7,
"bb_percent": 15.5,
"woba": 0.252,
"xwoba": 0.265,
"xba": 0.168,
"xslg": 0.228,
"sweet_spot_percent": 18.9,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 29.7,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 14.0,
"whiff_percent": 17.8,
"swing_percent": 44.3
},
"components": {
"expected_quality": -1.2248,
"regression_edge": 0.3714,
"xwoba_edge": -1.1143,
"xba_edge": -2.0571,
"xslg_edge": -2.0857,
"barrel_edge": -0.3556,
"hard_hit_edge": -1.2286,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": -2.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_606466",
"player_id": "606466",
"player_name": "Ketel Marte",
"offense_factor": 1.1039,
"quality_score": 1.3856,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "606466",
"espn_id": 32512,
"player_name": "Ketel Marte",
"team": "ARI",
"role": "batter",
"espn_rank": 97,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 97,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 306.0,
"ab_rank": 16,
"r_value": 42.0,
"r_rank": 52,
"h_value": 81.0,
"h_rank": 28,
"avg_value": 0.2647058,
"avg_rank": 59.0,
"2b_value": 17.0,
"2b_rank": 23,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 13.0,
"hr_rank": 44,
"rbi_value": 47.0,
"rbi_rank": 26,
"tb_value": 141.0,
"tb_rank": 223,
"bb_value": 25.0,
"bb_rank": 104,
"so_value": 47.0,
"so_rank": 169,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3194029,
"obp_rank": "103",
"slg_value": 0.4607843,
"slg_rank": "53",
"ops_value": 0.7801872,
"ops_rank": 156.0,
"war_value": 1.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 220.0,
"k_percent": 14.0,
"bb_percent": 7.5,
"woba": 0.338,
"xwoba": 0.371,
"xba": 0.302,
"xslg": 0.502,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 46.2,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 11.2,
"whiff_percent": 20.5,
"swing_percent": 48.4
},
"components": {
"expected_quality": 1.4576,
"regression_edge": 0.9429,
"xwoba_edge": 1.9143,
"xba_edge": 1.7714,
"xslg_edge": 1.8286,
"barrel_edge": 0.8444,
"hard_hit_edge": 1.1286,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_672515",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"offense_factor": 1.0477,
"quality_score": 0.6363,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672515",
"espn_id": 42464,
"player_name": "Gabriel Moreno",
"team": "ARI",
"role": "batter",
"espn_rank": 53,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 53,
"gp_value": 53.0,
"gp_rank": 237,
"ab_value": 180.0,
"ab_rank": 216,
"r_value": 26.0,
"r_rank": 172,
"h_value": 50.0,
"h_rank": 169,
"avg_value": 0.2777777,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 26.0,
"rbi_rank": 171,
"tb_value": 80.0,
"tb_rank": 1183,
"bb_value": 23.0,
"bb_rank": 130,
"so_value": 35.0,
"so_rank": 251,
"sb_value": 4.0,
"sb_rank": 133,
"obp_value": 0.3619047,
"obp_rank": "-",
"slg_value": 0.4444444,
"slg_rank": "-",
"ops_value": 0.8063491,
"ops_rank": null,
"war_value": 2.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 16.7,
"bb_percent": 11.0,
"woba": 0.354,
"xwoba": 0.371,
"xba": 0.279,
"xslg": 0.463,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 45.6,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 12.6,
"whiff_percent": 17.2,
"swing_percent": 42.5
},
"components": {
"expected_quality": 1.2889,
"regression_edge": 0.4857,
"xwoba_edge": 1.9143,
"xba_edge": 1.1143,
"xslg_edge": 1.2714,
"barrel_edge": 0.5556,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_694371",
"player_id": "694371",
"player_name": "Tommy Troy",
"offense_factor": 1.0122,
"quality_score": 0.1633,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694371",
"espn_id": 4837403,
"player_name": "Tommy Troy",
"team": "ARI",
"role": "batter",
"espn_rank": 214,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 214,
"gp_value": 27.0,
"gp_rank": 389,
"ab_value": 83.0,
"ab_rank": 369,
"r_value": 17.0,
"r_rank": 262,
"h_value": 20.0,
"h_rank": 349,
"avg_value": 0.2409638,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 366,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 7.0,
"rbi_rank": 375,
"tb_value": 34.0,
"tb_rank": 1659,
"bb_value": 10.0,
"bb_rank": 292,
"so_value": 19.0,
"so_rank": 382,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3225806,
"obp_rank": "-",
"slg_value": 0.4096385,
"slg_rank": "-",
"ops_value": 0.7322191,
"ops_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 14.0,
"k_percent": 20.4,
"bb_percent": 10.8,
"woba": 0.324,
"xwoba": 0.332,
"xba": 0.247,
"xslg": 0.431,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 29.7,
"exit_velocity_avg": 84.5,
"launch_angle_avg": 13.5,
"whiff_percent": 26.3,
"swing_percent": 43.5
},
"components": {
"expected_quality": 0.3848,
"regression_edge": 0.2286,
"xwoba_edge": 0.8,
"xba_edge": 0.2,
"xslg_edge": 0.8143,
"barrel_edge": 1.2222,
"hard_hit_edge": -1.2286,
"exit_velocity_edge": -1.72,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_571448",
"player_id": "571448",
"player_name": "Nolan Arenado",
"offense_factor": 0.988,
"quality_score": -0.1594,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571448",
"espn_id": 31261,
"player_name": "Nolan Arenado",
"team": "ARI",
"role": "batter",
"espn_rank": 129,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 129,
"gp_value": 75.0,
"gp_rank": 79,
"ab_value": 256.0,
"ab_rank": 109,
"r_value": 34.0,
"r_rank": 110,
"h_value": 61.0,
"h_rank": 116,
"avg_value": 0.2382812,
"avg_rank": 118.0,
"2b_value": 14.0,
"2b_rank": 63,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 33.0,
"rbi_rank": 101,
"tb_value": 99.0,
"tb_rank": 926,
"bb_value": 23.0,
"bb_rank": 130,
"so_value": 58.0,
"so_rank": 108,
"sb_value": 3.0,
"sb_rank": 161,
"obp_value": 0.3125,
"obp_rank": "115",
"slg_value": 0.3867187,
"slg_rank": "115",
"ops_value": 0.6992187,
"ops_rank": null,
"war_value": 1.11,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 192.0,
"k_percent": 20.1,
"bb_percent": 8.0,
"woba": 0.309,
"xwoba": 0.302,
"xba": 0.241,
"xslg": 0.366,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 31.5,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 18.8,
"whiff_percent": 23.5,
"swing_percent": 46.1
},
"components": {
"expected_quality": -0.1799,
"regression_edge": -0.2,
"xwoba_edge": -0.0571,
"xba_edge": 0.0286,
"xslg_edge": -0.1143,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": 0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_682998",
"player_id": "682998",
"player_name": "Corbin Carroll",
"offense_factor": 1.0721,
"quality_score": 0.9608,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682998",
"espn_id": 42404,
"player_name": "Corbin Carroll",
"team": "ARI",
"role": "batter",
"espn_rank": 11,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 11,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 287.0,
"ab_rank": 50,
"r_value": 48.0,
"r_rank": 27,
"h_value": 80.0,
"h_rank": 35,
"avg_value": 0.2787456,
"avg_rank": 39.0,
"2b_value": 17.0,
"2b_rank": 23,
"3b_value": 9.0,
"3b_rank": 1,
"hr_value": 13.0,
"hr_rank": 44,
"rbi_value": 42.0,
"rbi_rank": 47,
"tb_value": 154.0,
"tb_rank": 118,
"bb_value": 36.0,
"bb_rank": 41,
"so_value": 70.0,
"so_rank": 67,
"sb_value": 9.0,
"sb_rank": 50,
"obp_value": 0.3647416,
"obp_rank": "36",
"slg_value": 0.5365853,
"slg_rank": "9",
"ops_value": 0.9013269,
"ops_rank": 27.0,
"war_value": 3.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 21.3,
"bb_percent": 10.9,
"woba": 0.386,
"xwoba": 0.361,
"xba": 0.265,
"xslg": 0.479,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 12.6,
"hard_hit_percent": 48.2,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 13.4,
"whiff_percent": 28.6,
"swing_percent": 46.3
},
"components": {
"expected_quality": 1.2386,
"regression_edge": -0.7143,
"xwoba_edge": 1.6286,
"xba_edge": 0.7143,
"xslg_edge": 1.5,
"barrel_edge": 1.2444,
"hard_hit_edge": 1.4143,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": -0.5333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_666971",
"player_id": "666971",
"player_name": "Lourdes Gurriel Jr.",
"offense_factor": 0.9858,
"quality_score": -0.1894,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666971",
"espn_id": 36040,
"player_name": "Lourdes Gurriel Jr.",
"team": "ARI",
"role": "batter",
"espn_rank": 471,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 471,
"gp_value": 32.0,
"gp_rank": 360,
"ab_value": 121.0,
"ab_rank": 296,
"r_value": 8.0,
"r_rank": 377,
"h_value": 27.0,
"h_rank": 302,
"avg_value": 0.2231404,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 16.0,
"rbi_rank": 266,
"tb_value": 36.0,
"tb_rank": 2081,
"bb_value": 8.0,
"bb_rank": 334,
"so_value": 24.0,
"so_rank": 335,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2727272,
"obp_rank": "-",
"slg_value": 0.2975206,
"slg_rank": "-",
"ops_value": 0.5702478,
"ops_rank": null,
"war_value": -0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 98.0,
"k_percent": 18.2,
"bb_percent": 6.1,
"woba": 0.256,
"xwoba": 0.279,
"xba": 0.233,
"xslg": 0.315,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 32.3,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 13.6,
"whiff_percent": 24.3,
"swing_percent": 53.0
},
"components": {
"expected_quality": -0.5963,
"regression_edge": 0.6571,
"xwoba_edge": -0.7143,
"xba_edge": -0.2,
"xslg_edge": -0.8429,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.8571,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away ARI | True | 714 | -0.7204 | 0.9560 | 1.0612 | 0.9205 | 0.9579 | 1.1050 | neutral | 0.3640 | 0.3770 | 14.30 | 6.90 | 19.70 | 9.30 | 43.40 | |
| Home STL | True | 37 | -0.6405 | 0.8480 | 1.0544 | 0.9324 | 0.9474 | 1.0853 | negative_pitcher_regression | 0.3650 | 0.3050 | 15.90 | 6 | 18.70 | 9.70 | 40.40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away ARI | True | None | 82 | 89.00 | 2230 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0423 | |
| Home STL | True | None | 89 | 86.51 | 2202 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1817 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0461 |
| home_runs_vs_away_pitcher | 1.0585 |
| home_pitcher_quality_edge | 0.0799 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "700241",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 212.0,
"k_percent": 15.9,
"bb_percent": 6.0,
"woba": 0.305,
"xwoba": 0.365,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 40.4,
"avg_best_speed": 78.3163,
"avg_hyper_speed": 94.7267,
"whiff_percent": 18.7,
"swing_percent": 45.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.7198,
"command_and_miss": -0.6396,
"regression_edge": -1.7143,
"xwoba_edge": -1.4429,
"barrel_edge": -0.5667,
"hard_hit_edge": -0.3,
"whiff_edge": -1.0214,
"bb_edge": 0.775,
"pitch_design_score": -0.1817
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700241",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 86.5068380237321,
"release_spin_rate": 2202.385231577346,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 86.5068380237321,
"release_spin_rate": 2202.385231577346,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5068,
"release_spin_rate": 2202.3852,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1817,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2978,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6405,
"sample_weight": 0.848,
"run_prevention_factor": 1.0544,
"strikeout_factor": 0.9324,
"walk_factor": 0.9474,
"homer_factor": 1.0853,
"woba_minus_xwoba": -0.06,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "700241",
"espn_id": 4424141,
"player_name": "Michael McGreevy",
"team": "STL",
"role": "pitcher",
"espn_rank": 37,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 37,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 15.0,
"gs_rank": 41,
"qs_value": 9.0,
"qs_rank": 11,
"era_value": 3.348,
"era_rank": 23.0,
"w_value": 3.0,
"w_rank": 120,
"l_value": 6.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 83.1,
"ip_rank": 50,
"h_value": 76.0,
"h_rank": 52,
"er_value": 31.0,
"er_rank": 95,
"hr_value": 12.0,
"hr_rank": 35,
"bb_value": 20.0,
"bb_rank": 130,
"k_value": 53.0,
"k_rank": 118,
"k_per_9_value": 5.724,
"k_per_9_rank": 63,
"whip_value": 1.152,
"whip_rank": 29.0,
"war_value": 1.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "668678",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 239.0,
"k_percent": 14.3,
"bb_percent": 6.9,
"woba": 0.377,
"xwoba": 0.364,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 43.4,
"avg_best_speed": 79.8185,
"avg_hyper_speed": 94.8363,
"whiff_percent": 19.7,
"swing_percent": 46.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -1.0634,
"command_and_miss": -0.7375,
"regression_edge": 0.3714,
"xwoba_edge": -1.4143,
"barrel_edge": -0.4778,
"hard_hit_edge": -0.7286,
"whiff_edge": -0.8786,
"bb_edge": 0.55,
"pitch_design_score": -0.0423
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668678",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 82,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 88.99594245468849,
"release_spin_rate": 2230.2270925878092,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 88.99594245468849,
"release_spin_rate": 2230.2270925878092,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9959,
"release_spin_rate": 2230.2271,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.3021,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.7204,
"sample_weight": 0.956,
"run_prevention_factor": 1.0612,
"strikeout_factor": 0.9205,
"walk_factor": 0.9579,
"homer_factor": 1.105,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668678",
"espn_id": 39910,
"player_name": "Zac Gallen",
"team": "ARI",
"role": "pitcher",
"espn_rank": 714,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 714,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 3.0,
"qs_rank": 96,
"era_value": 6.1004,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 6.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 79.2,
"ip_rank": 65,
"h_value": 105.0,
"h_rank": 3,
"er_value": 54.0,
"er_rank": 3,
"hr_value": 13.0,
"hr_rank": 30,
"bb_value": 25.0,
"bb_rank": 73,
"k_value": 52.0,
"k_rank": 123,
"k_per_9_value": 5.8744774,
"k_per_9_rank": 51,
"whip_value": 1.6317,
"whip_rank": null,
"war_value": -1.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0461,
"home_runs_vs_away_pitcher": 1.0585,
"home_pitcher_quality_edge": 0.0799
},
"score_before": {
"away_runs": 2.0132,
"home_runs": 4.115
},
"score_after": {
"away_runs": 2.1061,
"home_runs": 4.3558,
"home_win_probability": 0.6927
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away ARI | 20-48 | 0.294 | 0.90 | 2.50 | -107 | cold | strong | |
| Home STL | 13-49 | 0.210 | 1.10 | 2.90 | -112 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away ARI | 41-39 | 0.512 | -20 | -0.250 | True |
| Home STL | 42-36 | 0.538 | -1 | -0.013 | True |
| Signal | - | - | 0.237 | 0.276 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target ARI | - | - | 2 | - | - | - | - |
| Game target STL | - | - | 4 | - | - | - | - |
| Player finalized ARI | 32 | 9 | 4 | 0 | 3 | 1 | 9 |
| Player finalized STL | 35 | 9 | 5 | 0 | 5 | 2 | 8 |
| Player model fractional ARI | 31.46 | 7.62 | 4.08 | 1.03 | 4.23 | 3.34 | 6.52 |
| Player model fractional STL | 33.26 | 8.48 | 4.59 | 1.02 | 4.61 | 3.31 | 6.65 |
| Simulation box ARI | 34 | 7 | 2 | 1 | 2 | 2 | 9 |
| Simulation box STL | 33 | 10 | 3 | 1 | 3 | 2 | 9 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away ARI | Starter | Zac Gallen | 5 | 3 | 7 | 8 | 2 | 7.12 | 1.74 | True |
| Away ARI | Middle Reliever | Jonathan Loáisiga | 1 | 0 | 0 | 0 | 0 | 4.12 | 1.25 | True |
| Away ARI | Middle Reliever | Juan Morillo | 0 | 0 | 0 | 1 | 0 | 4.89 | 1.40 | True |
| Away ARI | Middle Reliever | Kevin Ginkel | 1 | 0 | 1 | 0 | 0 | 4.67 | 1.36 | True |
| Away ARI | Middle Reliever | Paul Sewald | 1 | 0 | 1 | 1 | 0 | 4.44 | 1.31 | True |
| Home STL | Starter | Michael McGreevy | 5.10 | 2 | 7 | 7 | 2 | 4.31 | 1.34 | True |
| Home STL | Middle Reliever | George Soriano | 1 | 0 | 1 | 0 | 0 | 3.75 | 1.25 | True |
| Home STL | Middle Reliever | JoJo Romero | 1 | 0 | 0 | 0 | 0 | 6.04 | 1.42 | True |
| Home STL | Middle Reliever | Riley O'Brien | 1 | 0 | 1 | 0 | 0 | 5.00 | 1.40 | True |
| Home STL | Middle Reliever | Ryne Stanek | 0.20 | 0 | 0 | 0 | 0 | 5.07 | 1.22 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | ARI | pitcher | Starter | Zac Gallen | worse | 4 | 3 | 1 | 1 | 3 | predicted_IP | -3.0000 | deboost | worse |
| away | ARI | pitcher | Middle Reliever | Juan Morillo | deboosted | 4 | 0 | 4 | 2 | 2 | predicted_SO | -3.0000 | deboost | worse |
| away | ARI | batter | SS | Tommy Troy | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.2610 | boost | worse |
| home | STL | batter | 3B | Blaze Jordan | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | 2.1100 | boost | better |
| away | ARI | batter | C | Jorge Barrosa | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 1.3750 | boost | better |
| away | ARI | batter | 2B | Ketel Marte | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.3700 | boost | worse |
| home | STL | batter | DH | JJ Wetherholt | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -1.3300 | deboost | worse |
| away | ARI | batter | 1B | Pavin Smith | better | 9 | 7 | 2 | 6 | 3 | predicted_H | 1.3200 | boost | better |
| home | STL | batter | 2B | Alec Burleson | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -1.2400 | deboost | worse |
| home | STL | batter | 1B | Masyn Winn | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.1760 | boost | worse |
| home | STL | batter | SS | Lars Nootbaar | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.1180 | boost | worse |
| home | STL | batter | CF | Jimmy Crooks | worse | 9 | 3 | 6 | 4 | 5 | predicted_AB | 1.0700 | boost | better |
| home | STL | batter | C | Nathan Church | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | 1.0500 | boost | better |
| home | STL | batter | LF | Jordan Walker | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 1.0300 | boost | better |
| away | ARI | pitcher | Middle Reliever | Kevin Ginkel | better | 2 | 1 | 1 | 2 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | ARI | pitcher | Middle Reliever | Jonathan Loáisiga | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | ARI | pitcher | Middle Reliever | Paul Sewald | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | ARI | batter | DH | Geraldo Perdomo | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.8800 | deboost | worse |
| home | STL | batter | RF | Iván Herrera | worse | 11 | 6 | 5 | 5 | 6 | predicted_HR | 0.8800 | boost | better |
| away | ARI | batter | LF | Nolan Arenado | better | 8 | 4 | 4 | 5 | 3 | predicted_SO | -0.7810 | deboost | better |
| away | ARI | batter | RF | Lourdes Gurriel Jr. | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.7670 | deboost | better |
| away | ARI | batter | 3B | Gabriel Moreno | worse | 11 | 6 | 5 | 5 | 6 | predicted_2B | 0.7650 | boost | better |
| away | ARI | batter | CF | Corbin Carroll | worse | 10 | 4 | 6 | 3 | 7 | predicted_RBI | -0.7000 | deboost | worse |
| home | STL | pitcher | Middle Reliever | Ryne Stanek | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | STL | pitcher | Starter | Michael McGreevy | 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 | Zac Gallen |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.7204 |
| ESPN Rank | 714 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0423 |
| Avg Velo | 88.9959 |
| Avg Spin | 2230.2271 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 8 |
| Pre BB | 2 |
| Pre SO | 7 |
| Season ERA | 6.1004 |
| Season WHIP | 1.6318 |
| Role Avg IP | 4.9790 |
| Recent Avg IP | 5.0670 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"opponent": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": 0.0072,
"offense_edge": -0.002,
"opponent_offense_edge": -0.0223,
"defense_strength": -0.0277,
"opponent_defense_weakness": -0.0558,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 0.9988,
"strikeout": 1.002
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668678",
"profile": {
"available": true,
"pitcher_id": "668678",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 239.0,
"k_percent": 14.3,
"bb_percent": 6.9,
"woba": 0.377,
"xwoba": 0.364,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 43.4,
"avg_best_speed": 79.8185,
"avg_hyper_speed": 94.8363,
"whiff_percent": 19.7,
"swing_percent": 46.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -1.0634,
"command_and_miss": -0.7375,
"regression_edge": 0.3714,
"xwoba_edge": -1.4143,
"barrel_edge": -0.4778,
"hard_hit_edge": -0.7286,
"whiff_edge": -0.8786,
"bb_edge": 0.55,
"pitch_design_score": -0.0423
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668678",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 82,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 88.99594245468849,
"release_spin_rate": 2230.2270925878092,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 88.99594245468849,
"release_spin_rate": 2230.2270925878092,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9959,
"release_spin_rate": 2230.2271,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.3021,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.7204,
"sample_weight": 0.956,
"run_prevention_factor": 1.0612,
"strikeout_factor": 0.9205,
"walk_factor": 0.9579,
"homer_factor": 1.105,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668678",
"espn_id": 39910,
"player_name": "Zac Gallen",
"team": "ARI",
"role": "pitcher",
"espn_rank": 714,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 714,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 3.0,
"qs_rank": 96,
"era_value": 6.1004,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 6.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 79.2,
"ip_rank": 65,
"h_value": 105.0,
"h_rank": 3,
"er_value": 54.0,
"er_rank": 3,
"hr_value": 13.0,
"hr_rank": 30,
"bb_value": 25.0,
"bb_rank": 73,
"k_value": 52.0,
"k_rank": 123,
"k_per_9_value": 5.8744774,
"k_per_9_rank": 51,
"whip_value": 1.6317,
"whip_rank": null,
"war_value": -1.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0585,
"adjusted": 4
},
"predicted_H": {
"original": 8.0,
"factor": 1.0585,
"adjusted": 8
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9598,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1004,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.924,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 51.0,
"ER": 44,
"H": 73,
"BB": 18,
"SO": 35,
"HR": 11,
"ERA": 7.764705882352942,
"WHIP": 1.7843137254901964,
"K9": 6.176470588235295,
"HR9": 1.9411764705882355,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-20T00:00:00"
}{
"available": true,
"pitcher_id": "668678",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 82,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 88.99594245468849,
"release_spin_rate": 2230.2270925878092,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 82,
"pitch_usage": 0.0,
"release_speed": 88.99594245468849,
"release_spin_rate": 2230.2270925878092,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9959,
"release_spin_rate": 2230.2271,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.3021,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "668678",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 8.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.1,
"ER": 25.0,
"R": 26.0,
"H": 44.0,
"BB": 8.0,
"SO": 12.0,
"HR": 6.0,
"BF": 123.0,
"Pitches": 434.0
},
"per_game": {
"IP": 5.0,
"ER": 5.0,
"R": 5.2,
"H": 8.8,
"BB": 1.6,
"SO": 2.4,
"HR": 1.2,
"BF": 24.6,
"Pitches": 86.8
},
"rates": {
"ERA": 8.8816,
"WHIP": 2.0526,
"ER_per_IP": 0.98684,
"H_per_IP": 1.73684,
"BB_per_IP": 0.31579,
"SO_per_IP": 0.47368,
"HR_per_IP": 0.23684
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.0,
"ER": 44.0,
"R": 48.0,
"H": 73.0,
"BB": 18.0,
"SO": 35.0,
"HR": 11.0,
"BF": 243.0,
"Pitches": 887.0
},
"per_game": {
"IP": 5.0,
"ER": 4.4,
"R": 4.8,
"H": 7.3,
"BB": 1.8,
"SO": 3.5,
"HR": 1.1,
"BF": 24.3,
"Pitches": 88.7
},
"rates": {
"ERA": 7.7647,
"WHIP": 1.7843,
"ER_per_IP": 0.86275,
"H_per_IP": 1.43137,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.68627,
"HR_per_IP": 0.21569
}
},
"season": {
"games": 16,
"totals": {
"IP": 79.2,
"ER": 54.0,
"R": 59.0,
"H": 105.0,
"BB": 25.0,
"SO": 52.0,
"HR": 13.0,
"BF": 363.0,
"Pitches": 1367.0
},
"per_game": {
"IP": 5.0,
"ER": 3.375,
"R": 3.6875,
"H": 6.5625,
"BB": 1.5625,
"SO": 3.25,
"HR": 0.8125,
"BF": 22.6875,
"Pitches": 85.4375
},
"rates": {
"ERA": 6.1004,
"WHIP": 1.6318,
"ER_per_IP": 0.67782,
"H_per_IP": 1.31799,
"BB_per_IP": 0.31381,
"SO_per_IP": 0.65272,
"HR_per_IP": 0.16318
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 4.518,
"predicted_H": 8.05,
"predicted_BB": 1.92,
"predicted_SO": 3.831,
"predicted_HR": 1.134,
"predicted_ERA": 7.1159,
"predicted_WHIP": 1.7448
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 8.0,
"form": 5.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 4.518,
"final": 2.9328,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 8.05,
"final": 7.5769,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.92,
"final": 1.956,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.831,
"final": 3.9072,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.134,
"final": 1.0736,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.1159,
"final": 7.1159,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7448,
"final": 1.7448,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jonathan Loáisiga |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1197 |
| ESPN Rank | 172 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1719 |
| Avg Velo | 92.8214 |
| Avg Spin | 2270.1429 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 0 |
| Season WHIP | 0.4286 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"opponent": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": 0.0072,
"offense_edge": -0.002,
"opponent_offense_edge": -0.0223,
"defense_strength": -0.0277,
"opponent_defense_weakness": -0.0558,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 0.9988,
"strikeout": 1.002
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642528",
"profile": {
"available": true,
"pitcher_id": "642528",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 4.0,
"k_percent": 15.4,
"bb_percent": 6.0,
"woba": 0.257,
"xwoba": 0.288,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 34.1,
"avg_best_speed": 74.258,
"avg_hyper_speed": 93.4432,
"whiff_percent": 20.7,
"swing_percent": 51.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.8739,
"command_and_miss": -0.5718,
"regression_edge": -0.8857,
"xwoba_edge": 0.7571,
"barrel_edge": 0.6111,
"hard_hit_edge": 0.6,
"whiff_edge": -0.7357,
"bb_edge": 0.775,
"pitch_design_score": 0.1719
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642528",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.8214,
"release_spin_rate": 2270.1429,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1719,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2281,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1197,
"sample_weight": 0.45,
"run_prevention_factor": 0.9898,
"strikeout_factor": 0.968,
"walk_factor": 0.9721,
"homer_factor": 0.957,
"woba_minus_xwoba": -0.031,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642528",
"espn_id": 39807,
"player_name": "Jonathan Loaisiga",
"team": "ARI",
"role": "pitcher",
"espn_rank": 172,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 172,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.7303,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 5.0,
"hld_rank": 97,
"ip_value": 29.2,
"ip_rank": 295,
"h_value": 24.0,
"h_rank": 306,
"er_value": 9.0,
"er_rank": 383,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 7.0,
"bb_rank": 417,
"k_value": 18.0,
"k_rank": 396,
"k_per_9_value": 5.4606743,
"k_per_9_rank": 36,
"whip_value": 1.0449,
"whip_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9954,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9954,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9856,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 2.1,
"ER": 0,
"H": 1,
"BB": 0,
"SO": 2,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.4285714285714286,
"K9": 7.714285714285715,
"HR9": 0.0,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": true,
"pitcher_id": "642528",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.8214,
"release_spin_rate": 2270.1429,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1719,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2281,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.462,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0846,
"prior_weight": 0.9154
},
"role": "pitcher",
"player_id": "642528",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"season": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.191,
"predicted_H": 0.386,
"predicted_BB": 0.138,
"predicted_SO": 0.393,
"predicted_HR": 0.056,
"predicted_ERA": 4.1163,
"predicted_WHIP": 1.2534
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7368,
"form_weight": 0.2632,
"form_reliability": 0.0846,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.462,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0846,
"prior_weight": 0.9154
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.191,
"final": 0.0503,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.386,
"final": 0.1016,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.138,
"final": 0.0363,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.393,
"final": 0.1035,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.056,
"final": 0.0147,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1163,
"final": 4.1163,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2534,
"final": 1.2534,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Juan Morillo |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4535 |
| ESPN Rank | 179 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2722 |
| Avg Velo | 94.6118 |
| Avg Spin | 2345 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 10.8000 |
| Season WHIP | 2.4000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"opponent": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": 0.0072,
"offense_edge": -0.002,
"opponent_offense_edge": -0.0223,
"defense_strength": -0.0277,
"opponent_defense_weakness": -0.0558,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 0.9988,
"strikeout": 1.002
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666661",
"profile": {
"available": true,
"pitcher_id": "666661",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 5.0,
"k_percent": 30.5,
"bb_percent": 9.4,
"woba": 0.261,
"xwoba": 0.245,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 34.7,
"avg_best_speed": 75.4031,
"avg_hyper_speed": 93.957,
"whiff_percent": 34.4,
"swing_percent": 48.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.2549,
"command_and_miss": 0.9139,
"regression_edge": 0.4571,
"xwoba_edge": 1.9857,
"barrel_edge": 0.3667,
"hard_hit_edge": 0.5143,
"whiff_edge": 1.2214,
"bb_edge": -0.075,
"pitch_design_score": 0.2722
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666661",
"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": 94.61176470588236,
"release_spin_rate": 2345.0,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.61176470588236,
"release_spin_rate": 2345.0,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6118,
"release_spin_rate": 2345.0,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2722,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9442,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4535,
"sample_weight": 0.45,
"run_prevention_factor": 0.9614,
"strikeout_factor": 1.042,
"walk_factor": 1.0027,
"homer_factor": 0.9507,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666661",
"espn_id": 4722925,
"player_name": "Juan Morillo",
"team": "ARI",
"role": "pitcher",
"espn_rank": 179,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 179,
"gp_value": 34.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.967,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 8.0,
"hld_rank": 49,
"ip_value": 30.1,
"ip_rank": 284,
"h_value": 22.0,
"h_rank": 325,
"er_value": 10.0,
"er_rank": 351,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 39.0,
"k_rank": 180,
"k_per_9_value": 11.571428,
"k_per_9_rank": 17,
"whip_value": 1.1208,
"whip_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9826,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9778,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0189,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 1.2,
"ER": 2,
"H": 2,
"BB": 2,
"SO": 1,
"HR": 1,
"ERA": 10.8,
"WHIP": 2.4000000000000004,
"K9": 5.4,
"HR9": 5.4,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": true,
"pitcher_id": "666661",
"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": 94.61176470588236,
"release_spin_rate": 2345.0,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.61176470588236,
"release_spin_rate": 2345.0,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6118,
"release_spin_rate": 2345.0,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2722,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9442,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.33,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0619,
"prior_weight": 0.9381
},
"role": "pitcher",
"player_id": "666661",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 1.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 9.0,
"Pitches": 39.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 0.5,
"HR": 0.5,
"BF": 4.5,
"Pitches": 19.5
},
"rates": {
"ERA": 10.8,
"WHIP": 2.4,
"ER_per_IP": 1.2,
"H_per_IP": 1.2,
"BB_per_IP": 1.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.6
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 1.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 9.0,
"Pitches": 39.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 0.5,
"HR": 0.5,
"BF": 4.5,
"Pitches": 19.5
},
"rates": {
"ERA": 10.8,
"WHIP": 2.4,
"ER_per_IP": 1.2,
"H_per_IP": 1.2,
"BB_per_IP": 1.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.6
}
},
"season": {
"games": 2,
"totals": {
"IP": 1.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 9.0,
"Pitches": 39.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 0.5,
"HR": 0.5,
"BF": 4.5,
"Pitches": 19.5
},
"rates": {
"ERA": 10.8,
"WHIP": 2.4,
"ER_per_IP": 1.2,
"H_per_IP": 1.2,
"BB_per_IP": 1.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.6
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.192,
"predicted_H": 0.348,
"predicted_BB": 0.146,
"predicted_SO": 0.328,
"predicted_HR": 0.062,
"predicted_ERA": 4.8869,
"predicted_WHIP": 1.3958
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7463,
"form_weight": 0.2537,
"form_reliability": 0.0619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.33,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0619,
"prior_weight": 0.9381
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.192,
"final": 0.795,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.348,
"final": 1.581,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.146,
"final": 0.037,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.328,
"final": 2.3222,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0157,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8869,
"final": 4.8869,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3958,
"final": 1.3958,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kevin Ginkel |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0133 |
| ESPN Rank | 169 |
| 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 | 9 |
| Season WHIP | 2 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"opponent": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": 0.0072,
"offense_edge": -0.002,
"opponent_offense_edge": -0.0223,
"defense_strength": -0.0277,
"opponent_defense_weakness": -0.0558,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 0.9988,
"strikeout": 1.002
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656464",
"profile": {
"available": true,
"pitcher_id": "656464",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.9,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.9,
"swing_percent": 47.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0508,
"command_and_miss": 0.0154,
"regression_edge": -0.0286,
"xwoba_edge": 0.1,
"barrel_edge": 0.0111,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0071,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656464",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0133,
"sample_weight": 0.45,
"run_prevention_factor": 0.9989,
"strikeout_factor": 1.0006,
"walk_factor": 1.0,
"homer_factor": 0.9982,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656464",
"espn_id": 41432,
"player_name": "Kevin Ginkel",
"team": "ARI",
"role": "pitcher",
"espn_rank": 169,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 169,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.9347,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 6.0,
"hld_rank": 79,
"ip_value": 30.2,
"ip_rank": 277,
"h_value": 27.0,
"h_rank": 265,
"er_value": 10.0,
"er_rank": 351,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 9.0,
"bb_rank": 355,
"k_value": 34.0,
"k_rank": 230,
"k_per_9_value": 9.978261,
"k_per_9_rank": 22,
"whip_value": 1.1739,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9995,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9992,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0003,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 1.0,
"ER": 1,
"H": 2,
"BB": 0,
"SO": 0,
"HR": 0,
"ERA": 9.0,
"WHIP": 2.0,
"K9": 0.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-27T00:00:00"
}{
"available": false,
"pitcher_id": "656464",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.198,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0381,
"prior_weight": 0.9619
},
"role": "pitcher",
"player_id": "656464",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.186,
"predicted_H": 0.362,
"predicted_BB": 0.124,
"predicted_SO": 0.327,
"predicted_HR": 0.05,
"predicted_ERA": 4.6683,
"predicted_WHIP": 1.3551
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7564,
"form_weight": 0.2436,
"form_reliability": 0.0381,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.198,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0381,
"prior_weight": 0.9619
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.186,
"final": 0.8017,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.362,
"final": 0.0882,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.124,
"final": 0.0302,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.327,
"final": 0.8361,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.05,
"final": 0.0122,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6683,
"final": 4.6683,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3551,
"final": 1.3551,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Paul Sewald |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0133 |
| ESPN Rank | 316 |
| 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 | 0 |
| Season WHIP | 0 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"opponent": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": 0.0072,
"offense_edge": -0.002,
"opponent_offense_edge": -0.0223,
"defense_strength": -0.0277,
"opponent_defense_weakness": -0.0558,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0003,
"run_prevention": 0.9988,
"strikeout": 1.002
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623149",
"profile": {
"available": true,
"pitcher_id": "623149",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.9,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.9,
"swing_percent": 47.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0508,
"command_and_miss": 0.0154,
"regression_edge": -0.0286,
"xwoba_edge": 0.1,
"barrel_edge": 0.0111,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0071,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623149",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0133,
"sample_weight": 0.45,
"run_prevention_factor": 0.9989,
"strikeout_factor": 1.0006,
"walk_factor": 1.0,
"homer_factor": 0.9982,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623149",
"espn_id": 35009,
"player_name": "Paul Sewald",
"team": "ARI",
"role": "pitcher",
"espn_rank": 316,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 316,
"gp_value": 32.0,
"gp_rank": 66,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.0344,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 18.0,
"sv_rank": 6,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 29.0,
"ip_rank": 308,
"h_value": 17.0,
"h_rank": 401,
"er_value": 13.0,
"er_rank": 270,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 8.0,
"bb_rank": 386,
"k_value": 33.0,
"k_rank": 241,
"k_per_9_value": 10.241379,
"k_per_9_rank": 21,
"whip_value": 0.862,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9992,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0003,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 0.1,
"ER": 0,
"H": 0,
"BB": 0,
"SO": 0,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.0,
"K9": 0.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": false,
"pitcher_id": "623149",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"role": "pitcher",
"player_id": "623149",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.164,
"predicted_H": 0.319,
"predicted_BB": 0.119,
"predicted_SO": 0.312,
"predicted_HR": 0.048,
"predicted_ERA": 4.4383,
"predicted_WHIP": 1.3123
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.767,
"form_weight": 0.233,
"form_reliability": 0.013,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.164,
"final": 0.0382,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.319,
"final": 0.8413,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.119,
"final": 0.0277,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.312,
"final": 0.8397,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.048,
"final": 0.0112,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4383,
"final": 4.4383,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3123,
"final": 1.3123,
"source": "form_only"
}
}
}{
"available": false,
"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.133 | 0.000 | 0.000 | Hitting_2B | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.890 | 4.000 | 4.000 | Hitting_AB | 3.504 | 4.000 | 0.496 | 0.000 |
| predicted_AVG | 0.226 | 0.000 | 0.250 | Hitting_AVG | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_BB | 0.627 | 0.000 | 1.000 | Hitting_BB | 0.654 | 0.000 | -0.654 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 0.880 | 0.000 | 1.000 | Hitting_H | 0.800 | 0.000 | -0.800 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_OBP | 0.346 | 0.000 | 0.400 | Hitting_OBP | 0.347 | 0.000 | -0.347 | 0.000 |
| predicted_R | 0.467 | 0.000 | 1.000 | Hitting_R | 0.479 | 0.000 | -0.479 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.358 | 0.000 | -0.358 | 0.000 |
| predicted_SLG | 0.335 | 0.000 | 0.250 | Hitting_SLG | 0.340 | 0.000 | -0.340 | 0.000 |
| predicted_SO | 0.533 | 1.000 | 1.000 | Hitting_SO | 0.558 | 0.000 | 0.442 | 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.5330 -> 1.0000 (boost 0.4670, worse) |
| Biggest Deboost | predicted_H: 0.8800 -> 0.0000 (deboost -0.8800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 2 | 4 | 2 | 4 | predicted_BB: 0.6270 -> 0.6911 (boost 0.0641, better) | predicted_AB: 3.8900 -> 3.6978 (deboost -0.1922, worse) | Final model input calibrated with local 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.3235 -> 0.3291 (boost 0.0056, better) | predicted_OBP: 0.3516 -> 0.3437 (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 | 4 | 3 | 3 | 4 | predicted_SO: 0.5783 -> 1.0000 (boost 0.4217, worse) | predicted_RBI: 0.4329 -> 0.0000 (deboost -0.4329, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.210 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5150 -> 1.0000 (boost 0.4850, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3437 -> 0.4000 (boost 0.0563, better) | predicted_SLG: 0.3291 -> 0.2500 (deboost -0.0791, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3291 (boost 0.0791, better) | predicted_OBP: 0.4000 -> 0.3437 (deboost -0.0563, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"position": "DH",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.04,
"predicted_AB": 3.89,
"predicted_AVG": 0.226,
"predicted_BB": 0.627,
"predicted_H": 0.88,
"predicted_HR": 0.08,
"predicted_OBP": 0.346,
"predicted_R": 0.467,
"predicted_RBI": 0.45,
"predicted_SLG": 0.335,
"predicted_SO": 0.533
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.122,
"predicted_3B": 0.0328,
"predicted_AB": 3.6978,
"predicted_AVG": 0.2201,
"predicted_BB": 0.6911,
"predicted_H": 0.8159,
"predicted_HBP": 0.036,
"predicted_HR": 0.0711,
"predicted_OBP": 0.3516,
"predicted_R": 0.5132,
"predicted_RBI": 0.4313,
"predicted_SLG": 0.3235,
"predicted_SO": 0.5784
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.122,
"delta": -0.011,
"percent_delta": -0.0827,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0328,
"delta": -0.0072,
"percent_delta": -0.18,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.89,
"after": 3.6978,
"delta": -0.1922,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2201,
"delta": -0.0059,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.627,
"after": 0.6911,
"delta": 0.0641,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8159,
"delta": -0.0641,
"percent_delta": -0.0728,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0711,
"delta": -0.0089,
"percent_delta": -0.1113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3516,
"delta": 0.0056,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.5132,
"delta": 0.0462,
"percent_delta": 0.0989,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4313,
"delta": -0.0187,
"percent_delta": -0.0416,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3235,
"delta": -0.0115,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.533,
"after": 0.5784,
"delta": 0.0454,
"percent_delta": 0.0852,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.627,
"after": 0.6911,
"delta": 0.0641,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.89,
"after": 3.6978,
"delta": -0.1922,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.122,
"predicted_3B": 0.0328,
"predicted_AB": 3.6978,
"predicted_AVG": 0.221,
"predicted_BB": 0.6912,
"predicted_H": 0.8172,
"predicted_HBP": 0.036,
"predicted_HR": 0.0707,
"predicted_OBP": 0.3437,
"predicted_R": 0.515,
"predicted_RBI": 0.4329,
"predicted_SLG": 0.3291,
"predicted_SO": 0.5783
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0328,
"after": 0.0328,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6978,
"after": 3.6978,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2201,
"after": 0.221,
"delta": 0.0009,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6911,
"after": 0.6912,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8159,
"after": 0.8172,
"delta": 0.0013,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0711,
"after": 0.0707,
"delta": -0.0004,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3516,
"after": 0.3437,
"delta": -0.0079,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5132,
"after": 0.515,
"delta": 0.0018,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4313,
"after": 0.4329,
"delta": 0.0016,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3235,
"after": 0.3291,
"delta": 0.0056,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5784,
"after": 0.5783,
"delta": -0.0001,
"percent_delta": -0.0002,
"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.3235,
"after": 0.3291,
"delta": 0.0056,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3516,
"after": 0.3437,
"delta": -0.0079,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.89), rates preserved: AVG=0.210 HR/AB=0.018",
"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.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0328,
"after": 0.0,
"delta": -0.0328,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6978,
"after": 4.0,
"delta": 0.3022,
"percent_delta": 0.0817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6912,
"after": 1.0,
"delta": 0.3088,
"percent_delta": 0.4468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8172,
"after": 1.0,
"delta": 0.1828,
"percent_delta": 0.2237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0707,
"after": 0.0,
"delta": -0.0707,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4329,
"after": 0.0,
"delta": -0.4329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5783,
"after": 1.0,
"delta": 0.4217,
"percent_delta": 0.7292,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5783,
"after": 1.0,
"delta": 0.4217,
"percent_delta": 0.7292,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4329,
"after": 0.0,
"delta": -0.4329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"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.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.25,
"delta": 0.029,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3437,
"after": 0.4,
"delta": 0.0563,
"percent_delta": 0.1638,
"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.3291,
"after": 0.25,
"delta": -0.0791,
"percent_delta": -0.2404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3437,
"after": 0.4,
"delta": 0.0563,
"percent_delta": 0.1638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3291,
"after": 0.25,
"delta": -0.0791,
"percent_delta": -0.2404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.221,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3437,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3291,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.221,
"delta": -0.029,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3437,
"delta": -0.0563,
"percent_delta": -0.1408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3291,
"delta": 0.0791,
"percent_delta": 0.3164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3291,
"delta": 0.0791,
"percent_delta": 0.3164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3437,
"delta": -0.0563,
"percent_delta": -0.1408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.89,
"after": 4.0,
"delta": 0.11,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.221,
"delta": -0.005,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3437,
"delta": -0.0023,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3291,
"delta": -0.0059,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"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.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 3.890 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.627 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.467 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.335 | - |
| predicted_SO | 0.533 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | -0.011 |
| predicted_3B | 0.033 | -0.007 |
| predicted_AB | 3.698 | -0.192 |
| predicted_AVG | 0.220 | -0.006 |
| predicted_BB | 0.691 | 0.064 |
| predicted_H | 0.816 | -0.064 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.071 | -0.009 |
| predicted_OBP | 0.352 | 0.006 |
| predicted_R | 0.513 | 0.046 |
| predicted_RBI | 0.431 | -0.019 |
| predicted_SLG | 0.324 | -0.012 |
| predicted_SO | 0.578 | 0.045 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.698 | 0.000 |
| predicted_AVG | 0.221 | 0.001 |
| predicted_BB | 0.691 | 0.000 |
| predicted_H | 0.817 | 0.001 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.071 | -0.000 |
| predicted_OBP | 0.344 | -0.008 |
| predicted_R | 0.515 | 0.002 |
| predicted_RBI | 0.433 | 0.002 |
| predicted_SLG | 0.329 | 0.006 |
| predicted_SO | 0.578 | -0.000 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.210 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | 0.302 |
| predicted_AVG | 0.250 | 0.029 |
| predicted_BB | 1.000 | 0.309 |
| predicted_H | 1.000 | 0.183 |
| predicted_HR | 0.000 | -0.071 |
| predicted_OBP | 0.400 | 0.056 |
| predicted_R | 1.000 | 0.485 |
| predicted_RBI | 0.000 | -0.433 |
| predicted_SLG | 0.250 | -0.079 |
| predicted_SO | 1.000 | 0.422 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -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 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 6.000 | 4.000 | 0.1176 | 0.3478 | 0.1176 | 0.1177 | 0.0000 | 0.1177 | 0.3529 | 0.2353 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 1.000 | 0.000 | 1.000 | 5.000 | 7.000 | 10.000 | 7.000 | 0.2121 | 0.4091 | 0.3333 | 0.2121 | 0.0303 | 0.1515 | 0.3030 | 0.2121 |
| season | 0.60 | 75 | - | 257.000 | 61.000 | 10.000 | 3.000 | 4.000 | 27.000 | 35.000 | 47.000 | 40.000 | 0.2374 | 0.3537 | 0.3463 | 0.2374 | 0.0156 | 0.1051 | 0.1829 | 0.1556 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0230 |
| predicted_AB | 3.4370 |
| predicted_AVG | 0.2121 |
| predicted_BB | 0.7780 |
| predicted_H | 0.7290 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.3592 |
| predicted_R | 0.5760 |
| predicted_RBI | 0.4060 |
| predicted_SLG | 0.3078 |
| predicted_SO | 0.6400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1070 | 0.1220 | model_form_blend |
| predicted_3B | 0.0400 | 0.0230 | 0.0328 | model_form_blend |
| predicted_AB | 3.8900 | 3.4370 | 3.6978 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2121 | 0.2201 | model_form_blend |
| predicted_BB | 0.6270 | 0.7780 | 0.6911 | model_form_blend |
| predicted_H | 0.8800 | 0.7290 | 0.8159 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.0800 | 0.0590 | 0.0711 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3592 | 0.3516 | model_form_blend |
| predicted_R | 0.4670 | 0.5760 | 0.5132 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4060 | 0.4313 | model_form_blend |
| predicted_SLG | 0.3350 | 0.3078 | 0.3235 | model_form_blend |
| predicted_SO | 0.5330 | 0.6400 | 0.5784 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 240 |
| Season rows before report date | 240 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.237 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 672695 |
| playerID | 672695 |
| playerName | Geraldo Perdomo |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 12.3 |
| sl_bb_percent | 14.8 |
| sl_woba | 0.314 |
| sl_xwoba | 0.329 |
| sl_xba | 0.254 |
| sl_xslg | 0.334 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 31.2 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 11.9 |
| sl_swing_percent | 39.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 2.625 | 4.000 | 3.000 | Hitting_AB | 2.690 | 2.000 | 1.310 | 2.000 |
| predicted_AVG | 0.263 | 0.250 | 0.333 | Hitting_AVG | 0.192 | 0.000 | 0.058 | 0.250 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 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.517 | 0.000 | 0.483 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_OBP | 0.287 | 0.250 | 0.333 | Hitting_OBP | 0.270 | 0.000 | -0.020 | 0.250 |
| predicted_R | 0.350 | 0.000 | 0.000 | Hitting_R | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_SLG | 0.400 | 0.250 | 0.333 | Hitting_SLG | 0.359 | 0.000 | -0.109 | 0.250 |
| predicted_SO | 0.875 | 0.000 | 1.000 | Hitting_SO | 0.922 | 0.000 | -0.922 | 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.6250 -> 4.0000 (boost 1.3750, better) |
| Biggest Deboost | predicted_SO: 0.8750 -> 0.0000 (deboost -0.8750, 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.4093 (boost 0.0093, better) | predicted_AVG: 0.2630 -> 0.2446 (deboost -0.0184, worse) | Final model input calibrated with local 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.4093 -> 0.4414 (boost 0.0321, better) | predicted_AVG: 0.2446 -> 0.2216 (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 | 3 | 4 | 2 | 5 | predicted_H: 0.5882 -> 1.0000 (boost 0.4118, better) | predicted_RBI: 0.3172 -> 0.0000 (deboost -0.3172, worse) | AB rounded to 3 (raw=2.65), rates preserved: AVG=0.222 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3919 -> 0.0000 (deboost -0.3919, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2216 -> 0.3330 (boost 0.1114, better) | predicted_SLG: 0.4414 -> 0.3330 (deboost -0.1084, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | 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 |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4414 (boost 0.1084, better) | predicted_AVG: 0.3330 -> 0.2216 (deboost -0.1114, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678489",
"player_name": "Jorge Barrosa",
"position": "C",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.025,
"predicted_AB": 2.625,
"predicted_AVG": 0.263,
"predicted_BB": 0.2,
"predicted_H": 0.59,
"predicted_HR": 0.1,
"predicted_OBP": 0.287,
"predicted_R": 0.35,
"predicted_RBI": 0.32,
"predicted_SLG": 0.4,
"predicted_SO": 0.875
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2356,
"predicted_3B": 0.0207,
"predicted_AB": 2.6546,
"predicted_AVG": 0.2446,
"predicted_BB": 0.2016,
"predicted_H": 0.5873,
"predicted_HBP": 0.017,
"predicted_HR": 0.1027,
"predicted_OBP": 0.2825,
"predicted_R": 0.3905,
"predicted_RBI": 0.3161,
"predicted_SLG": 0.4093,
"predicted_SO": 0.8555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2356,
"delta": -0.0144,
"percent_delta": -0.0576,
"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": 2.625,
"after": 2.6546,
"delta": 0.0296,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2446,
"delta": -0.0184,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2016,
"delta": 0.0016,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.5873,
"delta": -0.0027,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1027,
"delta": 0.0027,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2825,
"delta": -0.0045,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.35,
"after": 0.3905,
"delta": 0.0405,
"percent_delta": 0.1157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3161,
"delta": -0.0039,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4093,
"delta": 0.0093,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.875,
"after": 0.8555,
"delta": -0.0195,
"percent_delta": -0.0223,
"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.4093,
"delta": 0.0093,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2446,
"delta": -0.0184,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2356,
"predicted_3B": 0.0207,
"predicted_AB": 2.6546,
"predicted_AVG": 0.2216,
"predicted_BB": 0.2016,
"predicted_H": 0.5882,
"predicted_HBP": 0.017,
"predicted_HR": 0.1021,
"predicted_OBP": 0.2765,
"predicted_R": 0.3919,
"predicted_RBI": 0.3172,
"predicted_SLG": 0.4414,
"predicted_SO": 0.8554
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2356,
"after": 0.2356,
"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": 2.6546,
"after": 2.6546,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.2216,
"delta": -0.023,
"percent_delta": -0.094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2016,
"after": 0.2016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5873,
"after": 0.5882,
"delta": 0.0009,
"percent_delta": 0.0015,
"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.1027,
"after": 0.1021,
"delta": -0.0006,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2825,
"after": 0.2765,
"delta": -0.006,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3905,
"after": 0.3919,
"delta": 0.0014,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3161,
"after": 0.3172,
"delta": 0.0011,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4093,
"after": 0.4414,
"delta": 0.0321,
"percent_delta": 0.0784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8555,
"after": 0.8554,
"delta": -0.0001,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_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.4093,
"after": 0.4414,
"delta": 0.0321,
"percent_delta": 0.0784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.2216,
"delta": -0.023,
"percent_delta": -0.094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.65), rates preserved: AVG=0.222 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.2356,
"after": 0.0,
"delta": -0.2356,
"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": 2.6546,
"after": 3.0,
"delta": 0.3454,
"percent_delta": 0.1301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2016,
"after": 0.0,
"delta": -0.2016,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5882,
"after": 1.0,
"delta": 0.4118,
"percent_delta": 0.7001,
"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.1021,
"after": 0.0,
"delta": -0.1021,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3172,
"after": 0.0,
"delta": -0.3172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8554,
"after": 1.0,
"delta": 0.1446,
"percent_delta": 0.169,
"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.5882,
"after": 1.0,
"delta": 0.4118,
"percent_delta": 0.7001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3172,
"after": 0.0,
"delta": -0.3172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3919,
"after": 0.0,
"delta": -0.3919,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3919,
"after": 0.0,
"delta": -0.3919,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2216,
"after": 0.333,
"delta": 0.1114,
"percent_delta": 0.5027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2765,
"after": 0.333,
"delta": 0.0565,
"percent_delta": 0.2043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4414,
"after": 0.333,
"delta": -0.1084,
"percent_delta": -0.2456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2216,
"after": 0.333,
"delta": 0.1114,
"percent_delta": 0.5027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4414,
"after": 0.333,
"delta": -0.1084,
"percent_delta": -0.2456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2216,
"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.2765,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4414,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2216,
"delta": -0.1114,
"percent_delta": -0.3346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2765,
"delta": -0.0565,
"percent_delta": -0.1695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4414,
"delta": 0.1084,
"percent_delta": 0.3254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4414,
"delta": 0.1084,
"percent_delta": 0.3254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2216,
"delta": -0.1114,
"percent_delta": -0.3346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.625,
"after": 4.0,
"delta": 1.375,
"percent_delta": 0.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2216,
"delta": -0.0414,
"percent_delta": -0.1574,
"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": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"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.287,
"after": 0.2765,
"delta": -0.0105,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4414,
"delta": 0.0414,
"percent_delta": 0.1035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.875,
"after": 0.0,
"delta": -0.875,
"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.625,
"after": 4.0,
"delta": 1.375,
"percent_delta": 0.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.875,
"after": 0.0,
"delta": -0.875,
"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.250 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 2.625 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.350 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.400 | - |
| predicted_SO | 0.875 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.236 | -0.014 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 2.655 | 0.030 |
| predicted_AVG | 0.245 | -0.018 |
| predicted_BB | 0.202 | 0.002 |
| predicted_H | 0.587 | -0.003 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.103 | 0.003 |
| predicted_OBP | 0.282 | -0.005 |
| predicted_R | 0.391 | 0.041 |
| predicted_RBI | 0.316 | -0.004 |
| predicted_SLG | 0.409 | 0.009 |
| predicted_SO | 0.856 | -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.236 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 2.655 | 0.000 |
| predicted_AVG | 0.222 | -0.023 |
| predicted_BB | 0.202 | 0.000 |
| predicted_H | 0.588 | 0.001 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.102 | -0.001 |
| predicted_OBP | 0.277 | -0.006 |
| predicted_R | 0.392 | 0.001 |
| predicted_RBI | 0.317 | 0.001 |
| predicted_SLG | 0.441 | 0.032 |
| predicted_SO | 0.855 | -0.000 |
AB rounded to 3 (raw=2.65), rates preserved: AVG=0.222 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.236 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | 0.345 |
| predicted_AVG | 0.333 | 0.111 |
| predicted_BB | 0.000 | -0.202 |
| predicted_H | 1.000 | 0.412 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.333 | 0.056 |
| predicted_R | 0.000 | -0.392 |
| predicted_RBI | 0.000 | -0.317 |
| predicted_SLG | 0.333 | -0.108 |
| predicted_SO | 1.000 | 0.145 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 3.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.3000 | 0.3636 | 0.7000 | 0.3000 | 0.1000 | 0.2000 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 21.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 1.000 | 5.000 | 0.1905 | 0.2273 | 0.3810 | 0.1905 | 0.0476 | 0.0952 | 0.0476 | 0.2381 |
| season | 0.60 | 40 | - | 105.000 | 19.000 | 10.000 | 1.000 | 2.000 | 9.000 | 14.000 | 8.000 | 35.000 | 0.1810 | 0.2456 | 0.3524 | 0.1809 | 0.0191 | 0.0857 | 0.0762 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2130 |
| predicted_3B | 0.0140 |
| predicted_AB | 2.7010 |
| predicted_AVG | 0.2158 |
| predicted_BB | 0.2040 |
| predicted_H | 0.5830 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1070 |
| predicted_OBP | 0.2755 |
| predicted_R | 0.4540 |
| predicted_RBI | 0.3100 |
| predicted_SLG | 0.4240 |
| predicted_SO | 0.8250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2130 | 0.2356 | model_form_blend |
| predicted_3B | 0.0250 | 0.0140 | 0.0207 | model_form_blend |
| predicted_AB | 2.6250 | 2.7010 | 2.6546 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2158 | 0.2446 | model_form_blend |
| predicted_BB | 0.2000 | 0.2040 | 0.2016 | model_form_blend |
| predicted_H | 0.5900 | 0.5830 | 0.5873 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1000 | 0.1070 | 0.1027 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2755 | 0.2825 | model_form_blend |
| predicted_R | 0.3500 | 0.4540 | 0.3905 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3100 | 0.3161 | model_form_blend |
| predicted_SLG | 0.4000 | 0.4240 | 0.4093 | model_form_blend |
| predicted_SO | 0.8750 | 0.8250 | 0.8555 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 116 |
| Season rows before report date | 116 |
| 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 | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.181 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260621_MIN@ARI |
| game_type | full |
| mlbID | 678489 |
| playerID | 678489 |
| playerName | Jorge Barrosa |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-21 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.267 |
| sl_xwoba | 0.211 |
| sl_xba | 0.148 |
| sl_xslg | 0.237 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 23.0 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 18.4 |
| sl_whiff_percent | 27.7 |
| 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.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.750 | 4.000 | 3.000 | Hitting_AB | 2.667 | 3.000 | 1.333 | 1.000 |
| predicted_AVG | 0.248 | 0.500 | 0.333 | Hitting_AVG | 0.172 | 0.000 | 0.328 | 0.500 |
| predicted_BB | 0.353 | 0.000 | 0.000 | Hitting_BB | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 2.000 | 1.000 | Hitting_H | 0.458 | 0.000 | 1.542 | 2.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.042 | 0.000 | 0.958 | 1.000 |
| predicted_OBP | 0.295 | 0.500 | 0.333 | Hitting_OBP | 0.308 | 0.000 | 0.192 | 0.500 |
| predicted_R | 0.235 | 1.000 | 0.000 | Hitting_R | 0.292 | 0.000 | 0.708 | 1.000 |
| predicted_RBI | 0.370 | 1.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_SLG | 0.349 | 1.250 | 0.333 | Hitting_SLG | 0.219 | 0.000 | 1.031 | 1.250 |
| predicted_SO | 0.706 | 1.000 | 1.000 | Hitting_SO | 0.750 | 0.000 | 0.250 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 2 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.6800 -> 2.0000 (boost 1.3200, better) |
| Biggest Deboost | predicted_BB: 0.3530 -> 0.0000 (deboost -0.3530, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9311 (boost 0.1811, better) | predicted_AVG: 0.2480 -> 0.2393 (deboost -0.0087, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2924 -> 0.3159 (boost 0.0235, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_H: 0.6983 -> 1.0000 (boost 0.3017, better) | predicted_RBI: 0.3747 -> 0.0000 (deboost -0.3747, worse) | AB rounded to 3 (raw=2.93), rates preserved: AVG=0.238 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2763 -> 0.0000 (deboost -0.2763, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2382 -> 0.3330 (boost 0.0948, better) | predicted_SLG: 0.3502 -> 0.3330 (deboost -0.0172, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3502 (boost 0.0172, better) | predicted_AVG: 0.3330 -> 0.2382 (deboost -0.0948, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656976",
"player_name": "Pavin Smith",
"position": "1B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.75,
"predicted_AVG": 0.248,
"predicted_BB": 0.353,
"predicted_H": 0.68,
"predicted_HR": 0.1,
"predicted_OBP": 0.295,
"predicted_R": 0.235,
"predicted_RBI": 0.37,
"predicted_SLG": 0.349,
"predicted_SO": 0.706
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.02,
"predicted_3B": 0.0017,
"predicted_AB": 2.9311,
"predicted_AVG": 0.2393,
"predicted_BB": 0.3327,
"predicted_H": 0.6972,
"predicted_HBP": 0.011,
"predicted_HR": 0.1021,
"predicted_OBP": 0.2924,
"predicted_R": 0.2753,
"predicted_RBI": 0.3734,
"predicted_SLG": 0.3458,
"predicted_SO": 0.7225
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.02,
"delta": 0.02,
"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.75,
"after": 2.9311,
"delta": 0.1811,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2393,
"delta": -0.0087,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.3327,
"delta": -0.0203,
"percent_delta": -0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.6972,
"delta": 0.0172,
"percent_delta": 0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1021,
"delta": 0.0021,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2924,
"delta": -0.0026,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.235,
"after": 0.2753,
"delta": 0.0403,
"percent_delta": 0.1715,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3734,
"delta": 0.0034,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3458,
"delta": -0.0032,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.706,
"after": 0.7225,
"delta": 0.0165,
"percent_delta": 0.0234,
"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.9311,
"delta": 0.1811,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2393,
"delta": -0.0087,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.02,
"predicted_3B": 0.0017,
"predicted_AB": 2.9311,
"predicted_AVG": 0.2382,
"predicted_BB": 0.3327,
"predicted_H": 0.6983,
"predicted_HBP": 0.011,
"predicted_HR": 0.1015,
"predicted_OBP": 0.3159,
"predicted_R": 0.2763,
"predicted_RBI": 0.3747,
"predicted_SLG": 0.3502,
"predicted_SO": 0.7224
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.02,
"after": 0.02,
"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.9311,
"after": 2.9311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2393,
"after": 0.2382,
"delta": -0.0011,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3327,
"after": 0.3327,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6972,
"after": 0.6983,
"delta": 0.0011,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1021,
"after": 0.1015,
"delta": -0.0006,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2924,
"after": 0.3159,
"delta": 0.0235,
"percent_delta": 0.0804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2753,
"after": 0.2763,
"delta": 0.001,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3734,
"after": 0.3747,
"delta": 0.0013,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3458,
"after": 0.3502,
"delta": 0.0044,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7225,
"after": 0.7224,
"delta": -0.0001,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_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.2924,
"after": 0.3159,
"delta": 0.0235,
"percent_delta": 0.0804,
"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.93), rates preserved: AVG=0.238 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.02,
"after": 0.0,
"delta": -0.02,
"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.9311,
"after": 3.0,
"delta": 0.0689,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3327,
"after": 0.0,
"delta": -0.3327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6983,
"after": 1.0,
"delta": 0.3017,
"percent_delta": 0.432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1015,
"after": 0.0,
"delta": -0.1015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3747,
"after": 0.0,
"delta": -0.3747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7224,
"after": 1.0,
"delta": 0.2776,
"percent_delta": 0.3843,
"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.6983,
"after": 1.0,
"delta": 0.3017,
"percent_delta": 0.432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3747,
"after": 0.0,
"delta": -0.3747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2763,
"after": 0.0,
"delta": -0.2763,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2763,
"after": 0.0,
"delta": -0.2763,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2382,
"after": 0.333,
"delta": 0.0948,
"percent_delta": 0.398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3159,
"after": 0.333,
"delta": 0.0171,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3502,
"after": 0.333,
"delta": -0.0172,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2382,
"after": 0.333,
"delta": 0.0948,
"percent_delta": 0.398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3502,
"after": 0.333,
"delta": -0.0172,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2382,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3159,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3502,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2382,
"delta": -0.0948,
"percent_delta": -0.2846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3159,
"delta": -0.0171,
"percent_delta": -0.0513,
"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.3502,
"delta": 0.0172,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3502,
"delta": 0.0172,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2382,
"delta": -0.0948,
"percent_delta": -0.2846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.75,
"after": 4.0,
"delta": 1.25,
"percent_delta": 0.4545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2382,
"delta": -0.0098,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.3159,
"delta": 0.0209,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3502,
"delta": 0.0012,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.706,
"after": 1.0,
"delta": 0.294,
"percent_delta": 0.4164,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.750 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.353 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.235 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.349 | - |
| predicted_SO | 0.706 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.020 | 0.020 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.931 | 0.181 |
| predicted_AVG | 0.239 | -0.009 |
| predicted_BB | 0.333 | -0.020 |
| predicted_H | 0.697 | 0.017 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.102 | 0.002 |
| predicted_OBP | 0.292 | -0.003 |
| predicted_R | 0.275 | 0.040 |
| predicted_RBI | 0.373 | 0.003 |
| predicted_SLG | 0.346 | -0.003 |
| predicted_SO | 0.723 | 0.017 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.020 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.931 | 0.000 |
| predicted_AVG | 0.238 | -0.001 |
| predicted_BB | 0.333 | 0.000 |
| predicted_H | 0.698 | 0.001 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.102 | -0.001 |
| predicted_OBP | 0.316 | 0.024 |
| predicted_R | 0.276 | 0.001 |
| predicted_RBI | 0.375 | 0.001 |
| predicted_SLG | 0.350 | 0.004 |
| predicted_SO | 0.722 | -0.000 |
AB rounded to 3 (raw=2.93), rates preserved: AVG=0.238 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.020 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.069 |
| predicted_AVG | 0.333 | 0.095 |
| predicted_BB | 0.000 | -0.333 |
| predicted_H | 1.000 | 0.302 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.333 | 0.017 |
| predicted_R | 0.000 | -0.276 |
| predicted_RBI | 0.000 | -0.375 |
| predicted_SLG | 0.333 | -0.017 |
| predicted_SO | 1.000 | 0.278 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 3.000 | 0.2941 | 0.2941 | 0.4706 | 0.2941 | 0.0588 | 0.1177 | 0.0000 | 0.1765 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 7.000 | 0.2188 | 0.2778 | 0.3125 | 0.2188 | 0.0312 | 0.0938 | 0.0938 | 0.2188 |
| season | 0.60 | 17 | - | 46.000 | 8.000 | 0.000 | 0.000 | 1.000 | 5.000 | 4.000 | 6.000 | 12.000 | 0.1739 | 0.2642 | 0.2391 | 0.1739 | 0.0217 | 0.1087 | 0.1304 | 0.2609 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0580 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.2760 |
| predicted_AVG | 0.2227 |
| predicted_BB | 0.2940 |
| predicted_H | 0.7300 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.2875 |
| predicted_R | 0.3520 |
| predicted_RBI | 0.3800 |
| predicted_SLG | 0.3398 |
| predicted_SO | 0.7540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0580 | 0.0200 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.7500 | 3.2760 | 2.9311 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2227 | 0.2393 | model_form_blend |
| predicted_BB | 0.3530 | 0.2940 | 0.3327 | model_form_blend |
| predicted_H | 0.6800 | 0.7300 | 0.6972 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1000 | 0.1060 | 0.1021 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2875 | 0.2924 | model_form_blend |
| predicted_R | 0.2350 | 0.3520 | 0.2753 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3800 | 0.3734 | model_form_blend |
| predicted_SLG | 0.3490 | 0.3398 | 0.3458 | model_form_blend |
| predicted_SO | 0.7060 | 0.7540 | 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 | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.174 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 656976 |
| playerID | 656976 |
| playerName | Pavin Smith |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 15.5 |
| sl_woba | 0.252 |
| sl_xwoba | 0.265 |
| sl_xba | 0.168 |
| sl_xslg | 0.228 |
| sl_sweet_spot_percent | 18.9 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 29.7 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 17.8 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.219 | 1.000 | 0.000 | Hitting_2B | 0.207 | 0.000 | 0.793 | 1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 4.460 | 4.000 | 4.000 | Hitting_AB | 4.207 | 4.000 | -0.207 | 0.000 |
| predicted_AVG | 0.256 | 0.250 | 0.250 | Hitting_AVG | 0.275 | 0.500 | -0.025 | -0.250 |
| predicted_BB | 0.315 | 0.000 | 0.000 | Hitting_BB | 0.301 | 0.000 | -0.301 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.140 | 1.000 | 1.000 | Hitting_H | 1.159 | 2.000 | -0.159 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_OBP | 0.350 | 0.250 | 0.250 | Hitting_OBP | 0.322 | 0.500 | -0.072 | -0.250 |
| predicted_R | 0.562 | 0.000 | 1.000 | Hitting_R | 0.638 | 0.000 | -0.638 | 0.000 |
| predicted_RBI | 0.690 | 0.000 | 1.000 | Hitting_RBI | 0.650 | 0.000 | -0.650 | 0.000 |
| predicted_SLG | 0.465 | 0.500 | 0.250 | Hitting_SLG | 0.467 | 0.500 | 0.033 | 0.000 |
| predicted_SO | 0.630 | 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.6300 -> 2.0000 (boost 1.3700, worse) |
| Biggest Deboost | predicted_RBI: 0.6900 -> 0.0000 (deboost -0.6900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_AVG: 0.2560 -> 0.2757 (boost 0.0197, better) | predicted_AB: 4.4600 -> 4.2368 (deboost -0.2232, worse) | Final model input calibrated with local 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.3566 -> 0.3268 (deboost -0.0298, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.5763 -> 1.0000 (boost 0.4237, worse) | predicted_BB: 0.3286 -> 0.0000 (deboost -0.3286, worse) | AB rounded to 4 (raw=4.46), rates preserved: AVG=0.261 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5358 -> 1.0000 (boost 0.4642, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4575 -> 0.2500 (deboost -0.2075, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4575 (boost 0.2075, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "2B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.219,
"predicted_3B": 0.027,
"predicted_AB": 4.46,
"predicted_AVG": 0.256,
"predicted_BB": 0.315,
"predicted_H": 1.14,
"predicted_HR": 0.17,
"predicted_OBP": 0.35,
"predicted_R": 0.562,
"predicted_RBI": 0.69,
"predicted_SLG": 0.465,
"predicted_SO": 0.63
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2398,
"predicted_3B": 0.0223,
"predicted_AB": 4.2368,
"predicted_AVG": 0.2757,
"predicted_BB": 0.3286,
"predicted_H": 1.1613,
"predicted_HBP": 0.069,
"predicted_HR": 0.1645,
"predicted_OBP": 0.3566,
"predicted_R": 0.5339,
"predicted_RBI": 0.6896,
"predicted_SLG": 0.4792,
"predicted_SO": 0.5764
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 0.2398,
"delta": 0.0208,
"percent_delta": 0.095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0223,
"delta": -0.0047,
"percent_delta": -0.1741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.46,
"after": 4.2368,
"delta": -0.2232,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2757,
"delta": 0.0197,
"percent_delta": 0.077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.3286,
"delta": 0.0136,
"percent_delta": 0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.1613,
"delta": 0.0213,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1645,
"delta": -0.0055,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3566,
"delta": 0.0066,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 0.5339,
"delta": -0.0281,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.6896,
"delta": -0.0004,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4792,
"delta": 0.0142,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 0.5764,
"delta": -0.0536,
"percent_delta": -0.0851,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2757,
"delta": 0.0197,
"percent_delta": 0.077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.46,
"after": 4.2368,
"delta": -0.2232,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2398,
"predicted_3B": 0.0223,
"predicted_AB": 4.2368,
"predicted_AVG": 0.2745,
"predicted_BB": 0.3286,
"predicted_H": 1.1632,
"predicted_HBP": 0.069,
"predicted_HR": 0.1636,
"predicted_OBP": 0.3268,
"predicted_R": 0.5358,
"predicted_RBI": 0.6921,
"predicted_SLG": 0.4575,
"predicted_SO": 0.5763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2398,
"after": 0.2398,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0223,
"after": 0.0223,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2368,
"after": 4.2368,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2757,
"after": 0.2745,
"delta": -0.0012,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3286,
"after": 0.3286,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1613,
"after": 1.1632,
"delta": 0.0019,
"percent_delta": 0.0016,
"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.1645,
"after": 0.1636,
"delta": -0.0009,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3566,
"after": 0.3268,
"delta": -0.0298,
"percent_delta": -0.0836,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5339,
"after": 0.5358,
"delta": 0.0019,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6896,
"after": 0.6921,
"delta": 0.0025,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4792,
"after": 0.4575,
"delta": -0.0217,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5764,
"after": 0.5763,
"delta": -0.0001,
"percent_delta": -0.0002,
"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.3566,
"after": 0.3268,
"delta": -0.0298,
"percent_delta": -0.0836,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.46), rates preserved: AVG=0.261 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2398,
"after": 0.0,
"delta": -0.2398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0223,
"after": 0.0,
"delta": -0.0223,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2368,
"after": 4.0,
"delta": -0.2368,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3286,
"after": 0.0,
"delta": -0.3286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1632,
"after": 1.0,
"delta": -0.1632,
"percent_delta": -0.1403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1636,
"after": 0.0,
"delta": -0.1636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6921,
"after": 1.0,
"delta": 0.3079,
"percent_delta": 0.4449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5763,
"after": 1.0,
"delta": 0.4237,
"percent_delta": 0.7352,
"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.5763,
"after": 1.0,
"delta": 0.4237,
"percent_delta": 0.7352,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3286,
"after": 0.0,
"delta": -0.3286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5358,
"after": 1.0,
"delta": 0.4642,
"percent_delta": 0.8664,
"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.5358,
"after": 1.0,
"delta": 0.4642,
"percent_delta": 0.8664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2745,
"after": 0.25,
"delta": -0.0245,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3268,
"after": 0.25,
"delta": -0.0768,
"percent_delta": -0.235,
"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.4575,
"after": 0.25,
"delta": -0.2075,
"percent_delta": -0.4536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4575,
"after": 0.25,
"delta": -0.2075,
"percent_delta": -0.4536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2745,
"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.3268,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4575,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2745,
"delta": 0.0245,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3268,
"delta": 0.0768,
"percent_delta": 0.307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4575,
"delta": 0.2075,
"percent_delta": 0.83,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4575,
"delta": 0.2075,
"percent_delta": 0.83,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 1.0,
"delta": 0.781,
"percent_delta": 3.5662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.46,
"after": 4.0,
"delta": -0.46,
"percent_delta": -0.1031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2745,
"delta": 0.0185,
"percent_delta": 0.0723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.0,
"delta": -0.315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0,
"delta": -0.14,
"percent_delta": -0.1228,
"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.35,
"after": 0.3268,
"delta": -0.0232,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 0.0,
"delta": -0.562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4575,
"delta": -0.0075,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 2.0,
"delta": 1.37,
"percent_delta": 2.1746,
"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.63,
"after": 2.0,
"delta": 1.37,
"percent_delta": 2.1746,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.219 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 4.460 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.562 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.465 | - |
| predicted_SO | 0.630 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.240 | 0.021 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 4.237 | -0.223 |
| predicted_AVG | 0.276 | 0.020 |
| predicted_BB | 0.329 | 0.014 |
| predicted_H | 1.161 | 0.021 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.165 | -0.006 |
| predicted_OBP | 0.357 | 0.007 |
| predicted_R | 0.534 | -0.028 |
| predicted_RBI | 0.690 | -0.000 |
| predicted_SLG | 0.479 | 0.014 |
| predicted_SO | 0.576 | -0.054 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.240 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 4.237 | 0.000 |
| predicted_AVG | 0.275 | -0.001 |
| predicted_BB | 0.329 | 0.000 |
| predicted_H | 1.163 | 0.002 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.164 | -0.001 |
| predicted_OBP | 0.327 | -0.030 |
| predicted_R | 0.536 | 0.002 |
| predicted_RBI | 0.692 | 0.003 |
| predicted_SLG | 0.458 | -0.022 |
| predicted_SO | 0.576 | -0.000 |
AB rounded to 4 (raw=4.46), rates preserved: AVG=0.261 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.240 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | -0.237 |
| predicted_AVG | 0.250 | -0.025 |
| predicted_BB | 0.000 | -0.329 |
| predicted_H | 1.000 | -0.163 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.250 | -0.077 |
| predicted_R | 1.000 | 0.464 |
| predicted_RBI | 1.000 | 0.308 |
| predicted_SLG | 0.250 | -0.208 |
| predicted_SO | 1.000 | 0.424 |
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 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 2.000 | 0.000 | 1.000 | 5.000 | 2.000 | 2.000 | 1.000 | 0.3889 | 0.4762 | 0.6667 | 0.3889 | 0.0556 | 0.2778 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 10 | - | 39.000 | 14.000 | 3.000 | 0.000 | 1.000 | 6.000 | 4.000 | 4.000 | 3.000 | 0.3590 | 0.4318 | 0.5128 | 0.3590 | 0.0256 | 0.1538 | 0.1026 | 0.0769 |
| season | 0.60 | 73 | - | 297.000 | 78.000 | 16.000 | 2.000 | 12.000 | 46.000 | 41.000 | 23.000 | 46.000 | 0.2626 | 0.3148 | 0.4512 | 0.2626 | 0.0404 | 0.1549 | 0.0774 | 0.1549 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2680 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.9350 |
| predicted_AVG | 0.3023 |
| predicted_BB | 0.3470 |
| predicted_H | 1.1900 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.3656 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.6890 |
| predicted_SLG | 0.4984 |
| predicted_SO | 0.5040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2190 | 0.2680 | 0.2398 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0223 | model_form_blend |
| predicted_AB | 4.4600 | 3.9350 | 4.2368 | model_form_blend |
| predicted_AVG | 0.2560 | 0.3023 | 0.2757 | model_form_blend |
| predicted_BB | 0.3150 | 0.3470 | 0.3286 | model_form_blend |
| predicted_H | 1.1400 | 1.1900 | 1.1613 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.1700 | 0.1570 | 0.1645 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3656 | 0.3566 | model_form_blend |
| predicted_R | 0.5620 | 0.4960 | 0.5339 | model_form_blend |
| predicted_RBI | 0.6900 | 0.6890 | 0.6896 | model_form_blend |
| predicted_SLG | 0.4650 | 0.4984 | 0.4792 | model_form_blend |
| predicted_SO | 0.6300 | 0.5040 | 0.5764 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 246 |
| Season rows before report date | 246 |
| Report year | 2026 |
| Profile rows used | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.263 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 606466 |
| playerID | 606466 |
| playerName | Ketel Marte |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 14.0 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.338 |
| sl_xwoba | 0.371 |
| sl_xba | 0.302 |
| sl_xslg | 0.502 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 46.2 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 20.5 |
| 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.235 | 1.000 | 0.000 | Hitting_2B | 0.232 | 0.000 | 0.768 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.620 | 4.000 | 4.000 | Hitting_AB | 3.613 | 3.000 | 0.387 | 1.000 |
| predicted_AVG | 0.264 | 0.250 | 0.250 | Hitting_AVG | 0.267 | 0.333 | -0.017 | -0.083 |
| predicted_BB | 0.412 | 0.000 | 0.000 | Hitting_BB | 0.380 | 1.000 | -0.380 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.950 | 1.000 | 1.000 | Hitting_H | 0.965 | 1.000 | 0.035 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.360 | 0.250 | 0.250 | Hitting_OBP | 0.337 | 0.500 | -0.087 | -0.250 |
| predicted_R | 0.471 | 0.000 | 0.000 | Hitting_R | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_SLG | 0.454 | 0.500 | 0.250 | Hitting_SLG | 0.425 | 0.333 | 0.075 | 0.167 |
| predicted_SO | 0.686 | 1.000 | 1.000 | Hitting_SO | 0.817 | 0.000 | 0.183 | 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_2B: 0.2350 -> 1.0000 (boost 0.7650, better) |
| Biggest Deboost | predicted_RBI: 0.4900 -> 0.0000 (deboost -0.4900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.9500 -> 1.0044 (boost 0.0544, 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.3683 -> 0.3539 (deboost -0.0144, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.4943 -> 1.0000 (boost 0.5057, better) | predicted_BB: 0.4264 -> 0.0000 (deboost -0.4264, worse) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.278 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4454 -> 0.0000 (deboost -0.4454, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4610 -> 0.2500 (deboost -0.2110, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4610 (boost 0.2110, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "3B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0,
"predicted_AB": 3.62,
"predicted_AVG": 0.264,
"predicted_BB": 0.412,
"predicted_H": 0.95,
"predicted_HR": 0.14,
"predicted_OBP": 0.36,
"predicted_R": 0.471,
"predicted_RBI": 0.49,
"predicted_SLG": 0.454,
"predicted_SO": 0.686
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2354,
"predicted_3B": 0.0008,
"predicted_AB": 3.6212,
"predicted_AVG": 0.2783,
"predicted_BB": 0.4264,
"predicted_H": 1.0044,
"predicted_HBP": 0.054,
"predicted_HR": 0.1429,
"predicted_OBP": 0.3683,
"predicted_R": 0.4438,
"predicted_RBI": 0.4925,
"predicted_SLG": 0.4674,
"predicted_SO": 0.6642
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.2354,
"delta": 0.0004,
"percent_delta": 0.0017,
"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.62,
"after": 3.6212,
"delta": 0.0012,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2783,
"delta": 0.0143,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.4264,
"delta": 0.0144,
"percent_delta": 0.035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.0044,
"delta": 0.0544,
"percent_delta": 0.0573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1429,
"delta": 0.0029,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.36,
"after": 0.3683,
"delta": 0.0083,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4438,
"delta": -0.0272,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4925,
"delta": 0.0025,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4674,
"delta": 0.0134,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.686,
"after": 0.6642,
"delta": -0.0218,
"percent_delta": -0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.95,
"after": 1.0044,
"delta": 0.0544,
"percent_delta": 0.0573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 51
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2354,
"predicted_3B": 0.0008,
"predicted_AB": 3.6212,
"predicted_AVG": 0.2778,
"predicted_BB": 0.4264,
"predicted_H": 1.006,
"predicted_HBP": 0.054,
"predicted_HR": 0.1421,
"predicted_OBP": 0.3539,
"predicted_R": 0.4454,
"predicted_RBI": 0.4943,
"predicted_SLG": 0.461,
"predicted_SO": 0.6641
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2354,
"after": 0.2354,
"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.6212,
"after": 3.6212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2783,
"after": 0.2778,
"delta": -0.0005,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4264,
"after": 0.4264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0044,
"after": 1.006,
"delta": 0.0016,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1429,
"after": 0.1421,
"delta": -0.0008,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3683,
"after": 0.3539,
"delta": -0.0144,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4438,
"after": 0.4454,
"delta": 0.0016,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4925,
"after": 0.4943,
"delta": 0.0018,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4674,
"after": 0.461,
"delta": -0.0064,
"percent_delta": -0.0137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6642,
"after": 0.6641,
"delta": -0.0001,
"percent_delta": -0.0002,
"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.3683,
"after": 0.3539,
"delta": -0.0144,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.278 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2354,
"after": 0.0,
"delta": -0.2354,
"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.6212,
"after": 4.0,
"delta": 0.3788,
"percent_delta": 0.1046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4264,
"after": 0.0,
"delta": -0.4264,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.006,
"after": 1.0,
"delta": -0.006,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1421,
"after": 0.0,
"delta": -0.1421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4943,
"after": 1.0,
"delta": 0.5057,
"percent_delta": 1.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6641,
"after": 1.0,
"delta": 0.3359,
"percent_delta": 0.5058,
"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.4943,
"after": 1.0,
"delta": 0.5057,
"percent_delta": 1.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4264,
"after": 0.0,
"delta": -0.4264,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4454,
"after": 0.0,
"delta": -0.4454,
"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.4454,
"after": 0.0,
"delta": -0.4454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2778,
"after": 0.25,
"delta": -0.0278,
"percent_delta": -0.1001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3539,
"after": 0.25,
"delta": -0.1039,
"percent_delta": -0.2936,
"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.461,
"after": 0.25,
"delta": -0.211,
"percent_delta": -0.4577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.461,
"after": 0.25,
"delta": -0.211,
"percent_delta": -0.4577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2778,
"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.3539,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.461,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2778,
"delta": 0.0278,
"percent_delta": 0.1112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3539,
"delta": 0.1039,
"percent_delta": 0.4156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.461,
"delta": 0.211,
"percent_delta": 0.844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.461,
"delta": 0.211,
"percent_delta": 0.844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 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.62,
"after": 4.0,
"delta": 0.38,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2778,
"delta": 0.0138,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.0,
"delta": 0.05,
"percent_delta": 0.0526,
"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.36,
"after": 0.3539,
"delta": -0.0061,
"percent_delta": -0.0169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.461,
"delta": 0.007,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.686,
"after": 1.0,
"delta": 0.314,
"percent_delta": 0.4577,
"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_2B",
"before": 0.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.620 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.360 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 0.686 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | 0.000 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.621 | 0.001 |
| predicted_AVG | 0.278 | 0.014 |
| predicted_BB | 0.426 | 0.014 |
| predicted_H | 1.004 | 0.054 |
| predicted_HBP | 0.054 | - |
| predicted_HR | 0.143 | 0.003 |
| predicted_OBP | 0.368 | 0.008 |
| predicted_R | 0.444 | -0.027 |
| predicted_RBI | 0.492 | 0.003 |
| predicted_SLG | 0.467 | 0.013 |
| predicted_SO | 0.664 | -0.022 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.621 | 0.000 |
| predicted_AVG | 0.278 | -0.001 |
| predicted_BB | 0.426 | 0.000 |
| predicted_H | 1.006 | 0.002 |
| predicted_HBP | 0.054 | 0.000 |
| predicted_HR | 0.142 | -0.001 |
| predicted_OBP | 0.354 | -0.014 |
| predicted_R | 0.445 | 0.002 |
| predicted_RBI | 0.494 | 0.002 |
| predicted_SLG | 0.461 | -0.006 |
| predicted_SO | 0.664 | -0.000 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.278 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.235 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.379 |
| predicted_AVG | 0.250 | -0.028 |
| predicted_BB | 0.000 | -0.426 |
| predicted_H | 1.000 | -0.006 |
| predicted_HR | 0.000 | -0.142 |
| predicted_OBP | 0.250 | -0.104 |
| predicted_R | 0.000 | -0.445 |
| predicted_RBI | 1.000 | 0.506 |
| predicted_SLG | 0.250 | -0.211 |
| predicted_SO | 1.000 | 0.336 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 2.000 | 0.3500 | 0.4091 | 0.5500 | 0.3500 | 0.0500 | 0.1500 | 0.1000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 37.000 | 13.000 | 3.000 | 0.000 | 2.000 | 4.000 | 3.000 | 7.000 | 5.000 | 0.3514 | 0.4667 | 0.5946 | 0.3513 | 0.0541 | 0.1081 | 0.1892 | 0.1351 |
| season | 0.60 | 51 | - | 174.000 | 48.000 | 12.000 | 0.000 | 6.000 | 25.000 | 24.000 | 21.000 | 35.000 | 0.2759 | 0.3582 | 0.4483 | 0.2759 | 0.0345 | 0.1437 | 0.1207 | 0.2011 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2360 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6230 |
| predicted_AVG | 0.2986 |
| predicted_BB | 0.4470 |
| predicted_H | 1.0820 |
| predicted_HBP | 0.0540 |
| predicted_HR | 0.1470 |
| predicted_OBP | 0.3801 |
| predicted_R | 0.4050 |
| predicted_RBI | 0.4960 |
| predicted_SLG | 0.4865 |
| predicted_SO | 0.6330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.2360 | 0.2354 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.6200 | 3.6230 | 3.6212 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2986 | 0.2783 | model_form_blend |
| predicted_BB | 0.4120 | 0.4470 | 0.4264 | model_form_blend |
| predicted_H | 0.9500 | 1.0820 | 1.0044 | model_form_blend |
| predicted_HBP | - | 0.0540 | 0.0540 | form_only |
| predicted_HR | 0.1400 | 0.1470 | 0.1429 | model_form_blend |
| predicted_OBP | 0.3600 | 0.3801 | 0.3683 | model_form_blend |
| predicted_R | 0.4710 | 0.4050 | 0.4438 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4960 | 0.4925 | model_form_blend |
| predicted_SLG | 0.4540 | 0.4865 | 0.4674 | model_form_blend |
| predicted_SO | 0.6860 | 0.6330 | 0.6642 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 142 |
| Season rows before report date | 142 |
| Report year | 2026 |
| Profile rows used | 51 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.276 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260621_MIN@ARI |
| game_type | full |
| mlbID | 672515 |
| playerID | 672515 |
| playerName | Gabriel Moreno |
| pos | C |
| started | True |
| startingPosition | C |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-21 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.354 |
| sl_xwoba | 0.371 |
| sl_xba | 0.279 |
| sl_xslg | 0.463 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 45.6 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 17.2 |
| 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.087 | 0.000 | 0.000 | Hitting_2B | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 3.261 | 4.000 | 3.000 | Hitting_AB | 3.029 | 4.000 | 0.971 | 0.000 |
| predicted_AVG | 0.252 | 0.000 | 0.333 | Hitting_AVG | 0.292 | 0.250 | -0.292 | -0.250 |
| predicted_BB | 0.391 | 0.000 | 0.000 | Hitting_BB | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.886 | 1.000 | -0.886 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.086 | 1.000 | -0.086 | -1.000 |
| predicted_OBP | 0.309 | 0.000 | 0.333 | Hitting_OBP | 0.375 | 0.250 | -0.375 | -0.250 |
| predicted_R | 0.609 | 0.000 | 1.000 | Hitting_R | 0.800 | 1.000 | -0.800 | -1.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.143 | 1.000 | -0.143 | -1.000 |
| predicted_SLG | 0.417 | 0.000 | 0.333 | Hitting_SLG | 0.472 | 1.000 | -0.472 | -1.000 |
| predicted_SO | 0.739 | 3.000 | 1.000 | Hitting_SO | 0.543 | 1.000 | 2.457 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7390 -> 3.0000 (boost 2.2610, worse) |
| 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 | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.2610 -> 3.3520 (boost 0.0910, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4240 -> 0.4003 (deboost -0.0237, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.7572 -> 1.0000 (boost 0.2428, better) | predicted_BB: 0.3679 -> 0.0000 (deboost -0.3679, worse) | AB rounded to 3 (raw=3.35), rates preserved: AVG=0.226 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6019 -> 1.0000 (boost 0.3981, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2259 -> 0.3330 (boost 0.1071, better) | predicted_SLG: 0.4003 -> 0.3330 (deboost -0.0673, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4003 (boost 0.0673, better) | predicted_AVG: 0.3330 -> 0.2259 (deboost -0.1071, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694371",
"player_name": "Tommy Troy",
"position": "SS",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.087,
"predicted_3B": 0.043,
"predicted_AB": 3.261,
"predicted_AVG": 0.252,
"predicted_BB": 0.391,
"predicted_H": 0.7,
"predicted_HR": 0.12,
"predicted_OBP": 0.309,
"predicted_R": 0.609,
"predicted_RBI": 0.34,
"predicted_SLG": 0.417,
"predicted_SO": 0.739
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0866,
"predicted_3B": 0.0523,
"predicted_AB": 3.352,
"predicted_AVG": 0.2484,
"predicted_BB": 0.3679,
"predicted_H": 0.756,
"predicted_HBP": 0.008,
"predicted_HR": 0.1319,
"predicted_OBP": 0.3093,
"predicted_R": 0.5997,
"predicted_RBI": 0.3512,
"predicted_SLG": 0.424,
"predicted_SO": 0.7681
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 0.0866,
"delta": -0.0004,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0523,
"delta": 0.0093,
"percent_delta": 0.2163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.261,
"after": 3.352,
"delta": 0.091,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2484,
"delta": -0.0036,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.3679,
"delta": -0.0231,
"percent_delta": -0.0591,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.756,
"delta": 0.056,
"percent_delta": 0.08,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1319,
"delta": 0.0119,
"percent_delta": 0.0992,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3093,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.609,
"after": 0.5997,
"delta": -0.0093,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3512,
"delta": 0.0112,
"percent_delta": 0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.424,
"delta": 0.007,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 0.7681,
"delta": 0.0291,
"percent_delta": 0.0394,
"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.261,
"after": 3.352,
"delta": 0.091,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 23
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0866,
"predicted_3B": 0.0523,
"predicted_AB": 3.352,
"predicted_AVG": 0.2259,
"predicted_BB": 0.3679,
"predicted_H": 0.7572,
"predicted_HBP": 0.008,
"predicted_HR": 0.1312,
"predicted_OBP": 0.3025,
"predicted_R": 0.6019,
"predicted_RBI": 0.3525,
"predicted_SLG": 0.4003,
"predicted_SO": 0.768
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0866,
"after": 0.0866,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0523,
"after": 0.0523,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.352,
"after": 3.352,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2484,
"after": 0.2259,
"delta": -0.0225,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3679,
"after": 0.3679,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.756,
"after": 0.7572,
"delta": 0.0012,
"percent_delta": 0.0016,
"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.1319,
"after": 0.1312,
"delta": -0.0007,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3093,
"after": 0.3025,
"delta": -0.0068,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5997,
"after": 0.6019,
"delta": 0.0022,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.3525,
"delta": 0.0013,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4003,
"delta": -0.0237,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7681,
"after": 0.768,
"delta": -0.0001,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4003,
"delta": -0.0237,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.35), rates preserved: AVG=0.226 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0866,
"after": 0.0,
"delta": -0.0866,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0523,
"after": 0.0,
"delta": -0.0523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.352,
"after": 3.0,
"delta": -0.352,
"percent_delta": -0.105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3679,
"after": 0.0,
"delta": -0.3679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7572,
"after": 1.0,
"delta": 0.2428,
"percent_delta": 0.3207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1312,
"after": 0.0,
"delta": -0.1312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3525,
"after": 0.0,
"delta": -0.3525,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.768,
"after": 1.0,
"delta": 0.232,
"percent_delta": 0.3021,
"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.7572,
"after": 1.0,
"delta": 0.2428,
"percent_delta": 0.3207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3679,
"after": 0.0,
"delta": -0.3679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6019,
"after": 1.0,
"delta": 0.3981,
"percent_delta": 0.6614,
"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.6019,
"after": 1.0,
"delta": 0.3981,
"percent_delta": 0.6614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2259,
"after": 0.333,
"delta": 0.1071,
"percent_delta": 0.4741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0305,
"percent_delta": 0.1008,
"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.4003,
"after": 0.333,
"delta": -0.0673,
"percent_delta": -0.1681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2259,
"after": 0.333,
"delta": 0.1071,
"percent_delta": 0.4741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4003,
"after": 0.333,
"delta": -0.0673,
"percent_delta": -0.1681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2259,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3025,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4003,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2259,
"delta": -0.1071,
"percent_delta": -0.3216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3025,
"delta": -0.0305,
"percent_delta": -0.0917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4003,
"delta": 0.0673,
"percent_delta": 0.2022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4003,
"delta": 0.0673,
"percent_delta": 0.2022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2259,
"delta": -0.1071,
"percent_delta": -0.3216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.261,
"after": 4.0,
"delta": 0.739,
"percent_delta": 0.2266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2259,
"delta": -0.0261,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.0,
"delta": -0.391,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3025,
"delta": -0.0065,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.609,
"after": 0.0,
"delta": -0.609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4003,
"delta": -0.0167,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 3.0,
"delta": 2.261,
"percent_delta": 3.0595,
"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.739,
"after": 3.0,
"delta": 2.261,
"percent_delta": 3.0595,
"direction": "boost",
"projection_effect": "worse",
"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.087 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.261 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.391 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.609 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.739 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.087 | -0.000 |
| predicted_3B | 0.052 | 0.009 |
| predicted_AB | 3.352 | 0.091 |
| predicted_AVG | 0.248 | -0.004 |
| predicted_BB | 0.368 | -0.023 |
| predicted_H | 0.756 | 0.056 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.132 | 0.012 |
| predicted_OBP | 0.309 | 0.000 |
| predicted_R | 0.600 | -0.009 |
| predicted_RBI | 0.351 | 0.011 |
| predicted_SLG | 0.424 | 0.007 |
| predicted_SO | 0.768 | 0.029 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.087 | 0.000 |
| predicted_3B | 0.052 | 0.000 |
| predicted_AB | 3.352 | 0.000 |
| predicted_AVG | 0.226 | -0.023 |
| predicted_BB | 0.368 | 0.000 |
| predicted_H | 0.757 | 0.001 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.131 | -0.001 |
| predicted_OBP | 0.302 | -0.007 |
| predicted_R | 0.602 | 0.002 |
| predicted_RBI | 0.352 | 0.001 |
| predicted_SLG | 0.400 | -0.024 |
| predicted_SO | 0.768 | -0.000 |
AB rounded to 3 (raw=3.35), rates preserved: AVG=0.226 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.087 |
| predicted_3B | 0.000 | -0.052 |
| predicted_AB | 3.000 | -0.352 |
| predicted_AVG | 0.333 | 0.107 |
| predicted_BB | 0.000 | -0.368 |
| predicted_H | 1.000 | 0.243 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.333 | 0.031 |
| predicted_R | 1.000 | 0.398 |
| predicted_RBI | 0.000 | -0.352 |
| predicted_SLG | 0.333 | -0.067 |
| predicted_SO | 1.000 | 0.232 |
Attached 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 | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 1.000 | 4.000 | 0.2778 | 0.3158 | 0.5556 | 0.2778 | 0.0556 | 0.1667 | 0.0556 | 0.2222 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 0.000 | 1.000 | 2.000 | 4.000 | 6.000 | 3.000 | 10.000 | 0.2000 | 0.2632 | 0.4286 | 0.2000 | 0.0571 | 0.1143 | 0.0857 | 0.2857 |
| season | 0.60 | 23 | - | 75.000 | 18.000 | 2.000 | 1.000 | 3.000 | 5.000 | 14.000 | 9.000 | 17.000 | 0.2400 | 0.3214 | 0.4133 | 0.2400 | 0.0400 | 0.0667 | 0.1200 | 0.2267 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0680 |
| predicted_AB | 3.5050 |
| predicted_AVG | 0.2424 |
| predicted_BB | 0.3290 |
| predicted_H | 0.8500 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1520 |
| predicted_OBP | 0.3098 |
| predicted_R | 0.5840 |
| predicted_RBI | 0.3700 |
| predicted_SLG | 0.4357 |
| predicted_SO | 0.8170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0870 | 0.0860 | 0.0866 | model_form_blend |
| predicted_3B | 0.0430 | 0.0680 | 0.0523 | model_form_blend |
| predicted_AB | 3.2610 | 3.5050 | 3.3520 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2424 | 0.2484 | model_form_blend |
| predicted_BB | 0.3910 | 0.3290 | 0.3679 | model_form_blend |
| predicted_H | 0.7000 | 0.8500 | 0.7560 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1200 | 0.1520 | 0.1319 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3098 | 0.3093 | model_form_blend |
| predicted_R | 0.6090 | 0.5840 | 0.5997 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3700 | 0.3512 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4357 | 0.4240 | model_form_blend |
| predicted_SO | 0.7390 | 0.8170 | 0.7681 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 23 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 694371 |
| playerID | 694371 |
| playerName | Tommy Troy |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.324 |
| sl_xwoba | 0.332 |
| sl_xba | 0.247 |
| sl_xslg | 0.431 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 29.7 |
| sl_exit_velocity_avg | 84.5 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 26.3 |
| 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.164 | 0.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.480 | 3.000 | 3.000 | Hitting_AB | 3.477 | 4.000 | -0.477 | -1.000 |
| predicted_AVG | 0.235 | 0.333 | 0.333 | Hitting_AVG | 0.266 | 0.250 | 0.067 | 0.083 |
| predicted_BB | 0.315 | 1.000 | 0.000 | Hitting_BB | 0.375 | 0.000 | 0.625 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 1.000 | 1.000 | Hitting_H | 0.926 | 1.000 | 0.074 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_OBP | 0.294 | 0.500 | 0.333 | Hitting_OBP | 0.348 | 0.250 | 0.152 | 0.250 |
| predicted_R | 0.438 | 1.000 | 0.000 | Hitting_R | 0.546 | 0.000 | 0.454 | 1.000 |
| predicted_RBI | 0.390 | 1.000 | 0.000 | Hitting_RBI | 0.556 | 1.000 | 0.444 | 0.000 |
| predicted_SLG | 0.345 | 0.333 | 0.333 | Hitting_SLG | 0.451 | 0.250 | -0.118 | 0.083 |
| predicted_SO | 0.781 | 0.000 | 1.000 | Hitting_SO | 0.731 | 0.000 | -0.731 | 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_BB: 0.3150 -> 1.0000 (boost 0.6850, 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3450 -> 0.3344 (deboost -0.0106, worse) | Final model input calibrated with local 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.3344 -> 0.3432 (boost 0.0088, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7489 -> 1.0000 (boost 0.2511, worse) | predicted_AB: 3.4842 -> 3.0000 (deboost -0.4842, worse) | AB rounded to 3 (raw=3.48), rates preserved: AVG=0.232 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4222 -> 0.0000 (deboost -0.4222, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2317 -> 0.3330 (boost 0.1013, better) | predicted_SLG: 0.3432 -> 0.3330 (deboost -0.0102, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 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 |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3432 (boost 0.0102, better) | predicted_AVG: 0.3330 -> 0.2317 (deboost -0.1013, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571448",
"player_name": "Nolan Arenado",
"position": "LF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.164,
"predicted_3B": 0.0,
"predicted_AB": 3.48,
"predicted_AVG": 0.235,
"predicted_BB": 0.315,
"predicted_H": 0.82,
"predicted_HR": 0.09,
"predicted_OBP": 0.294,
"predicted_R": 0.438,
"predicted_RBI": 0.39,
"predicted_SLG": 0.345,
"predicted_SO": 0.781
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1404,
"predicted_3B": 0.0004,
"predicted_AB": 3.4842,
"predicted_AVG": 0.231,
"predicted_BB": 0.2973,
"predicted_H": 0.8061,
"predicted_HBP": 0.049,
"predicted_HR": 0.0828,
"predicted_OBP": 0.2913,
"predicted_R": 0.4207,
"predicted_RBI": 0.3778,
"predicted_SLG": 0.3344,
"predicted_SO": 0.749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.1404,
"delta": -0.0236,
"percent_delta": -0.1439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.48,
"after": 3.4842,
"delta": 0.0042,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.231,
"delta": -0.004,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.2973,
"delta": -0.0177,
"percent_delta": -0.0562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8061,
"delta": -0.0139,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0828,
"delta": -0.0072,
"percent_delta": -0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2913,
"delta": -0.0027,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.4207,
"delta": -0.0173,
"percent_delta": -0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3778,
"delta": -0.0122,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3344,
"delta": -0.0106,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 0.749,
"delta": -0.032,
"percent_delta": -0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.345,
"after": 0.3344,
"delta": -0.0106,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1404,
"predicted_3B": 0.0004,
"predicted_AB": 3.4842,
"predicted_AVG": 0.2317,
"predicted_BB": 0.2973,
"predicted_H": 0.8074,
"predicted_HBP": 0.049,
"predicted_HR": 0.0823,
"predicted_OBP": 0.2921,
"predicted_R": 0.4222,
"predicted_RBI": 0.3792,
"predicted_SLG": 0.3432,
"predicted_SO": 0.7489
},
"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.4842,
"after": 3.4842,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2317,
"delta": 0.0007,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2973,
"after": 0.2973,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8061,
"after": 0.8074,
"delta": 0.0013,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0828,
"after": 0.0823,
"delta": -0.0005,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2913,
"after": 0.2921,
"delta": 0.0008,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4207,
"after": 0.4222,
"delta": 0.0015,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3778,
"after": 0.3792,
"delta": 0.0014,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3344,
"after": 0.3432,
"delta": 0.0088,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.749,
"after": 0.7489,
"delta": -0.0001,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_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.3344,
"after": 0.3432,
"delta": 0.0088,
"percent_delta": 0.0263,
"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.48), rates preserved: AVG=0.232 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1404,
"after": 0.0,
"delta": -0.1404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4842,
"after": 3.0,
"delta": -0.4842,
"percent_delta": -0.139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2973,
"after": 0.0,
"delta": -0.2973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8074,
"after": 1.0,
"delta": 0.1926,
"percent_delta": 0.2385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0823,
"after": 0.0,
"delta": -0.0823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3792,
"after": 0.0,
"delta": -0.3792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7489,
"after": 1.0,
"delta": 0.2511,
"percent_delta": 0.3353,
"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.7489,
"after": 1.0,
"delta": 0.2511,
"percent_delta": 0.3353,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4842,
"after": 3.0,
"delta": -0.4842,
"percent_delta": -0.139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4222,
"after": 0.0,
"delta": -0.4222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4222,
"after": 0.0,
"delta": -0.4222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2317,
"after": 0.333,
"delta": 0.1013,
"percent_delta": 0.4372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2921,
"after": 0.333,
"delta": 0.0409,
"percent_delta": 0.14,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3432,
"after": 0.333,
"delta": -0.0102,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2317,
"after": 0.333,
"delta": 0.1013,
"percent_delta": 0.4372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3432,
"after": 0.333,
"delta": -0.0102,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2317,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2921,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3432,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2317,
"delta": -0.1013,
"percent_delta": -0.3041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2921,
"delta": -0.0409,
"percent_delta": -0.1227,
"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.3432,
"delta": 0.0102,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3432,
"delta": 0.0102,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2317,
"delta": -0.1013,
"percent_delta": -0.3041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.48,
"after": 3.0,
"delta": -0.48,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2317,
"delta": -0.0033,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 0.82,
"after": 1.0,
"delta": 0.18,
"percent_delta": 0.2195,
"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.294,
"after": 0.2921,
"delta": -0.0019,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 1.0,
"delta": 0.562,
"percent_delta": 1.2831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3432,
"delta": -0.0018,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.315,
"after": 1.0,
"delta": 0.685,
"percent_delta": 2.1746,
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.480 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.438 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 0.781 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | -0.024 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.484 | 0.004 |
| predicted_AVG | 0.231 | -0.004 |
| predicted_BB | 0.297 | -0.018 |
| predicted_H | 0.806 | -0.014 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.083 | -0.007 |
| predicted_OBP | 0.291 | -0.003 |
| predicted_R | 0.421 | -0.017 |
| predicted_RBI | 0.378 | -0.012 |
| predicted_SLG | 0.334 | -0.011 |
| predicted_SO | 0.749 | -0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.484 | 0.000 |
| predicted_AVG | 0.232 | 0.001 |
| predicted_BB | 0.297 | 0.000 |
| predicted_H | 0.807 | 0.001 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.082 | -0.001 |
| predicted_OBP | 0.292 | 0.001 |
| predicted_R | 0.422 | 0.002 |
| predicted_RBI | 0.379 | 0.001 |
| predicted_SLG | 0.343 | 0.009 |
| predicted_SO | 0.749 | -0.000 |
AB rounded to 3 (raw=3.48), rates preserved: AVG=0.232 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.140 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.484 |
| predicted_AVG | 0.333 | 0.101 |
| predicted_BB | 0.000 | -0.297 |
| predicted_H | 1.000 | 0.193 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.333 | 0.041 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 0.000 | -0.379 |
| predicted_SLG | 0.333 | -0.010 |
| predicted_SO | 1.000 | 0.251 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 0.2353 | 0.2778 | 0.2353 | 0.2353 | 0.0000 | 0.0588 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 7.000 | 0.1622 | 0.2000 | 0.1622 | 0.1622 | 0.0000 | 0.0541 | 0.0541 | 0.1892 |
| season | 0.60 | 73 | - | 247.000 | 59.000 | 12.000 | 0.000 | 8.000 | 32.000 | 32.000 | 23.000 | 57.000 | 0.2389 | 0.3154 | 0.3846 | 0.2389 | 0.0324 | 0.1295 | 0.0931 | 0.2308 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4900 |
| predicted_AVG | 0.2255 |
| predicted_BB | 0.2730 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.2876 |
| predicted_R | 0.3970 |
| predicted_RBI | 0.3610 |
| predicted_SLG | 0.3199 |
| predicted_SO | 0.7050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.1080 | 0.1404 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4800 | 3.4900 | 3.4842 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2255 | 0.2310 | model_form_blend |
| predicted_BB | 0.3150 | 0.2730 | 0.2973 | model_form_blend |
| predicted_H | 0.8200 | 0.7870 | 0.8061 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0900 | 0.0730 | 0.0828 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2876 | 0.2913 | model_form_blend |
| predicted_R | 0.4380 | 0.3970 | 0.4207 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3610 | 0.3778 | model_form_blend |
| predicted_SLG | 0.3450 | 0.3199 | 0.3344 | model_form_blend |
| predicted_SO | 0.7810 | 0.7050 | 0.7490 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 216 |
| Season rows before report date | 216 |
| Report year | 2026 |
| Profile rows used | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 571448 |
| playerID | 571448 |
| playerName | Nolan Arenado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.309 |
| sl_xwoba | 0.302 |
| sl_xba | 0.241 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 31.5 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 18.8 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 46.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.227 | 0.000 | 0.000 | Hitting_2B | 0.245 | 1.000 | -0.245 | -1.000 |
| predicted_3B | 0.120 | 0.000 | 0.000 | Hitting_3B | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_AB | 3.707 | 4.000 | 4.000 | Hitting_AB | 3.710 | 4.000 | 0.290 | 0.000 |
| predicted_AVG | 0.261 | 0.250 | 0.250 | Hitting_AVG | 0.296 | 0.500 | -0.046 | -0.250 |
| predicted_BB | 0.480 | 0.000 | 0.000 | Hitting_BB | 0.580 | 0.000 | -0.580 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 1.098 | 2.000 | -0.098 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_OBP | 0.360 | 0.250 | 0.250 | Hitting_OBP | 0.393 | 0.500 | -0.143 | -0.250 |
| predicted_R | 0.627 | 0.000 | 1.000 | Hitting_R | 0.690 | 1.000 | -0.690 | -1.000 |
| predicted_RBI | 0.700 | 0.000 | 1.000 | Hitting_RBI | 0.580 | 0.000 | -0.580 | 0.000 |
| predicted_SLG | 0.507 | 0.250 | 0.250 | Hitting_SLG | 0.567 | 0.750 | -0.317 | -0.500 |
| predicted_SO | 0.880 | 1.000 | 1.000 | Hitting_SO | 0.963 | 0.000 | 0.037 | 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_AB: 3.7070 -> 4.0000 (boost 0.2930, better) |
| Biggest Deboost | predicted_RBI: 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 | 5 | 4 | 1 | 5 | 0 | predicted_H: 0.9600 -> 1.0356 (boost 0.0756, better) | predicted_SO: 0.8800 -> 0.8124 (deboost -0.0676, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3690 -> 0.3573 (deboost -0.0117, 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.7193 -> 4.0000 (boost 0.2807, better) | predicted_BB: 0.4537 -> 0.0000 (deboost -0.4537, worse) | AB rounded to 4 (raw=3.72), rates preserved: AVG=0.279 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6135 -> 1.0000 (boost 0.3865, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5432 -> 0.2500 (deboost -0.2932, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5432 (boost 0.2932, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "CF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.227,
"predicted_3B": 0.12,
"predicted_AB": 3.707,
"predicted_AVG": 0.261,
"predicted_BB": 0.48,
"predicted_H": 0.96,
"predicted_HR": 0.16,
"predicted_OBP": 0.36,
"predicted_R": 0.627,
"predicted_RBI": 0.7,
"predicted_SLG": 0.507,
"predicted_SO": 0.88
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2376,
"predicted_3B": 0.1213,
"predicted_AB": 3.7193,
"predicted_AVG": 0.2796,
"predicted_BB": 0.4537,
"predicted_H": 1.0356,
"predicted_HBP": 0.05,
"predicted_HR": 0.1685,
"predicted_OBP": 0.369,
"predicted_R": 0.6113,
"predicted_RBI": 0.748,
"predicted_SLG": 0.5391,
"predicted_SO": 0.8124
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.2376,
"delta": 0.0106,
"percent_delta": 0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.12,
"after": 0.1213,
"delta": 0.0013,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.707,
"after": 3.7193,
"delta": 0.0123,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2796,
"delta": 0.0186,
"percent_delta": 0.0713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.48,
"after": 0.4537,
"delta": -0.0263,
"percent_delta": -0.0548,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0356,
"delta": 0.0756,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1685,
"delta": 0.0085,
"percent_delta": 0.0531,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.36,
"after": 0.369,
"delta": 0.009,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.627,
"after": 0.6113,
"delta": -0.0157,
"percent_delta": -0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.748,
"delta": 0.048,
"percent_delta": 0.0686,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.5391,
"delta": 0.0321,
"percent_delta": 0.0633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.8124,
"delta": -0.0676,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.96,
"after": 1.0356,
"delta": 0.0756,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.88,
"after": 0.8124,
"delta": -0.0676,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 75
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2376,
"predicted_3B": 0.1213,
"predicted_AB": 3.7193,
"predicted_AVG": 0.2789,
"predicted_BB": 0.4537,
"predicted_H": 1.0373,
"predicted_HBP": 0.05,
"predicted_HR": 0.1676,
"predicted_OBP": 0.3573,
"predicted_R": 0.6135,
"predicted_RBI": 0.7507,
"predicted_SLG": 0.5432,
"predicted_SO": 0.8123
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2376,
"after": 0.2376,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1213,
"after": 0.1213,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7193,
"after": 3.7193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2796,
"after": 0.2789,
"delta": -0.0007,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4537,
"after": 0.4537,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0356,
"after": 1.0373,
"delta": 0.0017,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.05,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1685,
"after": 0.1676,
"delta": -0.0009,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3573,
"delta": -0.0117,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6113,
"after": 0.6135,
"delta": 0.0022,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.748,
"after": 0.7507,
"delta": 0.0027,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5391,
"after": 0.5432,
"delta": 0.0041,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8124,
"after": 0.8123,
"delta": -0.0001,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.369,
"after": 0.3573,
"delta": -0.0117,
"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 4 (raw=3.72), rates preserved: AVG=0.279 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2376,
"after": 0.0,
"delta": -0.2376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1213,
"after": 0.0,
"delta": -0.1213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7193,
"after": 4.0,
"delta": 0.2807,
"percent_delta": 0.0755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4537,
"after": 0.0,
"delta": -0.4537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0373,
"after": 1.0,
"delta": -0.0373,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1676,
"after": 0.0,
"delta": -0.1676,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7507,
"after": 1.0,
"delta": 0.2493,
"percent_delta": 0.3321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8123,
"after": 1.0,
"delta": 0.1877,
"percent_delta": 0.2311,
"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.7193,
"after": 4.0,
"delta": 0.2807,
"percent_delta": 0.0755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4537,
"after": 0.0,
"delta": -0.4537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6135,
"after": 1.0,
"delta": 0.3865,
"percent_delta": 0.63,
"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.6135,
"after": 1.0,
"delta": 0.3865,
"percent_delta": 0.63,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2789,
"after": 0.25,
"delta": -0.0289,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3573,
"after": 0.25,
"delta": -0.1073,
"percent_delta": -0.3003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5432,
"after": 0.25,
"delta": -0.2932,
"percent_delta": -0.5398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5432,
"after": 0.25,
"delta": -0.2932,
"percent_delta": -0.5398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2789,
"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.3573,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5432,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2789,
"delta": 0.0289,
"percent_delta": 0.1155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3573,
"delta": 0.1073,
"percent_delta": 0.4292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5432,
"delta": 0.2932,
"percent_delta": 1.1726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5432,
"delta": 0.2932,
"percent_delta": 1.1726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.707,
"after": 4.0,
"delta": 0.293,
"percent_delta": 0.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2789,
"delta": 0.0179,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.36,
"after": 0.3573,
"delta": -0.0027,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.5432,
"delta": 0.0362,
"percent_delta": 0.0714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.707,
"after": 4.0,
"delta": 0.293,
"percent_delta": 0.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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.227 | - |
| predicted_3B | 0.120 | - |
| predicted_AB | 3.707 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.480 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.360 | - |
| predicted_R | 0.627 | - |
| predicted_RBI | 0.700 | - |
| predicted_SLG | 0.507 | - |
| predicted_SO | 0.880 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | 0.011 |
| predicted_3B | 0.121 | 0.001 |
| predicted_AB | 3.719 | 0.012 |
| predicted_AVG | 0.280 | 0.019 |
| predicted_BB | 0.454 | -0.026 |
| predicted_H | 1.036 | 0.076 |
| predicted_HBP | 0.050 | - |
| predicted_HR | 0.169 | 0.009 |
| predicted_OBP | 0.369 | 0.009 |
| predicted_R | 0.611 | -0.016 |
| predicted_RBI | 0.748 | 0.048 |
| predicted_SLG | 0.539 | 0.032 |
| predicted_SO | 0.812 | -0.068 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | 0.000 |
| predicted_3B | 0.121 | 0.000 |
| predicted_AB | 3.719 | 0.000 |
| predicted_AVG | 0.279 | -0.001 |
| predicted_BB | 0.454 | 0.000 |
| predicted_H | 1.037 | 0.002 |
| predicted_HBP | 0.050 | 0.000 |
| predicted_HR | 0.168 | -0.001 |
| predicted_OBP | 0.357 | -0.012 |
| predicted_R | 0.614 | 0.002 |
| predicted_RBI | 0.751 | 0.003 |
| predicted_SLG | 0.543 | 0.004 |
| predicted_SO | 0.812 | -0.000 |
AB rounded to 4 (raw=3.72), rates preserved: AVG=0.279 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.238 |
| predicted_3B | 0.000 | -0.121 |
| predicted_AB | 4.000 | 0.281 |
| predicted_AVG | 0.250 | -0.029 |
| predicted_BB | 0.000 | -0.454 |
| predicted_H | 1.000 | -0.037 |
| predicted_HR | 0.000 | -0.168 |
| predicted_OBP | 0.250 | -0.107 |
| predicted_R | 1.000 | 0.386 |
| predicted_RBI | 1.000 | 0.249 |
| predicted_SLG | 0.250 | -0.293 |
| predicted_SO | 1.000 | 0.188 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 2.000 | 1.000 | 1.000 | 8.000 | 3.000 | 2.000 | 2.000 | 0.3889 | 0.4500 | 0.7778 | 0.3889 | 0.0556 | 0.4444 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 2.000 | 1.000 | 2.000 | 9.000 | 5.000 | 3.000 | 5.000 | 0.3077 | 0.3721 | 0.5641 | 0.3077 | 0.0513 | 0.2308 | 0.0769 | 0.1282 |
| season | 0.60 | 75 | - | 278.000 | 79.000 | 17.000 | 9.000 | 13.000 | 42.000 | 47.000 | 36.000 | 66.000 | 0.2842 | 0.3719 | 0.5504 | 0.2842 | 0.0468 | 0.1511 | 0.1295 | 0.2374 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2520 |
| predicted_3B | 0.1230 |
| predicted_AB | 3.7360 |
| predicted_AVG | 0.3048 |
| predicted_BB | 0.4180 |
| predicted_H | 1.1380 |
| predicted_HBP | 0.0500 |
| predicted_HR | 0.1800 |
| predicted_OBP | 0.3812 |
| predicted_R | 0.5900 |
| predicted_RBI | 0.8130 |
| predicted_SLG | 0.5825 |
| predicted_SO | 0.7210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.2520 | 0.2376 | model_form_blend |
| predicted_3B | 0.1200 | 0.1230 | 0.1213 | model_form_blend |
| predicted_AB | 3.7070 | 3.7360 | 3.7193 | model_form_blend |
| predicted_AVG | 0.2610 | 0.3048 | 0.2796 | model_form_blend |
| predicted_BB | 0.4800 | 0.4180 | 0.4537 | model_form_blend |
| predicted_H | 0.9600 | 1.1380 | 1.0356 | model_form_blend |
| predicted_HBP | - | 0.0500 | 0.0500 | form_only |
| predicted_HR | 0.1600 | 0.1800 | 0.1685 | model_form_blend |
| predicted_OBP | 0.3600 | 0.3812 | 0.3690 | model_form_blend |
| predicted_R | 0.6270 | 0.5900 | 0.6113 | model_form_blend |
| predicted_RBI | 0.7000 | 0.8130 | 0.7480 | model_form_blend |
| predicted_SLG | 0.5070 | 0.5825 | 0.5391 | model_form_blend |
| predicted_SO | 0.8800 | 0.7210 | 0.8124 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 245 |
| Season rows before report date | 245 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.284 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 682998 |
| playerID | 682998 |
| playerName | Corbin Carroll |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.386 |
| sl_xwoba | 0.361 |
| sl_xba | 0.265 |
| sl_xslg | 0.479 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 12.6 |
| sl_hard_hit_percent | 48.2 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 46.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 0.000 | 0.000 | Hitting_2B | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.733 | 3.000 | 4.000 | Hitting_AB | 3.779 | 3.000 | -0.779 | 0.000 |
| predicted_AVG | 0.218 | 0.000 | 0.250 | Hitting_AVG | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_BB | 0.267 | 1.000 | 0.000 | Hitting_BB | 0.327 | 0.000 | 0.673 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 0.856 | 0.000 | -0.856 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_OBP | 0.262 | 0.250 | 0.250 | Hitting_OBP | 0.285 | 0.250 | -0.035 | 0.000 |
| predicted_R | 0.267 | 0.000 | 0.000 | Hitting_R | 0.298 | 0.000 | -0.298 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_SLG | 0.303 | 0.000 | 0.250 | Hitting_SLG | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_SO | 0.767 | 0.000 | 1.000 | Hitting_SO | 0.731 | 0.000 | -0.731 | 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.2670 -> 1.0000 (boost 0.7330, better) |
| Biggest Deboost | predicted_SO: 0.7670 -> 0.0000 (deboost -0.7670, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3030 -> 0.2893 (deboost -0.0137, worse) | Final model input calibrated with local 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.2085 -> 0.1968 (deboost -0.0117, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_H: 0.7408 -> 1.0000 (boost 0.2592, better) | predicted_RBI: 0.4352 -> 0.0000 (deboost -0.4352, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.197 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2778 -> 0.0000 (deboost -0.2778, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1968 -> 0.2500 (boost 0.0532, better) | predicted_SLG: 0.2813 -> 0.2500 (deboost -0.0313, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.2813 (boost 0.0313, better) | predicted_AVG: 0.2500 -> 0.1968 (deboost -0.0532, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666971",
"player_name": "Lourdes Gurriel Jr.",
"position": "RF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.0,
"predicted_AB": 3.733,
"predicted_AVG": 0.218,
"predicted_BB": 0.267,
"predicted_H": 0.74,
"predicted_HR": 0.07,
"predicted_OBP": 0.262,
"predicted_R": 0.267,
"predicted_RBI": 0.41,
"predicted_SLG": 0.303,
"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.1208,
"predicted_3B": 0.0012,
"predicted_AB": 3.764,
"predicted_AVG": 0.2085,
"predicted_BB": 0.2364,
"predicted_H": 0.7396,
"predicted_HBP": 0.07,
"predicted_HR": 0.0653,
"predicted_OBP": 0.2542,
"predicted_R": 0.2768,
"predicted_RBI": 0.4336,
"predicted_SLG": 0.2893,
"predicted_SO": 0.7906
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1208,
"delta": -0.0122,
"percent_delta": -0.0917,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.733,
"after": 3.764,
"delta": 0.031,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2085,
"delta": -0.0095,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.2364,
"delta": -0.0306,
"percent_delta": -0.1146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7396,
"delta": -0.0004,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0653,
"delta": -0.0047,
"percent_delta": -0.0671,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.2542,
"delta": -0.0078,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.2768,
"delta": 0.0098,
"percent_delta": 0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4336,
"delta": 0.0236,
"percent_delta": 0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.2893,
"delta": -0.0137,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 0.7906,
"delta": 0.0236,
"percent_delta": 0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.303,
"after": 0.2893,
"delta": -0.0137,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1208,
"predicted_3B": 0.0012,
"predicted_AB": 3.764,
"predicted_AVG": 0.1968,
"predicted_BB": 0.2364,
"predicted_H": 0.7408,
"predicted_HBP": 0.07,
"predicted_HR": 0.0649,
"predicted_OBP": 0.2443,
"predicted_R": 0.2778,
"predicted_RBI": 0.4352,
"predicted_SLG": 0.2813,
"predicted_SO": 0.7905
},
"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.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.764,
"after": 3.764,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2085,
"after": 0.1968,
"delta": -0.0117,
"percent_delta": -0.0561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2364,
"after": 0.2364,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7396,
"after": 0.7408,
"delta": 0.0012,
"percent_delta": 0.0016,
"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.0653,
"after": 0.0649,
"delta": -0.0004,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2542,
"after": 0.2443,
"delta": -0.0099,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2768,
"after": 0.2778,
"delta": 0.001,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4336,
"after": 0.4352,
"delta": 0.0016,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2893,
"after": 0.2813,
"delta": -0.008,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7906,
"after": 0.7905,
"delta": -0.0001,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2085,
"after": 0.1968,
"delta": -0.0117,
"percent_delta": -0.0561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.76), rates preserved: AVG=0.197 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1208,
"after": 0.0,
"delta": -0.1208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.764,
"after": 4.0,
"delta": 0.236,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2364,
"after": 0.0,
"delta": -0.2364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7408,
"after": 1.0,
"delta": 0.2592,
"percent_delta": 0.3499,
"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.0649,
"after": 0.0,
"delta": -0.0649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4352,
"after": 0.0,
"delta": -0.4352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7905,
"after": 1.0,
"delta": 0.2095,
"percent_delta": 0.265,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7408,
"after": 1.0,
"delta": 0.2592,
"percent_delta": 0.3499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4352,
"after": 0.0,
"delta": -0.4352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2778,
"after": 0.0,
"delta": -0.2778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2778,
"after": 0.0,
"delta": -0.2778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1968,
"after": 0.25,
"delta": 0.0532,
"percent_delta": 0.2703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2443,
"after": 0.25,
"delta": 0.0057,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2813,
"after": 0.25,
"delta": -0.0313,
"percent_delta": -0.1113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1968,
"after": 0.25,
"delta": 0.0532,
"percent_delta": 0.2703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2813,
"after": 0.25,
"delta": -0.0313,
"percent_delta": -0.1113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1968,
"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.2443,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2813,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1968,
"delta": -0.0532,
"percent_delta": -0.2128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2443,
"delta": -0.0057,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2813,
"delta": 0.0313,
"percent_delta": 0.1252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2813,
"delta": 0.0313,
"percent_delta": 0.1252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1968,
"delta": -0.0532,
"percent_delta": -0.2128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.733,
"after": 3.0,
"delta": -0.733,
"percent_delta": -0.1964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.1968,
"delta": -0.0212,
"percent_delta": -0.0972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 1.0,
"delta": 0.733,
"percent_delta": 2.7453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.2443,
"delta": -0.0177,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.2813,
"delta": -0.0217,
"percent_delta": -0.0716,
"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": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.267,
"after": 1.0,
"delta": 0.733,
"percent_delta": 2.7453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.767,
"after": 0.0,
"delta": -0.767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.733 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.262 | - |
| predicted_R | 0.267 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.303 | - |
| 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.121 | -0.012 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.764 | 0.031 |
| predicted_AVG | 0.208 | -0.010 |
| predicted_BB | 0.236 | -0.031 |
| predicted_H | 0.740 | -0.000 |
| predicted_HBP | 0.070 | - |
| predicted_HR | 0.065 | -0.005 |
| predicted_OBP | 0.254 | -0.008 |
| predicted_R | 0.277 | 0.010 |
| predicted_RBI | 0.434 | 0.024 |
| predicted_SLG | 0.289 | -0.014 |
| predicted_SO | 0.791 | 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.001 | 0.000 |
| predicted_AB | 3.764 | 0.000 |
| predicted_AVG | 0.197 | -0.012 |
| predicted_BB | 0.236 | 0.000 |
| predicted_H | 0.741 | 0.001 |
| predicted_HBP | 0.070 | 0.000 |
| predicted_HR | 0.065 | -0.000 |
| predicted_OBP | 0.244 | -0.010 |
| predicted_R | 0.278 | 0.001 |
| predicted_RBI | 0.435 | 0.002 |
| predicted_SLG | 0.281 | -0.008 |
| predicted_SO | 0.790 | -0.000 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.197 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.121 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.236 |
| predicted_AVG | 0.250 | 0.053 |
| predicted_BB | 0.000 | -0.236 |
| predicted_H | 1.000 | 0.259 |
| predicted_HR | 0.000 | -0.065 |
| predicted_OBP | 0.250 | 0.006 |
| predicted_R | 0.000 | -0.278 |
| predicted_RBI | 0.000 | -0.435 |
| predicted_SLG | 0.250 | -0.031 |
| predicted_SO | 1.000 | 0.210 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 4.000 | 0.1000 | 0.1429 | 0.1000 | 0.1000 | 0.0000 | 0.1000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 0.000 | 0.000 | 1.000 | 6.000 | 2.000 | 0.000 | 10.000 | 0.1842 | 0.2000 | 0.2632 | 0.1842 | 0.0263 | 0.1579 | 0.0000 | 0.2632 |
| season | 0.60 | 30 | - | 112.000 | 23.000 | 4.000 | 0.000 | 1.000 | 13.000 | 8.000 | 8.000 | 23.000 | 0.2054 | 0.2602 | 0.2679 | 0.2054 | 0.0089 | 0.1161 | 0.0714 | 0.2054 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.8120 |
| predicted_AVG | 0.1939 |
| predicted_BB | 0.1890 |
| predicted_H | 0.7390 |
| predicted_HBP | 0.0700 |
| predicted_HR | 0.0580 |
| predicted_OBP | 0.2421 |
| predicted_R | 0.2920 |
| predicted_RBI | 0.4700 |
| predicted_SLG | 0.2680 |
| predicted_SO | 0.8270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1020 | 0.1208 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.7330 | 3.8120 | 3.7640 | model_form_blend |
| predicted_AVG | 0.2180 | 0.1939 | 0.2085 | model_form_blend |
| predicted_BB | 0.2670 | 0.1890 | 0.2364 | model_form_blend |
| predicted_H | 0.7400 | 0.7390 | 0.7396 | model_form_blend |
| predicted_HBP | - | 0.0700 | 0.0700 | form_only |
| predicted_HR | 0.0700 | 0.0580 | 0.0653 | model_form_blend |
| predicted_OBP | 0.2620 | 0.2421 | 0.2542 | model_form_blend |
| predicted_R | 0.2670 | 0.2920 | 0.2768 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4700 | 0.4336 | model_form_blend |
| predicted_SLG | 0.3030 | 0.2680 | 0.2893 | model_form_blend |
| predicted_SO | 0.7670 | 0.8270 | 0.7906 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 104 |
| Season rows before report date | 104 |
| Report year | 2026 |
| Profile rows used | 30 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.205 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 666971 |
| playerID | 666971 |
| playerName | Lourdes Gurriel Jr. |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-22 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.256 |
| sl_xwoba | 0.279 |
| sl_xba | 0.233 |
| sl_xslg | 0.315 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 32.3 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 24.3 |
| sl_swing_percent | 53.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.562 | 2.000 | 0.438 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 3.375 | 9.000 | -0.375 | -6.000 |
| predicted_H | 8.000 | 8.000 | 8.000 | Pitching_H | 6.562 | 12.000 | 1.438 | -4.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.862 | 4.000 | 0.138 | 1.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 3.250 | 2.000 | 3.750 | 5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 4 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better) |
| Biggest Deboost | predicted_IP: 8.0000 -> 5.0000 (deboost -3.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 8.0000 -> 5.0000 (deboost -3.0000, 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: 1.0000 -> 3.0000 (boost 2.0000, worse) | - | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 4 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668678",
"player_name": "Zac Gallen",
"position": "Starter",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 8.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"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": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"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": 2.0,
"predicted_ER": 3.0,
"predicted_H": 8.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 8.0,
"delta": 1.0,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"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": 4,
"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": 1.0,
"predicted_IP": 5.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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 8.0,
"delta": 1.0,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 8.000 | - |
| predicted_SO | 4.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.000 | -3.000 |
| predicted_SO | 4.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 | 2.000 | 0.000 |
| predicted_ER | 3.000 | 2.000 |
| predicted_H | 8.000 | 1.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| predicted_SO | 4.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 25.100 | 25.000 | 44.000 | 8.000 | 12.000 | 6.000 | 8.8816 | 2.0526 | 0.9868 | 1.7368 | 0.3158 | 0.4737 | 0.2368 |
| last_10 | 0.35 | 10 | 51.000 | 44.000 | 73.000 | 18.000 | 35.000 | 11.000 | 7.7647 | 1.7843 | 0.8628 | 1.4314 | 0.3529 | 0.6863 | 0.2157 |
| season | 0.20 | 16 | 79.200 | 54.000 | 105.000 | 25.000 | 52.000 | 13.000 | 6.1004 | 1.6318 | 0.6778 | 1.3180 | 0.3138 | 0.6527 | 0.1632 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9200 |
| predicted_ER | 4.5180 |
| predicted_ERA | 7.1159 |
| predicted_H | 8.0500 |
| predicted_HR | 1.1340 |
| predicted_IP | 5.2000 |
| predicted_SO | 3.8310 |
| predicted_WHIP | 1.7448 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.9200 | 1.9560 | model_form_blend |
| predicted_ER | 1.0000 | 4.5180 | 2.9328 | model_form_blend |
| predicted_ERA | - | 7.1159 | 7.1159 | form_only |
| predicted_H | 7.0000 | 8.0500 | 7.5769 | model_form_blend |
| predicted_HR | 1.0000 | 1.1340 | 1.0736 | model_form_blend |
| predicted_IP | 8.0000 | 5.2000 | 6.2000 | model_form_blend |
| predicted_SO | 4.0000 | 3.8310 | 3.9072 | model_form_blend |
| predicted_WHIP | - | 1.7448 | 1.7448 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 8 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 7 |
| HR | 1 |
| BF | 25 |
| Pitches | 95 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 9 |
| Pitching_ERA | 6.10 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 4 |
| Pitching_H | 12 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 81 |
| Pitching_R | 9 |
| Pitching_SO | 2 |
| Pitching_Strikes | 47 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260620_MIN@ARI |
| game_type | full |
| mlbID | 668678 |
| playerID | 668678 |
| playerName | Zac Gallen |
| pos | P |
| started | True |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-20 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.377 |
| sl_xwoba | 0.364 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 43.4 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 46.5 |
| sl_avg_best_speed | 79.81851 |
| sl_avg_hyper_speed | 94.836346918 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.050 | 1.000 | -0.050 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642528",
"player_name": "Jonathan Loáisiga",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| season | 0.20 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1380 |
| predicted_ER | 0.1910 |
| predicted_ERA | 4.1163 |
| predicted_H | 0.3860 |
| predicted_HR | 0.0560 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3930 |
| predicted_WHIP | 1.2534 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1380 | 0.0363 | model_form_blend |
| predicted_ER | 0.0000 | 0.1910 | 0.0503 | model_form_blend |
| predicted_ERA | - | 4.1163 | 4.1163 | form_only |
| predicted_H | 0.0000 | 0.3860 | 0.1016 | model_form_blend |
| predicted_HR | 0.0000 | 0.0560 | 0.0147 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.3930 | 0.1035 | model_form_blend |
| predicted_WHIP | - | 1.2534 | 1.2534 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 2 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 642528 |
| playerID | 642528 |
| playerName | Jonathan Loáisiga |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.257 |
| sl_xwoba | 0.288 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 34.1 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 51.6 |
| sv_pitch_count | 18.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.73888888888888 |
| sv_release_spin_rate | 2386.833333333333 |
| sv_effective_speed | 92.84444444444443 |
| sv_launch_speed | 82.26666666666667 |
| sv_launch_angle | 12.833333333333334 |
| sv_woba_value | 1.25 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.1770000000000001 |
| sv_delta_home_win_exp | -0.0119999999999999 |
| sl_avg_best_speed | 74.257995909 |
| sl_avg_hyper_speed | 93.443217045 |
| 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 | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.000 | 2.000 | -1.000 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.600 | 0.200 | -0.600 | -0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.500 | 0.000 | -0.500 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 4 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 4 |
| Better Metrics | 2 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 3.0000 -> 0.0000 (deboost -3.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 | 4 | 0 | 4 | 2 | 2 | - | predicted_SO: 3.0000 -> 0.0000 (deboost -3.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666661",
"player_name": "Juan Morillo",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 0.0,
"delta": -3.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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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 | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 2 | 1.200 | 2.000 | 2.000 | 2.000 | 1.000 | 1.000 | 10.8000 | 2.4000 | 1.2000 | 1.2000 | 1.2000 | 0.6000 | 0.6000 |
| last_10 | 0.35 | 2 | 1.200 | 2.000 | 2.000 | 2.000 | 1.000 | 1.000 | 10.8000 | 2.4000 | 1.2000 | 1.2000 | 1.2000 | 0.6000 | 0.6000 |
| season | 0.20 | 2 | 1.200 | 2.000 | 2.000 | 2.000 | 1.000 | 1.000 | 10.8000 | 2.4000 | 1.2000 | 1.2000 | 1.2000 | 0.6000 | 0.6000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1460 |
| predicted_ER | 0.1920 |
| predicted_ERA | 4.8869 |
| predicted_H | 0.3480 |
| predicted_HR | 0.0620 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3280 |
| predicted_WHIP | 1.3958 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1460 | 0.0370 | model_form_blend |
| predicted_ER | 1.0000 | 0.1920 | 0.7950 | model_form_blend |
| predicted_ERA | - | 4.8869 | 4.8869 | form_only |
| predicted_H | 2.0000 | 0.3480 | 1.5810 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0157 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 3.0000 | 0.3280 | 2.3222 | model_form_blend |
| predicted_WHIP | - | 1.3958 | 1.3958 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 1 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 10.80 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 666661 |
| playerID | 666661 |
| playerName | Juan Morillo |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 30.5 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.261 |
| sl_xwoba | 0.245 |
| sl_sweet_spot_percent | 28.0 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 34.7 |
| sl_whiff_percent | 34.4 |
| sl_swing_percent | 48.2 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 95.87727272727274 |
| sv_release_spin_rate | 2291.681818181818 |
| sv_effective_speed | 95.80454545454543 |
| sv_launch_speed | 82.35000000000001 |
| sv_launch_angle | 11.0 |
| sv_woba_value | 2.7 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 2.038 |
| sv_delta_home_win_exp | 0.535 |
| sl_avg_best_speed | 75.403105676 |
| sl_avg_hyper_speed | 93.95702411 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | predicted_ER: 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.0000 (boost 0.9000, better) | predicted_ER: 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": "656464",
"player_name": "Kevin Ginkel",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"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_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"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_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"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 | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.20 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1240 |
| predicted_ER | 0.1860 |
| predicted_ERA | 4.6683 |
| predicted_H | 0.3620 |
| predicted_HR | 0.0500 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3270 |
| predicted_WHIP | 1.3551 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1240 | 0.0302 | model_form_blend |
| predicted_ER | 1.0000 | 0.1860 | 0.8017 | model_form_blend |
| predicted_ERA | - | 4.6683 | 4.6683 | form_only |
| predicted_H | 0.0000 | 0.3620 | 0.0882 | model_form_blend |
| predicted_HR | 0.0000 | 0.0500 | 0.0122 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3270 | 0.8361 | model_form_blend |
| predicted_WHIP | - | 1.3551 | 1.3551 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 3 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 9.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260327_ARI@LAD |
| game_type | full |
| mlbID | 656464 |
| playerID | 656464 |
| playerName | Kevin Ginkel |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-27 |
| game_pk | 823971.0 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.298 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 45.1 |
| sl_whiff_percent | 33.1 |
| sl_swing_percent | 48.7 |
| sv_pitch_count | 21.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.71428571428571 |
| sv_release_spin_rate | 2369.5238095238096 |
| sv_effective_speed | 89.54285714285714 |
| sv_launch_speed | 84.74444444444445 |
| sv_launch_angle | 17.555555555555557 |
| sv_woba_value | 2.15 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.421 |
| sv_delta_home_win_exp | 0.227 |
| sl_avg_best_speed | 80.4197555 |
| sl_avg_hyper_speed | 94.605628875 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.100 | 0.100 | 0.900 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623149",
"player_name": "Paul Sewald",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 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 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.20 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1190 |
| predicted_ER | 0.1640 |
| predicted_ERA | 4.4383 |
| predicted_H | 0.3190 |
| predicted_HR | 0.0480 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3120 |
| predicted_WHIP | 1.3123 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1190 | 0.0277 | model_form_blend |
| predicted_ER | 0.0000 | 0.1640 | 0.0382 | model_form_blend |
| predicted_ERA | - | 4.4383 | 4.4383 | form_only |
| predicted_H | 1.0000 | 0.3190 | 0.8413 | model_form_blend |
| predicted_HR | 0.0000 | 0.0480 | 0.0112 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3120 | 0.8397 | model_form_blend |
| predicted_WHIP | - | 1.3123 | 1.3123 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 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 | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 623149 |
| playerID | 623149 |
| playerName | Paul Sewald |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.263 |
| sl_xwoba | 0.27 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 42.3 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 50.9 |
| sv_pitch_count | 5.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 88.6 |
| sv_release_spin_rate | 2524.2 |
| sv_effective_speed | 88.5 |
| sv_launch_speed | 79.85 |
| sv_launch_angle | 22.5 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 1.0 |
| sv_delta_run_exp | -0.26 |
| sv_delta_home_win_exp | -0.008 |
| sl_avg_best_speed | 81.372165143 |
| sl_avg_hyper_speed | 94.402781714 |
| Field | Value |
|---|---|
| Pitcher | Michael McGreevy |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6405 |
| ESPN Rank | 37 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1817 |
| Avg Velo | 86.5068 |
| Avg Spin | 2202.3852 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 7 |
| Pre BB | 2 |
| Pre SO | 7 |
| Season ERA | 3.3480 |
| Season WHIP | 1.1520 |
| Role Avg IP | 5.5560 |
| Recent Avg IP | 5.4000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"edges": {
"quality_edge": -0.0072,
"offense_edge": -0.0223,
"opponent_offense_edge": -0.002,
"defense_strength": 0.0558,
"opponent_defense_weakness": 0.0277,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0015,
"run_prevention": 0.9945,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "700241",
"profile": {
"available": true,
"pitcher_id": "700241",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 212.0,
"k_percent": 15.9,
"bb_percent": 6.0,
"woba": 0.305,
"xwoba": 0.365,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 40.4,
"avg_best_speed": 78.3163,
"avg_hyper_speed": 94.7267,
"whiff_percent": 18.7,
"swing_percent": 45.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.7198,
"command_and_miss": -0.6396,
"regression_edge": -1.7143,
"xwoba_edge": -1.4429,
"barrel_edge": -0.5667,
"hard_hit_edge": -0.3,
"whiff_edge": -1.0214,
"bb_edge": 0.775,
"pitch_design_score": -0.1817
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700241",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 86.5068380237321,
"release_spin_rate": 2202.385231577346,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 86.5068380237321,
"release_spin_rate": 2202.385231577346,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5068,
"release_spin_rate": 2202.3852,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1817,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2978,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6405,
"sample_weight": 0.848,
"run_prevention_factor": 1.0544,
"strikeout_factor": 0.9324,
"walk_factor": 0.9474,
"homer_factor": 1.0853,
"woba_minus_xwoba": -0.06,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "700241",
"espn_id": 4424141,
"player_name": "Michael McGreevy",
"team": "STL",
"role": "pitcher",
"espn_rank": 37,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 37,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 15.0,
"gs_rank": 41,
"qs_value": 9.0,
"qs_rank": 11,
"era_value": 3.348,
"era_rank": 23.0,
"w_value": 3.0,
"w_rank": 120,
"l_value": 6.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 83.1,
"ip_rank": 50,
"h_value": 76.0,
"h_rank": 52,
"er_value": 31.0,
"er_rank": 95,
"hr_value": 12.0,
"hr_rank": 35,
"bb_value": 20.0,
"bb_rank": 130,
"k_value": 53.0,
"k_rank": 118,
"k_per_9_value": 5.724,
"k_per_9_rank": 63,
"whip_value": 1.152,
"whip_rank": 29.0,
"war_value": 1.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0461,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0461,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9554,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0723,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9427,
"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": 56.0,
"ER": 21,
"H": 56,
"BB": 15,
"SO": 38,
"HR": 8,
"ERA": 3.375,
"WHIP": 1.2678571428571428,
"K9": 6.107142857142857,
"HR9": 1.2857142857142858,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "700241",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 86.5068380237321,
"release_spin_rate": 2202.385231577346,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 86.5068380237321,
"release_spin_rate": 2202.385231577346,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5068,
"release_spin_rate": 2202.3852,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1817,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2978,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "700241",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 16.0,
"R": 16.0,
"H": 32.0,
"BB": 8.0,
"SO": 16.0,
"HR": 5.0,
"BF": 116.0,
"Pitches": 443.0
},
"per_game": {
"IP": 5.1,
"ER": 3.2,
"R": 3.2,
"H": 6.4,
"BB": 1.6,
"SO": 3.2,
"HR": 1.0,
"BF": 23.2,
"Pitches": 88.6
},
"rates": {
"ERA": 5.3333,
"WHIP": 1.4815,
"ER_per_IP": 0.59259,
"H_per_IP": 1.18519,
"BB_per_IP": 0.2963,
"SO_per_IP": 0.59259,
"HR_per_IP": 0.18519
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.0,
"ER": 21.0,
"R": 21.0,
"H": 56.0,
"BB": 15.0,
"SO": 38.0,
"HR": 8.0,
"BF": 228.0,
"Pitches": 888.0
},
"per_game": {
"IP": 5.2,
"ER": 2.1,
"R": 2.1,
"H": 5.6,
"BB": 1.5,
"SO": 3.8,
"HR": 0.8,
"BF": 22.8,
"Pitches": 88.8
},
"rates": {
"ERA": 3.375,
"WHIP": 1.2679,
"ER_per_IP": 0.375,
"H_per_IP": 1.0,
"BB_per_IP": 0.26786,
"SO_per_IP": 0.67857,
"HR_per_IP": 0.14286
}
},
"season": {
"games": 15,
"totals": {
"IP": 83.1,
"ER": 31.0,
"R": 31.0,
"H": 76.0,
"BB": 20.0,
"SO": 53.0,
"HR": 12.0,
"BF": 333.0,
"Pitches": 1317.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0667,
"R": 2.0667,
"H": 5.0667,
"BB": 1.3333,
"SO": 3.5333,
"HR": 0.8,
"BF": 22.2,
"Pitches": 87.8
},
"rates": {
"ERA": 3.348,
"WHIP": 1.152,
"ER_per_IP": 0.372,
"H_per_IP": 0.912,
"BB_per_IP": 0.24,
"SO_per_IP": 0.636,
"HR_per_IP": 0.144
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.621,
"predicted_H": 5.699,
"predicted_BB": 1.621,
"predicted_SO": 3.886,
"predicted_HR": 0.865,
"predicted_ERA": 4.3123,
"predicted_WHIP": 1.338
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.621,
"final": 2.3381,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.699,
"final": 6.2918,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.621,
"final": 1.7937,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 3.886,
"final": 5.3048,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.865,
"final": 0.9265,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3123,
"final": 4.3123,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.338,
"final": 1.338,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | George Soriano |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1463 |
| ESPN Rank | 174 |
| 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.0306 |
| Season WHIP | 1.1327 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"edges": {
"quality_edge": -0.0072,
"offense_edge": -0.0223,
"opponent_offense_edge": -0.002,
"defense_strength": 0.0558,
"opponent_defense_weakness": 0.0277,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0015,
"run_prevention": 0.9945,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666277",
"profile": {
"available": true,
"pitcher_id": "666277",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 20.0,
"bb_percent": 8.9,
"woba": 0.283,
"xwoba": 0.336,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 43.2,
"avg_best_speed": 81.066,
"avg_hyper_speed": 95.0491,
"whiff_percent": 30.9,
"swing_percent": 49.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.3513,
"command_and_miss": 0.0889,
"regression_edge": -1.5143,
"xwoba_edge": -0.6143,
"barrel_edge": -0.7444,
"hard_hit_edge": -0.7,
"whiff_edge": 0.7214,
"bb_edge": 0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "666277",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1463,
"sample_weight": 0.45,
"run_prevention_factor": 1.0124,
"strikeout_factor": 1.006,
"walk_factor": 0.9982,
"homer_factor": 1.0477,
"woba_minus_xwoba": -0.053,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "666277",
"espn_id": 4917836,
"player_name": "George Soriano",
"team": "STL",
"role": "pitcher",
"espn_rank": 174,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 174,
"gp_value": 34.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.0306,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 10.0,
"hld_rank": 25,
"ip_value": 32.2,
"ip_rank": 249,
"h_value": 25.0,
"h_rank": 287,
"er_value": 11.0,
"er_rank": 324,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 27.0,
"k_rank": 308,
"k_per_9_value": 7.4387755,
"k_per_9_rank": 33,
"whip_value": 1.1326,
"whip_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0056,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0056,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9992,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0215,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0027,
"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": 10,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 2.7,
"WHIP": 1.2,
"K9": 8.1,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "666277",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.468,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"role": "pitcher",
"player_id": "666277",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 4.2,
"Pitches": 15.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.2,
"ER_per_IP": 0.4,
"H_per_IP": 0.8,
"BB_per_IP": 0.4,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 3.0,
"R": 3.0,
"H": 10.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 143.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.0,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 4.2,
"Pitches": 14.3
},
"rates": {
"ERA": 2.7,
"WHIP": 1.2,
"ER_per_IP": 0.3,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 0.9,
"HR_per_IP": 0.1
}
},
"season": {
"games": 34,
"totals": {
"IP": 32.2,
"ER": 11.0,
"R": 12.0,
"H": 25.0,
"BB": 12.0,
"SO": 27.0,
"HR": 4.0,
"BF": 135.0,
"Pitches": 505.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3235,
"R": 0.3529,
"H": 0.7353,
"BB": 0.3529,
"SO": 0.7941,
"HR": 0.1176,
"BF": 3.9706,
"Pitches": 14.8529
},
"rates": {
"ERA": 3.0306,
"WHIP": 1.1327,
"ER_per_IP": 0.33673,
"H_per_IP": 0.76531,
"BB_per_IP": 0.36735,
"SO_per_IP": 0.82653,
"HR_per_IP": 0.12245
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.417,
"predicted_H": 0.909,
"predicted_BB": 0.34,
"predicted_SO": 0.836,
"predicted_HR": 0.097,
"predicted_ERA": 3.7491,
"predicted_WHIP": 1.2489
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5342,
"form_weight": 0.4658,
"form_reliability": 0.564,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.468,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.417,
"final": 0.1942,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.909,
"final": 0.4234,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.34,
"final": 0.1584,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.836,
"final": 0.9236,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.097,
"final": 0.0452,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7491,
"final": 3.7491,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2489,
"final": 1.2489,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | JoJo Romero |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2196 |
| ESPN Rank | 241 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.9706 |
| Season WHIP | 1.2647 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"edges": {
"quality_edge": -0.0072,
"offense_edge": -0.0223,
"opponent_offense_edge": -0.002,
"defense_strength": 0.0558,
"opponent_defense_weakness": 0.0277,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0015,
"run_prevention": 0.9945,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668941",
"profile": {
"available": true,
"pitcher_id": "668941",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 23.6,
"bb_percent": 8.3,
"woba": 0.323,
"xwoba": 0.342,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 47.4,
"avg_best_speed": 82.3721,
"avg_hyper_speed": 96.2408,
"whiff_percent": 23.1,
"swing_percent": 38.8
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.7561,
"command_and_miss": -0.0396,
"regression_edge": -0.5429,
"xwoba_edge": -0.7857,
"barrel_edge": -0.3,
"hard_hit_edge": -1.3,
"whiff_edge": -0.3929,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668941",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2196,
"sample_weight": 0.45,
"run_prevention_factor": 1.0187,
"strikeout_factor": 0.9952,
"walk_factor": 0.9928,
"homer_factor": 1.0448,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668941",
"espn_id": 40456,
"player_name": "JoJo Romero",
"team": "STL",
"role": "pitcher",
"espn_rank": 241,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 241,
"gp_value": 35.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.9705,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 18.0,
"hld_rank": 1,
"ip_value": 34.0,
"ip_rank": 229,
"h_value": 31.0,
"h_rank": 223,
"er_value": 15.0,
"er_rank": 230,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 34.0,
"k_rank": 230,
"k_per_9_value": 9.0,
"k_per_9_rank": 27,
"whip_value": 1.2647,
"whip_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0084,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0084,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9968,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0202,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9978,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 7,
"H": 10,
"BB": 2,
"SO": 11,
"HR": 2,
"ERA": 7.560000000000001,
"WHIP": 1.4400000000000002,
"K9": 11.880000000000003,
"HR9": 2.16,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "668941",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.732,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5738,
"prior_weight": 0.4262
},
"role": "pitcher",
"player_id": "668941",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 1.0,
"SO": 4.0,
"HR": 2.0,
"BF": 19.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.2,
"SO": 0.8,
"HR": 0.4,
"BF": 3.8,
"Pitches": 13.8
},
"rates": {
"ERA": 8.3077,
"WHIP": 1.6154,
"ER_per_IP": 0.92308,
"H_per_IP": 1.38462,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 2.0,
"SO": 11.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 140.0
},
"per_game": {
"IP": 0.2,
"ER": 0.7,
"R": 0.7,
"H": 1.0,
"BB": 0.2,
"SO": 1.1,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.0
},
"rates": {
"ERA": 7.56,
"WHIP": 1.44,
"ER_per_IP": 0.84,
"H_per_IP": 1.2,
"BB_per_IP": 0.24,
"SO_per_IP": 1.32,
"HR_per_IP": 0.24
}
},
"season": {
"games": 35,
"totals": {
"IP": 34.0,
"ER": 15.0,
"R": 15.0,
"H": 31.0,
"BB": 12.0,
"SO": 34.0,
"HR": 5.0,
"BF": 144.0,
"Pitches": 570.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4286,
"R": 0.4286,
"H": 0.8857,
"BB": 0.3429,
"SO": 0.9714,
"HR": 0.1429,
"BF": 4.1143,
"Pitches": 16.2857
},
"rates": {
"ERA": 3.9706,
"WHIP": 1.2647,
"ER_per_IP": 0.44118,
"H_per_IP": 0.91176,
"BB_per_IP": 0.35294,
"SO_per_IP": 1.0,
"HR_per_IP": 0.14706
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.626,
"predicted_H": 1.042,
"predicted_BB": 0.282,
"predicted_SO": 0.953,
"predicted_HR": 0.23,
"predicted_ERA": 6.0356,
"predicted_WHIP": 1.4181
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5301,
"form_weight": 0.4699,
"form_reliability": 0.5738,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.732,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5738,
"prior_weight": 0.4262
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.626,
"final": 0.2942,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.042,
"final": 0.4897,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.282,
"final": 0.1325,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.953,
"final": 0.4478,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.23,
"final": 0.1081,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0356,
"final": 6.0356,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4181,
"final": 1.4181,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Riley O'Brien |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0121 |
| ESPN Rank | 338 |
| 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 | 4.0500 |
| Season WHIP | 1.2000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"edges": {
"quality_edge": -0.0072,
"offense_edge": -0.0223,
"opponent_offense_edge": -0.002,
"defense_strength": 0.0558,
"opponent_defense_weakness": 0.0277,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0015,
"run_prevention": 0.9945,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676617",
"profile": {
"available": true,
"pitcher_id": "676617",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 96.0,
"k_percent": 23.1,
"bb_percent": 7.7,
"woba": 0.293,
"xwoba": 0.328,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 38.7,
"avg_best_speed": 76.3579,
"avg_hyper_speed": 94.3568,
"whiff_percent": 27.3,
"swing_percent": 46.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0524,
"command_and_miss": 0.1682,
"regression_edge": -1.0,
"xwoba_edge": -0.3857,
"barrel_edge": 0.3889,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.2071,
"bb_edge": 0.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676617",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0121,
"sample_weight": 0.45,
"run_prevention_factor": 1.001,
"strikeout_factor": 1.0048,
"walk_factor": 0.9874,
"homer_factor": 0.9922,
"woba_minus_xwoba": -0.035,
"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": 338,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 338,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.05,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 19.0,
"sv_rank": 4,
"hld_value": 1.0,
"hld_rank": 204,
"ip_value": 33.1,
"ip_rank": 235,
"h_value": 29.0,
"h_rank": 247,
"er_value": 15.0,
"er_rank": 230,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 11.0,
"bb_rank": 298,
"k_value": 33.0,
"k_rank": 241,
"k_per_9_value": 8.91,
"k_per_9_rank": 27,
"whip_value": 1.2,
"whip_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9943,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9965,
"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": 10.1,
"ER": 7,
"H": 9,
"BB": 8,
"SO": 8,
"HR": 1,
"ERA": 6.096774193548387,
"WHIP": 1.6451612903225805,
"K9": 6.967741935483871,
"HR9": 0.8709677419354839,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "676617",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.6,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"role": "pitcher",
"player_id": "676617",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 4.0,
"SO": 3.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 0.8,
"SO": 0.6,
"HR": 0.2,
"BF": 4.8,
"Pitches": 17.6
},
"rates": {
"ERA": 5.4,
"WHIP": 1.4,
"ER_per_IP": 0.6,
"H_per_IP": 0.6,
"BB_per_IP": 0.8,
"SO_per_IP": 0.6,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 7.0,
"R": 8.0,
"H": 9.0,
"BB": 8.0,
"SO": 8.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 190.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 0.9,
"BB": 0.8,
"SO": 0.8,
"HR": 0.1,
"BF": 5.1,
"Pitches": 19.0
},
"rates": {
"ERA": 6.0968,
"WHIP": 1.6452,
"ER_per_IP": 0.67742,
"H_per_IP": 0.87097,
"BB_per_IP": 0.77419,
"SO_per_IP": 0.77419,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 33,
"totals": {
"IP": 33.1,
"ER": 15.0,
"R": 17.0,
"H": 29.0,
"BB": 11.0,
"SO": 33.0,
"HR": 2.0,
"BF": 143.0,
"Pitches": 549.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4545,
"R": 0.5152,
"H": 0.8788,
"BB": 0.3333,
"SO": 1.0,
"HR": 0.0606,
"BF": 4.3333,
"Pitches": 16.6364
},
"rates": {
"ERA": 4.05,
"WHIP": 1.2,
"ER_per_IP": 0.45,
"H_per_IP": 0.87,
"BB_per_IP": 0.33,
"SO_per_IP": 0.99,
"HR_per_IP": 0.06
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.555,
"predicted_H": 0.844,
"predicted_BB": 0.552,
"predicted_SO": 0.829,
"predicted_HR": 0.14,
"predicted_ERA": 4.9958,
"predicted_WHIP": 1.3957
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5321,
"form_weight": 0.4679,
"form_reliability": 0.569,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.6,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.555,
"final": 0.2597,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.844,
"final": 0.3949,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.552,
"final": 0.2583,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.829,
"final": 0.92,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.14,
"final": 0.0655,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.9958,
"final": 4.9958,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3957,
"final": 1.3957,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Ryne Stanek |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0186 |
| ESPN Rank | 639 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.2258 |
| Season WHIP | 1.5161 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 87,
"wins": 48,
"losses": 39,
"win_pct": 0.5517,
"runs_scored": 385.0,
"runs_allowed": 373.0,
"run_differential": 12.0,
"run_differential_per_game": 0.1379,
"avg_runs_scored": 4.4253,
"avg_runs_allowed": 4.2874,
"offense_index": 0.9777,
"defense_index": 1.0558,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 5.8,
"run_differential": -14.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "ARI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 393.0,
"runs_allowed": 405.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1379,
"avg_runs_scored": 4.5172,
"avg_runs_allowed": 4.6552,
"offense_index": 0.998,
"defense_index": 0.9723,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.9,
"run_differential": 2.0
},
"available": true,
"quality_score": 0.0329
},
"edges": {
"quality_edge": -0.0072,
"offense_edge": -0.0223,
"opponent_offense_edge": -0.002,
"defense_strength": 0.0558,
"opponent_defense_weakness": 0.0277,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0015,
"run_prevention": 0.9945,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592773",
"profile": {
"available": true,
"pitcher_id": "592773",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 100.0,
"k_percent": 26.4,
"bb_percent": 12.9,
"woba": 0.34,
"xwoba": 0.32,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 37.3,
"avg_best_speed": 79.5816,
"avg_hyper_speed": 95.0722,
"whiff_percent": 31.7,
"swing_percent": 50.1
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.3339,
"command_and_miss": 0.3404,
"regression_edge": 0.5714,
"xwoba_edge": -0.1571,
"barrel_edge": -0.5444,
"hard_hit_edge": 0.1429,
"whiff_edge": 0.8357,
"bb_edge": -0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592773",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0186,
"sample_weight": 0.45,
"run_prevention_factor": 1.0016,
"strikeout_factor": 1.0246,
"walk_factor": 1.0342,
"homer_factor": 1.0192,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592773",
"espn_id": 33301,
"player_name": "Ryne Stanek",
"team": "STL",
"role": "pitcher",
"espn_rank": 639,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 639,
"gp_value": 34.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 5.2258,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 13.0,
"hld_rank": 8,
"ip_value": 31.0,
"ip_rank": 273,
"h_value": 29.0,
"h_rank": 247,
"er_value": 18.0,
"er_rank": 188,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 18.0,
"bb_rank": 163,
"k_value": 37.0,
"k_rank": 202,
"k_per_9_value": 10.741936,
"k_per_9_rank": 19,
"whip_value": 1.5161,
"whip_rank": null,
"war_value": -0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0007,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0007,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0154,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0086,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0111,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 4,
"H": 8,
"BB": 0,
"SO": 9,
"HR": 4,
"ERA": 3.6,
"WHIP": 0.8,
"K9": 8.1,
"HR9": 3.6,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "592773",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.138,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5511,
"prior_weight": 0.4489
},
"role": "pitcher",
"player_id": "592773",
"report_date": "20260625_A",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 0.0,
"SO": 5.0,
"HR": 4.0,
"BF": 21.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.0,
"SO": 1.0,
"HR": 0.8,
"BF": 4.2,
"Pitches": 14.6
},
"rates": {
"ERA": 7.2,
"WHIP": 1.2,
"ER_per_IP": 0.8,
"H_per_IP": 1.2,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.8
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 0.0,
"SO": 9.0,
"HR": 4.0,
"BF": 39.0,
"Pitches": 140.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.0,
"SO": 0.9,
"HR": 0.4,
"BF": 3.9,
"Pitches": 14.0
},
"rates": {
"ERA": 3.6,
"WHIP": 0.8,
"ER_per_IP": 0.4,
"H_per_IP": 0.8,
"BB_per_IP": 0.0,
"SO_per_IP": 0.9,
"HR_per_IP": 0.4
}
},
"season": {
"games": 34,
"totals": {
"IP": 31.0,
"ER": 18.0,
"R": 20.0,
"H": 29.0,
"BB": 18.0,
"SO": 37.0,
"HR": 6.0,
"BF": 140.0,
"Pitches": 585.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5294,
"R": 0.5882,
"H": 0.8529,
"BB": 0.5294,
"SO": 1.0882,
"HR": 0.1765,
"BF": 4.1176,
"Pitches": 17.2059
},
"rates": {
"ERA": 5.2258,
"WHIP": 1.5161,
"ER_per_IP": 0.58065,
"H_per_IP": 0.93548,
"BB_per_IP": 0.58065,
"SO_per_IP": 1.19355,
"HR_per_IP": 0.19355
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.479,
"predicted_H": 0.842,
"predicted_BB": 0.192,
"predicted_SO": 0.832,
"predicted_HR": 0.308,
"predicted_ERA": 5.0745,
"predicted_WHIP": 1.2159
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5397,
"form_weight": 0.4603,
"form_reliability": 0.5511,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.138,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5511,
"prior_weight": 0.4489
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.479,
"final": 0.2205,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.842,
"final": 0.3876,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.192,
"final": 0.0884,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.832,
"final": 0.383,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.308,
"final": 0.1418,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0745,
"final": 5.0745,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2159,
"final": 1.2159,
"source": "form_only"
}
}
}{
"available": false,
"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.111 | 0.000 | 0.000 | Hitting_2B | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.330 | 3.000 | 4.000 | Hitting_AB | 3.932 | 5.000 | -0.932 | -2.000 |
| predicted_AVG | 0.240 | 0.000 | 0.250 | Hitting_AVG | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_BB | 0.472 | 1.000 | 0.000 | Hitting_BB | 0.553 | 0.000 | 0.447 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.040 | 0.000 | 1.000 | Hitting_H | 0.955 | 0.000 | -0.955 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_OBP | 0.332 | 0.250 | 0.250 | Hitting_OBP | 0.360 | 0.000 | -0.110 | 0.250 |
| predicted_R | 0.667 | 0.000 | 1.000 | Hitting_R | 0.697 | 0.000 | -0.697 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 0.000 | Hitting_RBI | 0.477 | 0.000 | -0.477 | 0.000 |
| predicted_SLG | 0.429 | 0.000 | 0.250 | Hitting_SLG | 0.404 | 0.000 | -0.404 | 0.000 |
| predicted_SO | 0.722 | 1.000 | 1.000 | Hitting_SO | 0.814 | 0.000 | 0.186 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.4720 -> 1.0000 (boost 0.5280, better) |
| Biggest Deboost | predicted_AB: 4.3300 -> 3.0000 (deboost -1.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 | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2400 -> 0.2501 (boost 0.0101, better) | predicted_AB: 4.3300 -> 4.2529 (deboost -0.0771, worse) | Final model input calibrated with local 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.4386 -> 0.4142 (deboost -0.0244, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.7041 -> 1.0000 (boost 0.2959, worse) | predicted_RBI: 0.5058 -> 0.0000 (deboost -0.5058, worse) | AB rounded to 4 (raw=4.33), rates preserved: AVG=0.244 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6379 -> 1.0000 (boost 0.3621, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4142 -> 0.2500 (deboost -0.1642, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | 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 |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4142 (boost 0.1642, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"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.111,
"predicted_3B": 0.0,
"predicted_AB": 4.33,
"predicted_AVG": 0.24,
"predicted_BB": 0.472,
"predicted_H": 1.04,
"predicted_HR": 0.18,
"predicted_OBP": 0.332,
"predicted_R": 0.667,
"predicted_RBI": 0.51,
"predicted_SLG": 0.429,
"predicted_SO": 0.722
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1055,
"predicted_3B": 0.0004,
"predicted_AB": 4.2529,
"predicted_AVG": 0.2501,
"predicted_BB": 0.4205,
"predicted_H": 1.0634,
"predicted_HBP": 0.142,
"predicted_HR": 0.1996,
"predicted_OBP": 0.3352,
"predicted_R": 0.6449,
"predicted_RBI": 0.5113,
"predicted_SLG": 0.4386,
"predicted_SO": 0.7033
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1055,
"delta": -0.0055,
"percent_delta": -0.0495,
"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.33,
"after": 4.2529,
"delta": -0.0771,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2501,
"delta": 0.0101,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.472,
"after": 0.4205,
"delta": -0.0515,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0634,
"delta": 0.0234,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1996,
"delta": 0.0196,
"percent_delta": 0.1089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3352,
"delta": 0.0032,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6449,
"delta": -0.0221,
"percent_delta": -0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5113,
"delta": 0.0013,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4386,
"delta": 0.0096,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 0.7033,
"delta": -0.0187,
"percent_delta": -0.0259,
"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.24,
"after": 0.2501,
"delta": 0.0101,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.33,
"after": 4.2529,
"delta": -0.0771,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1055,
"predicted_3B": 0.0004,
"predicted_AB": 4.2529,
"predicted_AVG": 0.2485,
"predicted_BB": 0.42,
"predicted_H": 1.0567,
"predicted_HBP": 0.142,
"predicted_HR": 0.1995,
"predicted_OBP": 0.316,
"predicted_R": 0.6379,
"predicted_RBI": 0.5058,
"predicted_SLG": 0.4142,
"predicted_SO": 0.7041
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1055,
"after": 0.1055,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2529,
"after": 4.2529,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2501,
"after": 0.2485,
"delta": -0.0016,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4205,
"after": 0.42,
"delta": -0.0005,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0634,
"after": 1.0567,
"delta": -0.0067,
"percent_delta": -0.0063,
"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.1996,
"after": 0.1995,
"delta": -0.0001,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3352,
"after": 0.316,
"delta": -0.0192,
"percent_delta": -0.0573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6449,
"after": 0.6379,
"delta": -0.007,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5113,
"after": 0.5058,
"delta": -0.0055,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4386,
"after": 0.4142,
"delta": -0.0244,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7033,
"after": 0.7041,
"delta": 0.0008,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4386,
"after": 0.4142,
"delta": -0.0244,
"percent_delta": -0.0556,
"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.244 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.1055,
"after": 0.0,
"delta": -0.1055,
"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.2529,
"after": 4.0,
"delta": -0.2529,
"percent_delta": -0.0595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0567,
"after": 1.0,
"delta": -0.0567,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "worse",
"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.1995,
"after": 0.0,
"delta": -0.1995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5058,
"after": 0.0,
"delta": -0.5058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7041,
"after": 1.0,
"delta": 0.2959,
"percent_delta": 0.4203,
"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.7041,
"after": 1.0,
"delta": 0.2959,
"percent_delta": 0.4203,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5058,
"after": 0.0,
"delta": -0.5058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6379,
"after": 1.0,
"delta": 0.3621,
"percent_delta": 0.5676,
"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.6379,
"after": 1.0,
"delta": 0.3621,
"percent_delta": 0.5676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2485,
"after": 0.25,
"delta": 0.0015,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.066,
"percent_delta": -0.2089,
"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.4142,
"after": 0.25,
"delta": -0.1642,
"percent_delta": -0.3964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4142,
"after": 0.25,
"delta": -0.1642,
"percent_delta": -0.3964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2485,
"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.316,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4142,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2485,
"delta": -0.0015,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.316,
"delta": 0.066,
"percent_delta": 0.2641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4142,
"delta": 0.1642,
"percent_delta": 0.6569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4142,
"delta": 0.1642,
"percent_delta": 0.6569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 3.0,
"delta": -1.33,
"percent_delta": -0.3072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2485,
"delta": 0.0085,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.472,
"after": 1.0,
"delta": 0.528,
"percent_delta": 1.1186,
"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.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.316,
"delta": -0.016,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"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.429,
"after": 0.4142,
"delta": -0.0148,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 1.0,
"delta": 0.278,
"percent_delta": 0.385,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.472,
"after": 1.0,
"delta": 0.528,
"percent_delta": 1.1186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.33,
"after": 3.0,
"delta": -1.33,
"percent_delta": -0.3072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.330 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.472 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.429 | - |
| predicted_SO | 0.722 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | -0.006 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.253 | -0.077 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.420 | -0.051 |
| predicted_H | 1.063 | 0.023 |
| predicted_HBP | 0.142 | - |
| predicted_HR | 0.200 | 0.020 |
| predicted_OBP | 0.335 | 0.003 |
| predicted_R | 0.645 | -0.022 |
| predicted_RBI | 0.511 | 0.001 |
| predicted_SLG | 0.439 | 0.010 |
| predicted_SO | 0.703 | -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.105 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.253 | 0.000 |
| predicted_AVG | 0.248 | -0.002 |
| predicted_BB | 0.420 | -0.001 |
| predicted_H | 1.057 | -0.007 |
| predicted_HBP | 0.142 | 0.000 |
| predicted_HR | 0.200 | -0.000 |
| predicted_OBP | 0.316 | -0.019 |
| predicted_R | 0.638 | -0.007 |
| predicted_RBI | 0.506 | -0.005 |
| predicted_SLG | 0.414 | -0.024 |
| predicted_SO | 0.704 | 0.001 |
AB rounded to 4 (raw=4.33), rates preserved: AVG=0.244 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.105 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.253 |
| predicted_AVG | 0.250 | 0.002 |
| predicted_BB | 0.000 | -0.420 |
| predicted_H | 1.000 | -0.057 |
| predicted_HR | 0.000 | -0.200 |
| predicted_OBP | 0.250 | -0.066 |
| predicted_R | 1.000 | 0.362 |
| predicted_RBI | 0.000 | -0.506 |
| predicted_SLG | 0.250 | -0.164 |
| predicted_SO | 1.000 | 0.296 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 5.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 0.000 | 3.000 | 0.2174 | 0.2500 | 0.4783 | 0.2174 | 0.0870 | 0.1304 | 0.0000 | 0.1304 |
| last_10 | 0.20 | 10 | - | 44.000 | 14.000 | 1.000 | 0.000 | 3.000 | 6.000 | 5.000 | 3.000 | 5.000 | 0.3182 | 0.3750 | 0.5455 | 0.3182 | 0.0682 | 0.1364 | 0.0682 | 0.1136 |
| season | 0.60 | 72 | - | 285.000 | 75.000 | 8.000 | 0.000 | 12.000 | 33.000 | 48.000 | 34.000 | 52.000 | 0.2632 | 0.3614 | 0.4175 | 0.2632 | 0.0421 | 0.1158 | 0.1193 | 0.1825 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.1490 |
| predicted_AVG | 0.2638 |
| predicted_BB | 0.3510 |
| predicted_H | 1.0950 |
| predicted_HBP | 0.1420 |
| predicted_HR | 0.2260 |
| predicted_OBP | 0.3395 |
| predicted_R | 0.6150 |
| predicted_RBI | 0.5130 |
| predicted_SLG | 0.4515 |
| predicted_SO | 0.6780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.0980 | 0.1055 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3300 | 4.1490 | 4.2529 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2638 | 0.2501 | model_form_blend |
| predicted_BB | 0.4720 | 0.3510 | 0.4205 | model_form_blend |
| predicted_H | 1.0400 | 1.0950 | 1.0634 | model_form_blend |
| predicted_HBP | - | 0.1420 | 0.1420 | form_only |
| predicted_HR | 0.1800 | 0.2260 | 0.1996 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3395 | 0.3352 | model_form_blend |
| predicted_R | 0.6670 | 0.6150 | 0.6449 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5130 | 0.5113 | model_form_blend |
| predicted_SLG | 0.4290 | 0.4515 | 0.4386 | model_form_blend |
| predicted_SO | 0.7220 | 0.6780 | 0.7033 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 264 |
| Season rows before report date | 264 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.263 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260624_ARI@STL |
| game_type | full |
| mlbID | 802139 |
| playerID | 802139 |
| playerName | JJ Wetherholt |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 15.7 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.345 |
| sl_xwoba | 0.352 |
| sl_xba | 0.258 |
| sl_xslg | 0.435 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 43.9 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 43.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.164 | 0.000 | 0.000 | Hitting_2B | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.540 | 4.000 | 4.000 | Hitting_AB | 3.550 | 1.000 | 0.450 | 3.000 |
| predicted_AVG | 0.268 | 0.500 | 0.250 | Hitting_AVG | 0.259 | 0.000 | 0.241 | 0.500 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_H | 0.950 | 2.000 | 1.000 | Hitting_H | 0.918 | 0.000 | 1.082 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_OBP | 0.355 | 0.500 | 0.250 | Hitting_OBP | 0.293 | 0.000 | 0.207 | 0.500 |
| predicted_R | 0.455 | 0.000 | 1.000 | Hitting_R | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.427 | 0.000 | -0.427 | 0.000 |
| predicted_SLG | 0.439 | 0.500 | 0.250 | Hitting_SLG | 0.405 | 0.000 | 0.095 | 0.500 |
| predicted_SO | 0.782 | 0.000 | 1.000 | Hitting_SO | 0.766 | 0.000 | -0.766 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.9500 -> 2.0000 (boost 1.0500, better) |
| Biggest Deboost | predicted_SO: 0.7820 -> 0.0000 (deboost -0.7820, 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 | 5 | 2 | 6 | 1 | predicted_R: 0.4550 -> 0.5171 (boost 0.0621, better) | predicted_AB: 3.5400 -> 3.3245 (deboost -0.2155, worse) | Final model input calibrated with local 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.3625 -> 0.3323 (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 | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.3245 -> 4.0000 (boost 0.6755, better) | predicted_RBI: 0.3536 -> 0.0000 (deboost -0.3536, worse) | AB rounded to 4 (raw=3.54), rates preserved: AVG=0.264 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5115 -> 1.0000 (boost 0.4885, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4265 -> 0.2500 (deboost -0.1765, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4265 (boost 0.1765, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701675",
"player_name": "Nathan Church",
"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.164,
"predicted_3B": 0.018,
"predicted_AB": 3.54,
"predicted_AVG": 0.268,
"predicted_BB": 0.2,
"predicted_H": 0.95,
"predicted_HR": 0.09,
"predicted_OBP": 0.355,
"predicted_R": 0.455,
"predicted_RBI": 0.39,
"predicted_SLG": 0.439,
"predicted_SO": 0.782
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1665,
"predicted_3B": 0.0451,
"predicted_AB": 3.3245,
"predicted_AVG": 0.2838,
"predicted_BB": 0.2568,
"predicted_H": 0.9393,
"predicted_HBP": 0.012,
"predicted_HR": 0.076,
"predicted_OBP": 0.3625,
"predicted_R": 0.5171,
"predicted_RBI": 0.3575,
"predicted_SLG": 0.4537,
"predicted_SO": 0.7141
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.1665,
"delta": 0.0025,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0451,
"delta": 0.0271,
"percent_delta": 1.5056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.54,
"after": 3.3245,
"delta": -0.2155,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2838,
"delta": 0.0158,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2568,
"delta": 0.0568,
"percent_delta": 0.284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9393,
"delta": -0.0107,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.076,
"delta": -0.014,
"percent_delta": -0.1556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3625,
"delta": 0.0075,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.5171,
"delta": 0.0621,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3575,
"delta": -0.0325,
"percent_delta": -0.0833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4537,
"delta": 0.0147,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.782,
"after": 0.7141,
"delta": -0.0679,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.455,
"after": 0.5171,
"delta": 0.0621,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.54,
"after": 3.3245,
"delta": -0.2155,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 55
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1665,
"predicted_3B": 0.0451,
"predicted_AB": 3.3245,
"predicted_AVG": 0.2808,
"predicted_BB": 0.2565,
"predicted_H": 0.9334,
"predicted_HBP": 0.012,
"predicted_HR": 0.076,
"predicted_OBP": 0.3323,
"predicted_R": 0.5115,
"predicted_RBI": 0.3536,
"predicted_SLG": 0.4265,
"predicted_SO": 0.7149
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1665,
"after": 0.1665,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0451,
"after": 0.0451,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3245,
"after": 3.3245,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2838,
"after": 0.2808,
"delta": -0.003,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2568,
"after": 0.2565,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9393,
"after": 0.9334,
"delta": -0.0059,
"percent_delta": -0.0063,
"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.076,
"after": 0.076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3625,
"after": 0.3323,
"delta": -0.0302,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5171,
"after": 0.5115,
"delta": -0.0056,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3575,
"after": 0.3536,
"delta": -0.0039,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4537,
"after": 0.4265,
"delta": -0.0272,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7141,
"after": 0.7149,
"delta": 0.0008,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3625,
"after": 0.3323,
"delta": -0.0302,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.54), rates preserved: AVG=0.264 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1665,
"after": 0.0,
"delta": -0.1665,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0451,
"after": 0.0,
"delta": -0.0451,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3245,
"after": 4.0,
"delta": 0.6755,
"percent_delta": 0.2032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2565,
"after": 0.0,
"delta": -0.2565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9334,
"after": 1.0,
"delta": 0.0666,
"percent_delta": 0.0714,
"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.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3536,
"after": 0.0,
"delta": -0.3536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7149,
"after": 1.0,
"delta": 0.2851,
"percent_delta": 0.3988,
"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.3245,
"after": 4.0,
"delta": 0.6755,
"percent_delta": 0.2032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": 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.5115,
"after": 1.0,
"delta": 0.4885,
"percent_delta": 0.955,
"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.5115,
"after": 1.0,
"delta": 0.4885,
"percent_delta": 0.955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2808,
"after": 0.25,
"delta": -0.0308,
"percent_delta": -0.1097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.0823,
"percent_delta": -0.2477,
"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.4265,
"after": 0.25,
"delta": -0.1765,
"percent_delta": -0.4138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4265,
"after": 0.25,
"delta": -0.1765,
"percent_delta": -0.4138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2808,
"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.3323,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4265,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2808,
"delta": 0.0308,
"percent_delta": 0.123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3323,
"delta": 0.0823,
"percent_delta": 0.3291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4265,
"delta": 0.1765,
"percent_delta": 0.7061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4265,
"delta": 0.1765,
"percent_delta": 0.7061,
"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.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.54,
"after": 4.0,
"delta": 0.46,
"percent_delta": 0.1299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2808,
"delta": 0.0128,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.0,
"delta": 1.05,
"percent_delta": 1.1053,
"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.355,
"after": 0.3323,
"delta": -0.0227,
"percent_delta": -0.0639,
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4265,
"delta": -0.0125,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.782,
"after": 0.0,
"delta": -0.782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.95,
"after": 2.0,
"delta": 1.05,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.782,
"after": 0.0,
"delta": -0.782,
"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.164 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.540 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 0.782 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.003 |
| predicted_3B | 0.045 | 0.027 |
| predicted_AB | 3.325 | -0.216 |
| predicted_AVG | 0.284 | 0.016 |
| predicted_BB | 0.257 | 0.057 |
| predicted_H | 0.939 | -0.011 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.076 | -0.014 |
| predicted_OBP | 0.362 | 0.008 |
| predicted_R | 0.517 | 0.062 |
| predicted_RBI | 0.357 | -0.033 |
| predicted_SLG | 0.454 | 0.015 |
| predicted_SO | 0.714 | -0.068 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 3.325 | 0.000 |
| predicted_AVG | 0.281 | -0.003 |
| predicted_BB | 0.257 | -0.000 |
| predicted_H | 0.933 | -0.006 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.076 | 0.000 |
| predicted_OBP | 0.332 | -0.030 |
| predicted_R | 0.511 | -0.006 |
| predicted_RBI | 0.354 | -0.004 |
| predicted_SLG | 0.426 | -0.027 |
| predicted_SO | 0.715 | 0.001 |
AB rounded to 4 (raw=3.54), rates preserved: AVG=0.264 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.167 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 4.000 | 0.675 |
| predicted_AVG | 0.250 | -0.031 |
| predicted_BB | 0.000 | -0.257 |
| predicted_H | 1.000 | 0.067 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.250 | -0.082 |
| predicted_R | 1.000 | 0.489 |
| predicted_RBI | 0.000 | -0.354 |
| predicted_SLG | 0.250 | -0.176 |
| predicted_SO | 1.000 | 0.285 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 4.000 | 1.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 0.4000 | 0.5000 | 0.7000 | 0.4000 | 0.0000 | 0.1000 | 0.2000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 24.000 | 9.000 | 1.000 | 1.000 | 0.000 | 2.000 | 6.000 | 5.000 | 5.000 | 0.3750 | 0.4828 | 0.5000 | 0.3750 | 0.0000 | 0.0833 | 0.2083 | 0.2083 |
| season | 0.60 | 55 | - | 184.000 | 49.000 | 9.000 | 1.000 | 5.000 | 19.000 | 25.000 | 11.000 | 43.000 | 0.2663 | 0.3096 | 0.4076 | 0.2663 | 0.0272 | 0.1033 | 0.0598 | 0.2337 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1700 |
| predicted_3B | 0.0840 |
| predicted_AB | 3.0160 |
| predicted_AVG | 0.3063 |
| predicted_BB | 0.3380 |
| predicted_H | 0.9240 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.3732 |
| predicted_R | 0.6060 |
| predicted_RBI | 0.3110 |
| predicted_SLG | 0.4747 |
| predicted_SO | 0.6170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.1700 | 0.1665 | model_form_blend |
| predicted_3B | 0.0180 | 0.0840 | 0.0451 | model_form_blend |
| predicted_AB | 3.5400 | 3.0160 | 3.3245 | model_form_blend |
| predicted_AVG | 0.2680 | 0.3063 | 0.2838 | model_form_blend |
| predicted_BB | 0.2000 | 0.3380 | 0.2568 | model_form_blend |
| predicted_H | 0.9500 | 0.9240 | 0.9393 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0900 | 0.0560 | 0.0760 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3732 | 0.3625 | model_form_blend |
| predicted_R | 0.4550 | 0.6060 | 0.5171 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3110 | 0.3575 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4747 | 0.4537 | model_form_blend |
| predicted_SO | 0.7820 | 0.6170 | 0.7141 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 171 |
| Season rows before report date | 171 |
| Report year | 2026 |
| Profile rows used | 55 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF |
| gameID | 20260624_ARI@STL |
| game_type | ph |
| mlbID | 701675 |
| note | Flied out for Walker, J in the 8th. |
| playerID | 701675 |
| playerName | Nathan Church |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.315 |
| sl_xwoba | 0.298 |
| sl_xba | 0.246 |
| sl_xslg | 0.389 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 31.5 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 56.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.162 | 0.000 | 0.000 | Hitting_2B | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_AB | 4.210 | 4.000 | 4.000 | Hitting_AB | 3.816 | 4.000 | 0.184 | 0.000 |
| predicted_AVG | 0.248 | 0.250 | 0.250 | Hitting_AVG | 0.234 | 0.250 | 0.016 | 0.000 |
| predicted_BB | 0.338 | 0.000 | 0.000 | Hitting_BB | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.050 | 1.000 | 1.000 | Hitting_H | 0.892 | 1.000 | 0.108 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.250 | Hitting_OBP | 0.303 | 0.250 | -0.053 | 0.000 |
| predicted_R | 0.441 | 0.000 | 0.000 | Hitting_R | 0.426 | 0.000 | -0.426 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.453 | 0.000 | -0.453 | 0.000 |
| predicted_SLG | 0.394 | 0.250 | 0.250 | Hitting_SLG | 0.324 | 0.250 | -0.074 | 0.000 |
| predicted_SO | 0.824 | 2.000 | 1.000 | Hitting_SO | 0.834 | 0.000 | 1.166 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.8240 -> 2.0000 (boost 1.1760, worse) |
| Biggest Deboost | predicted_RBI: 0.5600 -> 0.0000 (deboost -0.5600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_R: 0.4410 -> 0.5031 (boost 0.0621, better) | predicted_AB: 4.2100 -> 4.0651 (deboost -0.1449, worse) | Final model input calibrated with local 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.3305 -> 0.3138 (deboost -0.0167, 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.5611 -> 1.0000 (boost 0.4389, better) | predicted_BB: 0.3107 -> 0.0000 (deboost -0.3107, worse) | AB rounded to 4 (raw=4.21), rates preserved: AVG=0.252 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4977 -> 0.0000 (deboost -0.4977, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3882 -> 0.2500 (deboost -0.1382, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3882 (boost 0.1382, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691026",
"player_name": "Masyn Winn",
"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.162,
"predicted_3B": 0.029,
"predicted_AB": 4.21,
"predicted_AVG": 0.248,
"predicted_BB": 0.338,
"predicted_H": 1.05,
"predicted_HR": 0.1,
"predicted_OBP": 0.328,
"predicted_R": 0.441,
"predicted_RBI": 0.56,
"predicted_SLG": 0.394,
"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.1823,
"predicted_3B": 0.0244,
"predicted_AB": 4.0651,
"predicted_AVG": 0.2628,
"predicted_BB": 0.311,
"predicted_H": 1.069,
"predicted_HBP": 0.044,
"predicted_HR": 0.0949,
"predicted_OBP": 0.3305,
"predicted_R": 0.5031,
"predicted_RBI": 0.5672,
"predicted_SLG": 0.403,
"predicted_SO": 0.7847
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1823,
"delta": 0.0203,
"percent_delta": 0.1253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0244,
"delta": -0.0046,
"percent_delta": -0.1586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.21,
"after": 4.0651,
"delta": -0.1449,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2628,
"delta": 0.0148,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.311,
"delta": -0.027,
"percent_delta": -0.0799,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.069,
"delta": 0.019,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0949,
"delta": -0.0051,
"percent_delta": -0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3305,
"delta": 0.0025,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.5031,
"delta": 0.0621,
"percent_delta": 0.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5672,
"delta": 0.0072,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.403,
"delta": 0.009,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.7847,
"delta": -0.0393,
"percent_delta": -0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.441,
"after": 0.5031,
"delta": 0.0621,
"percent_delta": 0.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.21,
"after": 4.0651,
"delta": -0.1449,
"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": 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.1823,
"predicted_3B": 0.0244,
"predicted_AB": 4.0651,
"predicted_AVG": 0.2613,
"predicted_BB": 0.3107,
"predicted_H": 1.0623,
"predicted_HBP": 0.044,
"predicted_HR": 0.0949,
"predicted_OBP": 0.3138,
"predicted_R": 0.4977,
"predicted_RBI": 0.5611,
"predicted_SLG": 0.3882,
"predicted_SO": 0.7856
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1823,
"after": 0.1823,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0244,
"after": 0.0244,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0651,
"after": 4.0651,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2628,
"after": 0.2613,
"delta": -0.0015,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.311,
"after": 0.3107,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.069,
"after": 1.0623,
"delta": -0.0067,
"percent_delta": -0.0063,
"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.0949,
"after": 0.0949,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3305,
"after": 0.3138,
"delta": -0.0167,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5031,
"after": 0.4977,
"delta": -0.0054,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5672,
"after": 0.5611,
"delta": -0.0061,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3882,
"delta": -0.0148,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7847,
"after": 0.7856,
"delta": 0.0009,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3305,
"after": 0.3138,
"delta": -0.0167,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.21), rates preserved: AVG=0.252 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.1823,
"after": 0.0,
"delta": -0.1823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0244,
"after": 0.0,
"delta": -0.0244,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0651,
"after": 4.0,
"delta": -0.0651,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3107,
"after": 0.0,
"delta": -0.3107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0623,
"after": 1.0,
"delta": -0.0623,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0949,
"after": 0.0,
"delta": -0.0949,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5611,
"after": 1.0,
"delta": 0.4389,
"percent_delta": 0.7822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7856,
"after": 1.0,
"delta": 0.2144,
"percent_delta": 0.2729,
"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.5611,
"after": 1.0,
"delta": 0.4389,
"percent_delta": 0.7822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3107,
"after": 0.0,
"delta": -0.3107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4977,
"after": 0.0,
"delta": -0.4977,
"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.4977,
"after": 0.0,
"delta": -0.4977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2613,
"after": 0.25,
"delta": -0.0113,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3138,
"after": 0.25,
"delta": -0.0638,
"percent_delta": -0.2033,
"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.3882,
"after": 0.25,
"delta": -0.1382,
"percent_delta": -0.356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3882,
"after": 0.25,
"delta": -0.1382,
"percent_delta": -0.356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2613,
"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.3138,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3882,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2613,
"delta": 0.0113,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3138,
"delta": 0.0638,
"percent_delta": 0.255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3882,
"delta": 0.1382,
"percent_delta": 0.5527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3882,
"delta": 0.1382,
"percent_delta": 0.5527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"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": 4.21,
"after": 4.0,
"delta": -0.21,
"percent_delta": -0.0499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2613,
"delta": 0.0133,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0,
"delta": -0.05,
"percent_delta": -0.0476,
"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.328,
"after": 0.3138,
"delta": -0.0142,
"percent_delta": -0.0433,
"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.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3882,
"delta": -0.0058,
"percent_delta": -0.0147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 2.0,
"delta": 1.176,
"percent_delta": 1.4272,
"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.824,
"after": 2.0,
"delta": 1.176,
"percent_delta": 1.4272,
"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.162 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 4.210 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.338 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.441 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.394 | - |
| 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.182 | 0.020 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 4.065 | -0.145 |
| predicted_AVG | 0.263 | 0.015 |
| predicted_BB | 0.311 | -0.027 |
| predicted_H | 1.069 | 0.019 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.095 | -0.005 |
| predicted_OBP | 0.331 | 0.003 |
| predicted_R | 0.503 | 0.062 |
| predicted_RBI | 0.567 | 0.007 |
| predicted_SLG | 0.403 | 0.009 |
| predicted_SO | 0.785 | -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.182 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 4.065 | 0.000 |
| predicted_AVG | 0.261 | -0.002 |
| predicted_BB | 0.311 | -0.000 |
| predicted_H | 1.062 | -0.007 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.095 | 0.000 |
| predicted_OBP | 0.314 | -0.017 |
| predicted_R | 0.498 | -0.005 |
| predicted_RBI | 0.561 | -0.006 |
| predicted_SLG | 0.388 | -0.015 |
| predicted_SO | 0.786 | 0.001 |
AB rounded to 4 (raw=4.21), rates preserved: AVG=0.252 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 | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.182 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | -0.065 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.311 |
| predicted_H | 1.000 | -0.062 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.250 | -0.064 |
| predicted_R | 0.000 | -0.498 |
| predicted_RBI | 1.000 | 0.439 |
| predicted_SLG | 0.250 | -0.138 |
| predicted_SO | 1.000 | 0.214 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 8.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 0.000 | 3.000 | 0.3636 | 0.3636 | 0.5909 | 0.3636 | 0.0454 | 0.2273 | 0.0000 | 0.1364 |
| last_10 | 0.20 | 10 | - | 36.000 | 12.000 | 2.000 | 0.000 | 1.000 | 6.000 | 7.000 | 3.000 | 5.000 | 0.3333 | 0.3750 | 0.4722 | 0.3333 | 0.0278 | 0.1667 | 0.0833 | 0.1389 |
| season | 0.60 | 68 | - | 257.000 | 63.000 | 11.000 | 2.000 | 3.000 | 31.000 | 30.000 | 23.000 | 56.000 | 0.2451 | 0.3138 | 0.3385 | 0.2451 | 0.0117 | 0.1206 | 0.0895 | 0.2179 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2100 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.8670 |
| predicted_AVG | 0.2831 |
| predicted_BB | 0.2740 |
| predicted_H | 1.0950 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.3339 |
| predicted_R | 0.5880 |
| predicted_RBI | 0.5770 |
| predicted_SLG | 0.4152 |
| predicted_SO | 0.7310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.2100 | 0.1823 | model_form_blend |
| predicted_3B | 0.0290 | 0.0180 | 0.0244 | model_form_blend |
| predicted_AB | 4.2100 | 3.8670 | 4.0651 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2831 | 0.2628 | model_form_blend |
| predicted_BB | 0.3380 | 0.2740 | 0.3110 | model_form_blend |
| predicted_H | 1.0500 | 1.0950 | 1.0690 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.1000 | 0.0880 | 0.0949 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3339 | 0.3305 | model_form_blend |
| predicted_R | 0.4410 | 0.5880 | 0.5031 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5770 | 0.5672 | model_form_blend |
| predicted_SLG | 0.3940 | 0.4152 | 0.4030 | model_form_blend |
| predicted_SO | 0.8240 | 0.7310 | 0.7847 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 223 |
| Season rows before report date | 223 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.245 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.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 | 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 | 20260624_ARI@STL |
| game_type | full |
| mlbID | 691026 |
| playerID | 691026 |
| playerName | Masyn Winn |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.296 |
| sl_xwoba | 0.304 |
| sl_xba | 0.259 |
| sl_xslg | 0.331 |
| sl_sweet_spot_percent | 33.2 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 33.7 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 42.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.263 | 0.000 | 0.000 | Hitting_2B | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.240 | 3.000 | 4.000 | Hitting_AB | 4.036 | 3.000 | -1.036 | 0.000 |
| predicted_AVG | 0.258 | 0.000 | 0.250 | Hitting_AVG | 0.281 | 0.333 | -0.281 | -0.333 |
| predicted_BB | 0.368 | 1.000 | 0.000 | Hitting_BB | 0.393 | 0.000 | 0.607 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.090 | 0.000 | 1.000 | Hitting_H | 1.135 | 1.000 | -1.135 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_OBP | 0.352 | 0.250 | 0.250 | Hitting_OBP | 0.346 | 0.333 | -0.096 | -0.083 |
| predicted_R | 0.553 | 0.000 | 1.000 | Hitting_R | 0.536 | 0.000 | -0.536 | 0.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.706 | 0.000 | -0.706 | 0.000 |
| predicted_SLG | 0.476 | 0.000 | 0.250 | Hitting_SLG | 0.464 | 0.333 | -0.464 | -0.333 |
| predicted_SO | 0.645 | 1.000 | 1.000 | Hitting_SO | 0.722 | 0.000 | 0.278 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.3680 -> 1.0000 (boost 0.6320, better) |
| Biggest Deboost | predicted_AB: 4.2400 -> 3.0000 (deboost -1.2400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_AVG: 0.2580 -> 0.2768 (boost 0.0188, better) | predicted_AB: 4.2400 -> 4.0676 (deboost -0.1724, worse) | Final model input calibrated with local 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.4894 -> 0.4558 (deboost -0.0336, 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.5800 -> 1.0000 (boost 0.4200, worse) | predicted_BB: 0.3625 -> 0.0000 (deboost -0.3625, worse) | AB rounded to 4 (raw=4.24), rates preserved: AVG=0.262 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5373 -> 1.0000 (boost 0.4627, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4558 -> 0.2500 (deboost -0.2058, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4558 (boost 0.2058, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676475",
"player_name": "Alec Burleson",
"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.263,
"predicted_3B": 0.013,
"predicted_AB": 4.24,
"predicted_AVG": 0.258,
"predicted_BB": 0.368,
"predicted_H": 1.09,
"predicted_HR": 0.14,
"predicted_OBP": 0.352,
"predicted_R": 0.553,
"predicted_RBI": 0.68,
"predicted_SLG": 0.476,
"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.2749,
"predicted_3B": 0.0356,
"predicted_AB": 4.0676,
"predicted_AVG": 0.2768,
"predicted_BB": 0.3629,
"predicted_H": 1.1194,
"predicted_HBP": 0.082,
"predicted_HR": 0.1319,
"predicted_OBP": 0.3595,
"predicted_R": 0.5432,
"predicted_RBI": 0.6821,
"predicted_SLG": 0.4894,
"predicted_SO": 0.5794
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.263,
"after": 0.2749,
"delta": 0.0119,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0356,
"delta": 0.0226,
"percent_delta": 1.7385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.24,
"after": 4.0676,
"delta": -0.1724,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2768,
"delta": 0.0188,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.3629,
"delta": -0.0051,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.1194,
"delta": 0.0294,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1319,
"delta": -0.0081,
"percent_delta": -0.0579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3595,
"delta": 0.0075,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.553,
"after": 0.5432,
"delta": -0.0098,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.6821,
"delta": 0.0021,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4894,
"delta": 0.0134,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.645,
"after": 0.5794,
"delta": -0.0656,
"percent_delta": -0.1017,
"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.258,
"after": 0.2768,
"delta": 0.0188,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.24,
"after": 4.0676,
"delta": -0.1724,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2749,
"predicted_3B": 0.0356,
"predicted_AB": 4.0676,
"predicted_AVG": 0.2735,
"predicted_BB": 0.3625,
"predicted_H": 1.1123,
"predicted_HBP": 0.082,
"predicted_HR": 0.1319,
"predicted_OBP": 0.3329,
"predicted_R": 0.5373,
"predicted_RBI": 0.6747,
"predicted_SLG": 0.4558,
"predicted_SO": 0.58
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2749,
"after": 0.2749,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0356,
"after": 0.0356,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0676,
"after": 4.0676,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2768,
"after": 0.2735,
"delta": -0.0033,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3629,
"after": 0.3625,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1194,
"after": 1.1123,
"delta": -0.0071,
"percent_delta": -0.0063,
"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.1319,
"after": 0.1319,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3595,
"after": 0.3329,
"delta": -0.0266,
"percent_delta": -0.074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5432,
"after": 0.5373,
"delta": -0.0059,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6821,
"after": 0.6747,
"delta": -0.0074,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4894,
"after": 0.4558,
"delta": -0.0336,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5794,
"after": 0.58,
"delta": 0.0006,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4894,
"after": 0.4558,
"delta": -0.0336,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.24), rates preserved: AVG=0.262 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2749,
"after": 0.0,
"delta": -0.2749,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0356,
"after": 0.0,
"delta": -0.0356,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0676,
"after": 4.0,
"delta": -0.0676,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"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": 1.1123,
"after": 1.0,
"delta": -0.1123,
"percent_delta": -0.101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 0.0,
"delta": -0.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1319,
"after": 0.0,
"delta": -0.1319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6747,
"after": 1.0,
"delta": 0.3253,
"percent_delta": 0.4821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"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.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "worse",
"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": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5373,
"after": 1.0,
"delta": 0.4627,
"percent_delta": 0.8612,
"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.5373,
"after": 1.0,
"delta": 0.4627,
"percent_delta": 0.8612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2735,
"after": 0.25,
"delta": -0.0235,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3329,
"after": 0.25,
"delta": -0.0829,
"percent_delta": -0.249,
"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.4558,
"after": 0.25,
"delta": -0.2058,
"percent_delta": -0.4515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4558,
"after": 0.25,
"delta": -0.2058,
"percent_delta": -0.4515,
"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": 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": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2735,
"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.3329,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4558,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2735,
"delta": 0.0235,
"percent_delta": 0.0939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3329,
"delta": 0.0829,
"percent_delta": 0.3317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4558,
"delta": 0.2058,
"percent_delta": 0.8232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4558,
"delta": 0.2058,
"percent_delta": 0.8232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.24,
"after": 3.0,
"delta": -1.24,
"percent_delta": -0.2925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2735,
"delta": 0.0155,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 1.0,
"delta": 0.632,
"percent_delta": 1.7174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 0.0,
"delta": -1.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3329,
"delta": -0.0191,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.553,
"after": 0.0,
"delta": -0.553,
"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.476,
"after": 0.4558,
"delta": -0.0202,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.645,
"after": 1.0,
"delta": 0.355,
"percent_delta": 0.5504,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.368,
"after": 1.0,
"delta": 0.632,
"percent_delta": 1.7174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.24,
"after": 3.0,
"delta": -1.24,
"percent_delta": -0.2925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.263 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 4.240 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.352 | - |
| predicted_R | 0.553 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.476 | - |
| 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.275 | 0.012 |
| predicted_3B | 0.036 | 0.023 |
| predicted_AB | 4.068 | -0.172 |
| predicted_AVG | 0.277 | 0.019 |
| predicted_BB | 0.363 | -0.005 |
| predicted_H | 1.119 | 0.029 |
| predicted_HBP | 0.082 | - |
| predicted_HR | 0.132 | -0.008 |
| predicted_OBP | 0.359 | 0.008 |
| predicted_R | 0.543 | -0.010 |
| predicted_RBI | 0.682 | 0.002 |
| predicted_SLG | 0.489 | 0.013 |
| predicted_SO | 0.579 | -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.275 | 0.000 |
| predicted_3B | 0.036 | 0.000 |
| predicted_AB | 4.068 | 0.000 |
| predicted_AVG | 0.274 | -0.003 |
| predicted_BB | 0.362 | -0.000 |
| predicted_H | 1.112 | -0.007 |
| predicted_HBP | 0.082 | 0.000 |
| predicted_HR | 0.132 | 0.000 |
| predicted_OBP | 0.333 | -0.027 |
| predicted_R | 0.537 | -0.006 |
| predicted_RBI | 0.675 | -0.007 |
| predicted_SLG | 0.456 | -0.034 |
| predicted_SO | 0.580 | 0.001 |
AB rounded to 4 (raw=4.24), rates preserved: AVG=0.262 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.275 |
| predicted_3B | 0.000 | -0.036 |
| predicted_AB | 4.000 | -0.068 |
| predicted_AVG | 0.250 | -0.024 |
| predicted_BB | 0.000 | -0.362 |
| predicted_H | 1.000 | -0.112 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.250 | -0.083 |
| predicted_R | 1.000 | 0.463 |
| predicted_RBI | 1.000 | 0.325 |
| predicted_SLG | 0.250 | -0.206 |
| predicted_SO | 1.000 | 0.420 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 2.000 | 1.000 | 0.000 | 3.000 | 3.000 | 2.000 | 0.000 | 0.3889 | 0.4762 | 0.6111 | 0.3889 | 0.0000 | 0.1667 | 0.1111 | 0.0000 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 3.000 | 1.000 | 1.000 | 7.000 | 4.000 | 3.000 | 4.000 | 0.2895 | 0.3488 | 0.5000 | 0.2895 | 0.0263 | 0.1842 | 0.0790 | 0.1053 |
| season | 0.60 | 76 | - | 298.000 | 85.000 | 20.000 | 1.000 | 13.000 | 56.000 | 42.000 | 28.000 | 49.000 | 0.2852 | 0.3494 | 0.4899 | 0.2852 | 0.0436 | 0.1879 | 0.0940 | 0.1644 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2910 |
| predicted_3B | 0.0660 |
| predicted_AB | 3.8350 |
| predicted_AVG | 0.3021 |
| predicted_BB | 0.3560 |
| predicted_H | 1.1590 |
| predicted_HBP | 0.0820 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.3695 |
| predicted_R | 0.5300 |
| predicted_RBI | 0.6850 |
| predicted_SLG | 0.5074 |
| predicted_SO | 0.4910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2630 | 0.2910 | 0.2749 | model_form_blend |
| predicted_3B | 0.0130 | 0.0660 | 0.0356 | model_form_blend |
| predicted_AB | 4.2400 | 3.8350 | 4.0676 | model_form_blend |
| predicted_AVG | 0.2580 | 0.3021 | 0.2768 | model_form_blend |
| predicted_BB | 0.3680 | 0.3560 | 0.3629 | model_form_blend |
| predicted_H | 1.0900 | 1.1590 | 1.1194 | model_form_blend |
| predicted_HBP | - | 0.0820 | 0.0820 | form_only |
| predicted_HR | 0.1400 | 0.1210 | 0.1319 | model_form_blend |
| predicted_OBP | 0.3520 | 0.3695 | 0.3595 | model_form_blend |
| predicted_R | 0.5530 | 0.5300 | 0.5432 | model_form_blend |
| predicted_RBI | 0.6800 | 0.6850 | 0.6821 | model_form_blend |
| predicted_SLG | 0.4760 | 0.5074 | 0.4894 | model_form_blend |
| predicted_SO | 0.6450 | 0.4910 | 0.5794 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 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 | 20260624_ARI@STL |
| game_type | ph |
| mlbID | 676475 |
| note | Grounded out for Pagés, P in the 4th. |
| playerID | 676475 |
| playerName | Alec Burleson |
| pos | 1B |
| started | False |
| startingPosition | PH |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 14.5 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.364 |
| sl_xwoba | 0.388 |
| sl_xba | 0.297 |
| sl_xslg | 0.546 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 48.4 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 50.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_3B | 0.083 | 0.000 | 0.000 | Hitting_3B | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_AB | 3.620 | 4.000 | 4.000 | Hitting_AB | 3.500 | 3.000 | 0.500 | 1.000 |
| predicted_AVG | 0.247 | 0.750 | 0.250 | Hitting_AVG | 0.286 | 0.667 | 0.464 | 0.083 |
| predicted_BB | 0.167 | 0.000 | 0.000 | Hitting_BB | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 3.000 | 1.000 | Hitting_H | 1.000 | 2.000 | 2.000 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_OBP | 0.298 | 0.750 | 0.250 | Hitting_OBP | 0.298 | 0.500 | 0.452 | 0.250 |
| predicted_R | 0.417 | 0.000 | 0.000 | Hitting_R | 0.417 | 0.000 | -0.417 | 0.000 |
| predicted_RBI | 0.720 | 0.000 | 1.000 | Hitting_RBI | 1.000 | 3.000 | -1.000 | -3.000 |
| predicted_SLG | 0.402 | 0.750 | 0.250 | Hitting_SLG | 0.476 | 1.000 | 0.274 | -0.250 |
| predicted_SO | 0.333 | 1.000 | 0.000 | Hitting_SO | 0.333 | 0.000 | 0.667 | 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.8900 -> 3.0000 (boost 2.1100, better) |
| Biggest Deboost | predicted_RBI: 0.7200 -> 0.0000 (deboost -0.7200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 0.3330 -> 0.3942 (boost 0.0612, worse) | - | Final model input calibrated with local 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.4053 -> 0.4258 (boost 0.0205, better) | predicted_OBP: 0.2963 -> 0.2862 (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 | 3 | 5 | 4 | 4 | predicted_AB: 3.6109 -> 4.0000 (boost 0.3891, better) | predicted_SO: 0.3946 -> 0.0000 (deboost -0.3946, better) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.249 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3995 -> 0.0000 (deboost -0.3995, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4258 -> 0.2500 (deboost -0.1758, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4258 (boost 0.1758, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691458",
"player_name": "Blaze Jordan",
"position": "3B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.083,
"predicted_AB": 3.62,
"predicted_AVG": 0.247,
"predicted_BB": 0.167,
"predicted_H": 0.89,
"predicted_HR": 0.09,
"predicted_OBP": 0.298,
"predicted_R": 0.417,
"predicted_RBI": 0.72,
"predicted_SLG": 0.402,
"predicted_SO": 0.333
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2429,
"predicted_3B": 0.0675,
"predicted_AB": 3.6109,
"predicted_AVG": 0.2519,
"predicted_BB": 0.1858,
"predicted_H": 0.9065,
"predicted_HBP": 0.013,
"predicted_HR": 0.0863,
"predicted_OBP": 0.2963,
"predicted_R": 0.4039,
"predicted_RBI": 0.7654,
"predicted_SLG": 0.4053,
"predicted_SO": 0.3942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2429,
"delta": -0.0071,
"percent_delta": -0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.083,
"after": 0.0675,
"delta": -0.0155,
"percent_delta": -0.1867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.62,
"after": 3.6109,
"delta": -0.0091,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2519,
"delta": 0.0049,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.1858,
"delta": 0.0188,
"percent_delta": 0.1126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9065,
"delta": 0.0165,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0863,
"delta": -0.0037,
"percent_delta": -0.0411,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2963,
"delta": -0.0017,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.4039,
"delta": -0.0131,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.7654,
"delta": 0.0454,
"percent_delta": 0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4053,
"delta": 0.0033,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.333,
"after": 0.3942,
"delta": 0.0612,
"percent_delta": 0.1838,
"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.333,
"after": 0.3942,
"delta": 0.0612,
"percent_delta": 0.1838,
"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": 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.2429,
"predicted_3B": 0.0675,
"predicted_AB": 3.6109,
"predicted_AVG": 0.2495,
"predicted_BB": 0.1856,
"predicted_H": 0.9008,
"predicted_HBP": 0.013,
"predicted_HR": 0.0863,
"predicted_OBP": 0.2862,
"predicted_R": 0.3995,
"predicted_RBI": 0.7571,
"predicted_SLG": 0.4258,
"predicted_SO": 0.3946
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2429,
"after": 0.2429,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0675,
"after": 0.0675,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6109,
"after": 3.6109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2519,
"after": 0.2495,
"delta": -0.0024,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1858,
"after": 0.1856,
"delta": -0.0002,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9065,
"after": 0.9008,
"delta": -0.0057,
"percent_delta": -0.0063,
"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.0863,
"after": 0.0863,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2963,
"after": 0.2862,
"delta": -0.0101,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4039,
"after": 0.3995,
"delta": -0.0044,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7654,
"after": 0.7571,
"delta": -0.0083,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4053,
"after": 0.4258,
"delta": 0.0205,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3942,
"after": 0.3946,
"delta": 0.0004,
"percent_delta": 0.001,
"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.4053,
"after": 0.4258,
"delta": 0.0205,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2963,
"after": 0.2862,
"delta": -0.0101,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.249 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2429,
"after": 0.0,
"delta": -0.2429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0675,
"after": 0.0,
"delta": -0.0675,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6109,
"after": 4.0,
"delta": 0.3891,
"percent_delta": 0.1078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1856,
"after": 0.0,
"delta": -0.1856,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9008,
"after": 1.0,
"delta": 0.0992,
"percent_delta": 0.1101,
"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.0863,
"after": 0.0,
"delta": -0.0863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7571,
"after": 1.0,
"delta": 0.2429,
"percent_delta": 0.3208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3946,
"after": 0.0,
"delta": -0.3946,
"percent_delta": -1.0,
"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": 3.6109,
"after": 4.0,
"delta": 0.3891,
"percent_delta": 0.1078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3946,
"after": 0.0,
"delta": -0.3946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3995,
"after": 0.0,
"delta": -0.3995,
"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.3995,
"after": 0.0,
"delta": -0.3995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2495,
"after": 0.25,
"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.2862,
"after": 0.25,
"delta": -0.0362,
"percent_delta": -0.1265,
"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.4258,
"after": 0.25,
"delta": -0.1758,
"percent_delta": -0.4129,
"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.4258,
"after": 0.25,
"delta": -0.1758,
"percent_delta": -0.4129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2495,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 3.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.4258,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2495,
"delta": -0.0005,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.25,
"after": 0.2862,
"delta": 0.0362,
"percent_delta": 0.1446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4258,
"delta": 0.1758,
"percent_delta": 0.7032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4258,
"delta": 0.1758,
"percent_delta": 0.7032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.62,
"after": 4.0,
"delta": 0.38,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2495,
"delta": 0.0025,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 3.0,
"delta": 2.11,
"percent_delta": 2.3708,
"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.2862,
"delta": -0.0118,
"percent_delta": -0.0396,
"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.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4258,
"delta": 0.0238,
"percent_delta": 0.0592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"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.89,
"after": 3.0,
"delta": 2.11,
"percent_delta": 2.3708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.083 | - |
| predicted_AB | 3.620 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.167 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.417 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.333 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.243 | -0.007 |
| predicted_3B | 0.068 | -0.015 |
| predicted_AB | 3.611 | -0.009 |
| predicted_AVG | 0.252 | 0.005 |
| predicted_BB | 0.186 | 0.019 |
| predicted_H | 0.906 | 0.016 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.086 | -0.004 |
| predicted_OBP | 0.296 | -0.002 |
| predicted_R | 0.404 | -0.013 |
| predicted_RBI | 0.765 | 0.045 |
| predicted_SLG | 0.405 | 0.003 |
| predicted_SO | 0.394 | 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.243 | 0.000 |
| predicted_3B | 0.068 | 0.000 |
| predicted_AB | 3.611 | 0.000 |
| predicted_AVG | 0.249 | -0.002 |
| predicted_BB | 0.186 | -0.000 |
| predicted_H | 0.901 | -0.006 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.086 | 0.000 |
| predicted_OBP | 0.286 | -0.010 |
| predicted_R | 0.400 | -0.004 |
| predicted_RBI | 0.757 | -0.008 |
| predicted_SLG | 0.426 | 0.021 |
| predicted_SO | 0.395 | 0.000 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.249 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 | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.243 |
| predicted_3B | 0.000 | -0.068 |
| predicted_AB | 4.000 | 0.389 |
| predicted_AVG | 0.250 | 0.001 |
| predicted_BB | 0.000 | -0.186 |
| predicted_H | 1.000 | 0.099 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.250 | -0.036 |
| predicted_R | 0.000 | -0.400 |
| predicted_RBI | 1.000 | 0.243 |
| predicted_SLG | 0.250 | -0.176 |
| predicted_SO | 0.000 | -0.395 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 1.000 | 0.000 | 0.000 | 7.000 | 0.000 | 1.000 | 2.000 | 0.2500 | 0.2500 | 0.3125 | 0.2500 | 0.0000 | 0.4375 | 0.0625 | 0.1250 |
| last_10 | 0.20 | 10 | - | 34.000 | 8.000 | 3.000 | 0.000 | 0.000 | 8.000 | 3.000 | 2.000 | 2.000 | 0.2353 | 0.2564 | 0.3235 | 0.2353 | 0.0000 | 0.2353 | 0.0588 | 0.0588 |
| season | 0.60 | 12 | - | 42.000 | 12.000 | 3.000 | 1.000 | 1.000 | 12.000 | 5.000 | 2.000 | 4.000 | 0.2857 | 0.2979 | 0.4762 | 0.2857 | 0.0238 | 0.2857 | 0.0476 | 0.0952 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2290 |
| predicted_3B | 0.0370 |
| predicted_AB | 3.5930 |
| predicted_AVG | 0.2615 |
| predicted_BB | 0.2230 |
| predicted_H | 0.9390 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0790 |
| predicted_OBP | 0.2930 |
| predicted_R | 0.3780 |
| predicted_RBI | 0.8550 |
| predicted_SLG | 0.4118 |
| predicted_SO | 0.5150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2290 | 0.2429 | model_form_blend |
| predicted_3B | 0.0830 | 0.0370 | 0.0675 | model_form_blend |
| predicted_AB | 3.6200 | 3.5930 | 3.6109 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2615 | 0.2519 | model_form_blend |
| predicted_BB | 0.1670 | 0.2230 | 0.1858 | model_form_blend |
| predicted_H | 0.8900 | 0.9390 | 0.9065 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0900 | 0.0790 | 0.0863 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2930 | 0.2963 | model_form_blend |
| predicted_R | 0.4170 | 0.3780 | 0.4039 | model_form_blend |
| predicted_RBI | 0.7200 | 0.8550 | 0.7654 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4118 | 0.4053 | model_form_blend |
| predicted_SO | 0.3330 | 0.5150 | 0.3942 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| 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 | 0 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| 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 | 1B-3B |
| gameID | 20260624_ARI@STL |
| game_type | full |
| mlbID | 691458 |
| playerID | 691458 |
| playerName | Blaze Jordan |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 8.5 |
| sl_bb_percent | 4.3 |
| sl_woba | 0.321 |
| sl_xwoba | 0.292 |
| sl_xba | 0.241 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 24.4 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 7.1 |
| sl_whiff_percent | 16.7 |
| sl_swing_percent | 55.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.235 | 0.000 | 0.000 | Hitting_2B | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_3B | 0.059 | 0.000 | 0.000 | Hitting_3B | 0.059 | 1.000 | -0.059 | -1.000 |
| predicted_AB | 3.471 | 3.000 | 4.000 | Hitting_AB | 3.471 | 4.000 | -0.471 | -1.000 |
| predicted_AVG | 0.265 | 0.000 | 0.250 | Hitting_AVG | 0.288 | 0.250 | -0.288 | -0.250 |
| predicted_BB | 0.588 | 0.000 | 1.000 | Hitting_BB | 0.588 | 0.000 | -0.588 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.850 | 0.000 | 1.000 | Hitting_H | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.356 | 0.000 | 0.400 | Hitting_OBP | 0.386 | 0.250 | -0.386 | -0.250 |
| predicted_R | 0.706 | 1.000 | 1.000 | Hitting_R | 0.706 | 1.000 | 0.294 | 0.000 |
| predicted_RBI | 0.370 | 1.000 | 0.000 | Hitting_RBI | 0.412 | 0.000 | 0.588 | 1.000 |
| predicted_SLG | 0.446 | 0.000 | 0.250 | Hitting_SLG | 0.492 | 0.750 | -0.492 | -0.750 |
| predicted_SO | 0.882 | 2.000 | 1.000 | Hitting_SO | 0.882 | 1.000 | 1.118 | 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_SO: 0.8820 -> 2.0000 (boost 1.1180, worse) |
| Biggest Deboost | predicted_H: 0.8500 -> 0.0000 (deboost -0.8500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.8500 -> 0.9181 (boost 0.0681, 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.4557 -> 0.4408 (deboost -0.0149, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_AB: 3.5065 -> 4.0000 (boost 0.4935, better) | predicted_RBI: 0.3685 -> 0.0000 (deboost -0.3685, worse) | AB rounded to 4 (raw=3.51), rates preserved: AVG=0.260 HR/AB=0.025 |
| 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 | 1 | 0 | 1 | 0 | predicted_R: 0.6991 -> 1.0000 (boost 0.3009, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3621 -> 0.4000 (boost 0.0379, better) | predicted_SLG: 0.4408 -> 0.2500 (deboost -0.1908, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 3 | 3 | 1 | 4 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4408 (boost 0.1908, better) | predicted_OBP: 0.4000 -> 0.3621 (deboost -0.0379, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663457",
"player_name": "Lars Nootbaar",
"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.235,
"predicted_3B": 0.059,
"predicted_AB": 3.471,
"predicted_AVG": 0.265,
"predicted_BB": 0.588,
"predicted_H": 0.85,
"predicted_HR": 0.09,
"predicted_OBP": 0.356,
"predicted_R": 0.706,
"predicted_RBI": 0.37,
"predicted_SLG": 0.446,
"predicted_SO": 0.882
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2372,
"predicted_3B": 0.0641,
"predicted_AB": 3.5065,
"predicted_AVG": 0.2744,
"predicted_BB": 0.5608,
"predicted_H": 0.9181,
"predicted_HBP": 0.01,
"predicted_HR": 0.0893,
"predicted_OBP": 0.3636,
"predicted_R": 0.7067,
"predicted_RBI": 0.3725,
"predicted_SLG": 0.4557,
"predicted_SO": 0.8516
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.2372,
"delta": 0.0022,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0641,
"delta": 0.0051,
"percent_delta": 0.0864,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.471,
"after": 3.5065,
"delta": 0.0355,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2744,
"delta": 0.0094,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.588,
"after": 0.5608,
"delta": -0.0272,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.9181,
"delta": 0.0681,
"percent_delta": 0.0801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0893,
"delta": -0.0007,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3636,
"delta": 0.0076,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.706,
"after": 0.7067,
"delta": 0.0007,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3725,
"delta": 0.0025,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.446,
"after": 0.4557,
"delta": 0.0097,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 0.8516,
"delta": -0.0304,
"percent_delta": -0.0345,
"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.85,
"after": 0.9181,
"delta": 0.0681,
"percent_delta": 0.0801,
"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.2372,
"predicted_3B": 0.0641,
"predicted_AB": 3.5065,
"predicted_AVG": 0.2602,
"predicted_BB": 0.5602,
"predicted_H": 0.9123,
"predicted_HBP": 0.01,
"predicted_HR": 0.0893,
"predicted_OBP": 0.3621,
"predicted_R": 0.6991,
"predicted_RBI": 0.3685,
"predicted_SLG": 0.4408,
"predicted_SO": 0.8525
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2372,
"after": 0.2372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0641,
"after": 0.0641,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5065,
"after": 3.5065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2744,
"after": 0.2602,
"delta": -0.0142,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5608,
"after": 0.5602,
"delta": -0.0006,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9181,
"after": 0.9123,
"delta": -0.0058,
"percent_delta": -0.0063,
"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.0893,
"after": 0.0893,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3636,
"after": 0.3621,
"delta": -0.0015,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7067,
"after": 0.6991,
"delta": -0.0076,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3725,
"after": 0.3685,
"delta": -0.004,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4557,
"after": 0.4408,
"delta": -0.0149,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8516,
"after": 0.8525,
"delta": 0.0009,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4557,
"after": 0.4408,
"delta": -0.0149,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.51), rates preserved: AVG=0.260 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.2372,
"after": 0.0,
"delta": -0.2372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0641,
"after": 0.0,
"delta": -0.0641,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5065,
"after": 4.0,
"delta": 0.4935,
"percent_delta": 0.1407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5602,
"after": 1.0,
"delta": 0.4398,
"percent_delta": 0.7851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9123,
"after": 1.0,
"delta": 0.0877,
"percent_delta": 0.0961,
"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.0893,
"after": 0.0,
"delta": -0.0893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3685,
"after": 0.0,
"delta": -0.3685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8525,
"after": 1.0,
"delta": 0.1475,
"percent_delta": 0.173,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5065,
"after": 4.0,
"delta": 0.4935,
"percent_delta": 0.1407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3685,
"after": 0.0,
"delta": -0.3685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.6991,
"after": 1.0,
"delta": 0.3009,
"percent_delta": 0.4304,
"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.6991,
"after": 1.0,
"delta": 0.3009,
"percent_delta": 0.4304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2602,
"after": 0.25,
"delta": -0.0102,
"percent_delta": -0.0392,
"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.3621,
"after": 0.4,
"delta": 0.0379,
"percent_delta": 0.1047,
"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.4408,
"after": 0.25,
"delta": -0.1908,
"percent_delta": -0.4328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3621,
"after": 0.4,
"delta": 0.0379,
"percent_delta": 0.1047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4408,
"after": 0.25,
"delta": -0.1908,
"percent_delta": -0.4328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"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_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.2602,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3621,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4408,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2602,
"delta": 0.0102,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3621,
"delta": -0.0379,
"percent_delta": -0.0948,
"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.25,
"after": 0.4408,
"delta": 0.1908,
"percent_delta": 0.7631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4408,
"delta": 0.1908,
"percent_delta": 0.7631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3621,
"delta": -0.0379,
"percent_delta": -0.0948,
"direction": "deboost",
"projection_effect": "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.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.471,
"after": 3.0,
"delta": -0.471,
"percent_delta": -0.1357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2602,
"delta": -0.0048,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.588,
"after": 0.0,
"delta": -0.588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3621,
"delta": 0.0061,
"percent_delta": 0.0171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.706,
"after": 1.0,
"delta": 0.294,
"percent_delta": 0.4164,
"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.446,
"after": 0.4408,
"delta": -0.0052,
"percent_delta": -0.0117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 2.0,
"delta": 1.118,
"percent_delta": 1.2676,
"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.882,
"after": 2.0,
"delta": 1.118,
"percent_delta": 1.2676,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.059 | - |
| predicted_AB | 3.471 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.588 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.706 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.446 | - |
| predicted_SO | 0.882 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | 0.002 |
| predicted_3B | 0.064 | 0.005 |
| predicted_AB | 3.506 | 0.035 |
| predicted_AVG | 0.274 | 0.009 |
| predicted_BB | 0.561 | -0.027 |
| predicted_H | 0.918 | 0.068 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.364 | 0.008 |
| predicted_R | 0.707 | 0.001 |
| predicted_RBI | 0.372 | 0.003 |
| predicted_SLG | 0.456 | 0.010 |
| predicted_SO | 0.852 | -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.237 | 0.000 |
| predicted_3B | 0.064 | 0.000 |
| predicted_AB | 3.506 | 0.000 |
| predicted_AVG | 0.260 | -0.014 |
| predicted_BB | 0.560 | -0.001 |
| predicted_H | 0.912 | -0.006 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.089 | 0.000 |
| predicted_OBP | 0.362 | -0.002 |
| predicted_R | 0.699 | -0.008 |
| predicted_RBI | 0.368 | -0.004 |
| predicted_SLG | 0.441 | -0.015 |
| predicted_SO | 0.853 | 0.001 |
AB rounded to 4 (raw=3.51), rates preserved: AVG=0.260 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 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.237 |
| predicted_3B | 0.000 | -0.064 |
| predicted_AB | 4.000 | 0.494 |
| predicted_AVG | 0.250 | -0.010 |
| predicted_BB | 1.000 | 0.440 |
| predicted_H | 1.000 | 0.088 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.400 | 0.038 |
| predicted_R | 1.000 | 0.301 |
| predicted_RBI | 0.000 | -0.368 |
| predicted_SLG | 0.250 | -0.191 |
| predicted_SO | 1.000 | 0.147 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.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 | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.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 | 6.000 | 2.000 | 1.000 | 0.000 | 1.000 | 5.000 | 3.000 | 2.000 | 0.3333 | 0.4286 | 0.5556 | 0.3333 | 0.0000 | 0.0556 | 0.1667 | 0.1111 |
| last_10 | 0.20 | 10 | - | 32.000 | 11.000 | 2.000 | 1.000 | 0.000 | 2.000 | 8.000 | 6.000 | 8.000 | 0.3438 | 0.4359 | 0.4688 | 0.3438 | 0.0000 | 0.0625 | 0.1875 | 0.2500 |
| season | 0.60 | 17 | - | 59.000 | 17.000 | 4.000 | 1.000 | 2.000 | 7.000 | 12.000 | 10.000 | 15.000 | 0.2881 | 0.3857 | 0.4915 | 0.2881 | 0.0339 | 0.1186 | 0.1695 | 0.2542 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2410 |
| predicted_3B | 0.0730 |
| predicted_AB | 3.5690 |
| predicted_AVG | 0.2910 |
| predicted_BB | 0.5130 |
| predicted_H | 1.0380 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.3770 |
| predicted_R | 0.7080 |
| predicted_RBI | 0.3770 |
| predicted_SLG | 0.4729 |
| predicted_SO | 0.7980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.2410 | 0.2372 | model_form_blend |
| predicted_3B | 0.0590 | 0.0730 | 0.0641 | model_form_blend |
| predicted_AB | 3.4710 | 3.5690 | 3.5065 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2910 | 0.2744 | model_form_blend |
| predicted_BB | 0.5880 | 0.5130 | 0.5608 | model_form_blend |
| predicted_H | 0.8500 | 1.0380 | 0.9181 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0900 | 0.0880 | 0.0893 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3770 | 0.3636 | model_form_blend |
| predicted_R | 0.7060 | 0.7080 | 0.7067 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3770 | 0.3725 | model_form_blend |
| predicted_SLG | 0.4460 | 0.4729 | 0.4557 | model_form_blend |
| predicted_SO | 0.8820 | 0.7980 | 0.8516 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.288 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF-LF-RF |
| gameID | 20260624_ARI@STL |
| game_type | full |
| mlbID | 663457 |
| playerID | 663457 |
| playerName | Lars Nootbaar |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.376 |
| sl_xwoba | 0.398 |
| sl_xba | 0.292 |
| sl_xslg | 0.557 |
| sl_sweet_spot_percent | 42.2 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 55.6 |
| sl_exit_velocity_avg | 93.7 |
| sl_launch_angle_avg | 7.7 |
| sl_whiff_percent | 17.2 |
| sl_swing_percent | 35.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.211 | 0.000 | 0.000 | Hitting_2B | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.921 | 4.000 | 4.000 | Hitting_AB | 3.931 | 3.000 | 0.069 | 1.000 |
| predicted_AVG | 0.250 | 0.500 | 0.250 | Hitting_AVG | 0.316 | 0.333 | 0.184 | 0.167 |
| predicted_BB | 0.303 | 0.000 | 0.000 | Hitting_BB | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_H | 0.970 | 2.000 | 1.000 | Hitting_H | 1.242 | 1.000 | 0.758 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_OBP | 0.317 | 0.500 | 0.250 | Hitting_OBP | 0.378 | 0.333 | 0.122 | 0.167 |
| predicted_R | 0.592 | 1.000 | 0.000 | Hitting_R | 0.730 | 0.000 | 0.270 | 1.000 |
| predicted_RBI | 0.510 | 1.000 | 1.000 | Hitting_RBI | 0.863 | 0.000 | 0.137 | 1.000 |
| predicted_SLG | 0.419 | 0.500 | 0.250 | Hitting_SLG | 0.598 | 0.333 | -0.098 | 0.167 |
| predicted_SO | 1.092 | 1.000 | 1.000 | Hitting_SO | 1.101 | 2.000 | -0.101 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.9700 -> 2.0000 (boost 1.0300, better) |
| Biggest Deboost | predicted_BB: 0.3030 -> 0.0000 (deboost -0.3030, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2500 -> 0.2609 (boost 0.0109, better) | predicted_R: 0.5920 -> 0.4933 (deboost -0.0987, worse) | Final model input calibrated with local 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.3182 -> 0.3086 (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 | 6 | 2 | 4 | 3 | 3 | predicted_RBI: 0.5032 -> 1.0000 (boost 0.4968, better) | predicted_BB: 0.2857 -> 0.0000 (deboost -0.2857, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.255 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4880 -> 0.0000 (deboost -0.4880, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4128 -> 0.2500 (deboost -0.1628, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4128 (boost 0.1628, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691023",
"player_name": "Jordan Walker",
"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.211,
"predicted_3B": 0.0,
"predicted_AB": 3.921,
"predicted_AVG": 0.25,
"predicted_BB": 0.303,
"predicted_H": 0.97,
"predicted_HR": 0.15,
"predicted_OBP": 0.317,
"predicted_R": 0.592,
"predicted_RBI": 0.51,
"predicted_SLG": 0.419,
"predicted_SO": 1.092
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1761,
"predicted_3B": 0.0004,
"predicted_AB": 3.8844,
"predicted_AVG": 0.2609,
"predicted_BB": 0.286,
"predicted_H": 1.0074,
"predicted_HBP": 0.017,
"predicted_HR": 0.1419,
"predicted_OBP": 0.3182,
"predicted_R": 0.4933,
"predicted_RBI": 0.5087,
"predicted_SLG": 0.4164,
"predicted_SO": 1.1014
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.1761,
"delta": -0.0349,
"percent_delta": -0.1654,
"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.921,
"after": 3.8844,
"delta": -0.0366,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2609,
"delta": 0.0109,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.286,
"delta": -0.017,
"percent_delta": -0.0561,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0074,
"delta": 0.0374,
"percent_delta": 0.0386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1419,
"delta": -0.0081,
"percent_delta": -0.054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3182,
"delta": 0.0012,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 0.4933,
"delta": -0.0987,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5087,
"delta": -0.0013,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4164,
"delta": -0.0026,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.092,
"after": 1.1014,
"delta": 0.0094,
"percent_delta": 0.0086,
"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.25,
"after": 0.2609,
"delta": 0.0109,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.592,
"after": 0.4933,
"delta": -0.0987,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1761,
"predicted_3B": 0.0004,
"predicted_AB": 3.8844,
"predicted_AVG": 0.2577,
"predicted_BB": 0.2857,
"predicted_H": 1.0011,
"predicted_HBP": 0.017,
"predicted_HR": 0.1419,
"predicted_OBP": 0.3086,
"predicted_R": 0.488,
"predicted_RBI": 0.5032,
"predicted_SLG": 0.4128,
"predicted_SO": 1.1026
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1761,
"after": 0.1761,
"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.8844,
"after": 3.8844,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2609,
"after": 0.2577,
"delta": -0.0032,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.2857,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0074,
"after": 1.0011,
"delta": -0.0063,
"percent_delta": -0.0063,
"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.1419,
"after": 0.1419,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3182,
"after": 0.3086,
"delta": -0.0096,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4933,
"after": 0.488,
"delta": -0.0053,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5087,
"after": 0.5032,
"delta": -0.0055,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4164,
"after": 0.4128,
"delta": -0.0036,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1014,
"after": 1.1026,
"delta": 0.0012,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3182,
"after": 0.3086,
"delta": -0.0096,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.255 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1761,
"after": 0.0,
"delta": -0.1761,
"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.8844,
"after": 4.0,
"delta": 0.1156,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2857,
"after": 0.0,
"delta": -0.2857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0011,
"after": 1.0,
"delta": -0.0011,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1419,
"after": 0.0,
"delta": -0.1419,
"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": 1.1026,
"after": 1.0,
"delta": -0.1026,
"percent_delta": -0.0931,
"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.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.2857,
"after": 0.0,
"delta": -0.2857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.488,
"after": 0.0,
"delta": -0.488,
"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.488,
"after": 0.0,
"delta": -0.488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2577,
"after": 0.25,
"delta": -0.0077,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3086,
"after": 0.25,
"delta": -0.0586,
"percent_delta": -0.1899,
"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.4128,
"after": 0.25,
"delta": -0.1628,
"percent_delta": -0.3944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4128,
"after": 0.25,
"delta": -0.1628,
"percent_delta": -0.3944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2577,
"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.3086,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4128,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2577,
"delta": 0.0077,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3086,
"delta": 0.0586,
"percent_delta": 0.2343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4128,
"delta": 0.1628,
"percent_delta": 0.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4128,
"delta": 0.1628,
"percent_delta": 0.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.921,
"after": 4.0,
"delta": 0.079,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2577,
"delta": 0.0077,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 2.0,
"delta": 1.03,
"percent_delta": 1.0619,
"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.317,
"after": 0.3086,
"delta": -0.0084,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"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.419,
"after": 0.4128,
"delta": -0.0062,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.092,
"after": 1.0,
"delta": -0.092,
"percent_delta": -0.0842,
"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.97,
"after": 2.0,
"delta": 1.03,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"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.211 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.921 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.303 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.592 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.419 | - |
| predicted_SO | 1.092 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.035 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.884 | -0.037 |
| predicted_AVG | 0.261 | 0.011 |
| predicted_BB | 0.286 | -0.017 |
| predicted_H | 1.007 | 0.037 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.142 | -0.008 |
| predicted_OBP | 0.318 | 0.001 |
| predicted_R | 0.493 | -0.099 |
| predicted_RBI | 0.509 | -0.001 |
| predicted_SLG | 0.416 | -0.003 |
| predicted_SO | 1.101 | 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.176 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.884 | 0.000 |
| predicted_AVG | 0.258 | -0.003 |
| predicted_BB | 0.286 | -0.000 |
| predicted_H | 1.001 | -0.006 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.142 | 0.000 |
| predicted_OBP | 0.309 | -0.010 |
| predicted_R | 0.488 | -0.005 |
| predicted_RBI | 0.503 | -0.006 |
| predicted_SLG | 0.413 | -0.004 |
| predicted_SO | 1.103 | 0.001 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.255 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.176 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.116 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.286 |
| predicted_H | 1.000 | -0.001 |
| predicted_HR | 0.000 | -0.142 |
| predicted_OBP | 0.250 | -0.059 |
| predicted_R | 0.000 | -0.488 |
| predicted_RBI | 1.000 | 0.497 |
| predicted_SLG | 0.250 | -0.163 |
| predicted_SO | 1.000 | -0.103 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 6.000 | 0.2778 | 0.3000 | 0.2778 | 0.2778 | 0.0000 | 0.0556 | 0.0556 | 0.3333 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 12.000 | 0.2368 | 0.2683 | 0.2368 | 0.2368 | 0.0000 | 0.0526 | 0.0526 | 0.3158 |
| season | 0.60 | 76 | - | 298.000 | 87.000 | 16.000 | 0.000 | 17.000 | 55.000 | 45.000 | 23.000 | 83.000 | 0.2919 | 0.3446 | 0.5168 | 0.2919 | 0.0570 | 0.1846 | 0.0772 | 0.2785 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8350 |
| predicted_AVG | 0.2757 |
| predicted_BB | 0.2630 |
| predicted_H | 1.0580 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.3198 |
| predicted_R | 0.3600 |
| predicted_RBI | 0.5070 |
| predicted_SLG | 0.4128 |
| predicted_SO | 1.1140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.1290 | 0.1761 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9210 | 3.8350 | 3.8844 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2757 | 0.2609 | model_form_blend |
| predicted_BB | 0.3030 | 0.2630 | 0.2860 | model_form_blend |
| predicted_H | 0.9700 | 1.0580 | 1.0074 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1500 | 0.1310 | 0.1419 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3198 | 0.3182 | model_form_blend |
| predicted_R | 0.5920 | 0.3600 | 0.4933 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5070 | 0.5087 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4128 | 0.4164 | model_form_blend |
| predicted_SO | 1.0920 | 1.1140 | 1.1014 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 248 |
| Season rows before report date | 248 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.292 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260624_ARI@STL |
| game_type | full |
| mlbID | 691023 |
| playerID | 691023 |
| playerName | Jordan Walker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.371 |
| sl_xwoba | 0.364 |
| sl_xba | 0.284 |
| sl_xslg | 0.509 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 51.1 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 52.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.118 | 1.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | 0.882 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.930 | 4.000 | 3.000 | Hitting_AB | 2.765 | 2.000 | 1.235 | 2.000 |
| predicted_AVG | 0.232 | 0.250 | 0.333 | Hitting_AVG | 0.170 | 0.000 | 0.080 | 0.250 |
| predicted_BB | 0.294 | 0.000 | 0.000 | Hitting_BB | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.471 | 0.000 | 0.529 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.286 | 0.250 | 0.333 | Hitting_OBP | 0.264 | 0.000 | -0.014 | 0.250 |
| predicted_R | 0.118 | 0.000 | 0.000 | Hitting_R | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.412 | 0.000 | -0.412 | 0.000 |
| predicted_SLG | 0.328 | 0.500 | 0.333 | Hitting_SLG | 0.277 | 0.000 | 0.223 | 0.500 |
| predicted_SO | 0.824 | 0.000 | 1.000 | Hitting_SO | 0.824 | 1.000 | -0.824 | -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_AB: 2.9300 -> 4.0000 (boost 1.0700, better) |
| Biggest Deboost | predicted_SO: 0.8240 -> 0.0000 (deboost -0.8240, 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.9300 -> 2.9999 (boost 0.0699, better) | predicted_AVG: 0.2320 -> 0.2191 (deboost -0.0129, worse) | Final model input calibrated with local 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.3177 -> 0.3324 (boost 0.0147, 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.6515 -> 1.0000 (boost 0.3485, better) | predicted_RBI: 0.3971 -> 0.0000 (deboost -0.3971, worse) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.217 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1495 -> 0.0000 (deboost -0.1495, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2172 -> 0.3330 (boost 0.1158, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2172 (deboost -0.1158, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699625",
"player_name": "Jimmy Crooks",
"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.118,
"predicted_3B": 0.0,
"predicted_AB": 2.93,
"predicted_AVG": 0.232,
"predicted_BB": 0.294,
"predicted_H": 0.68,
"predicted_HR": 0.08,
"predicted_OBP": 0.286,
"predicted_R": 0.118,
"predicted_RBI": 0.4,
"predicted_SLG": 0.328,
"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.1194,
"predicted_3B": 0.0014,
"predicted_AB": 2.9999,
"predicted_AVG": 0.2191,
"predicted_BB": 0.283,
"predicted_H": 0.6556,
"predicted_HBP": 0.08,
"predicted_HR": 0.0745,
"predicted_OBP": 0.2823,
"predicted_R": 0.1511,
"predicted_RBI": 0.4014,
"predicted_SLG": 0.3177,
"predicted_SO": 0.8219
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1194,
"delta": 0.0014,
"percent_delta": 0.0119,
"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.93,
"after": 2.9999,
"delta": 0.0699,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2191,
"delta": -0.0129,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.283,
"delta": -0.011,
"percent_delta": -0.0374,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.6556,
"delta": -0.0244,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0745,
"delta": -0.0055,
"percent_delta": -0.0688,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2823,
"delta": -0.0037,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.118,
"after": 0.1511,
"delta": 0.0331,
"percent_delta": 0.2805,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4014,
"delta": 0.0014,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3177,
"delta": -0.0103,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.8219,
"delta": -0.0021,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_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.93,
"after": 2.9999,
"delta": 0.0699,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2191,
"delta": -0.0129,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1194,
"predicted_3B": 0.0014,
"predicted_AB": 2.9999,
"predicted_AVG": 0.2172,
"predicted_BB": 0.2827,
"predicted_H": 0.6515,
"predicted_HBP": 0.08,
"predicted_HR": 0.0745,
"predicted_OBP": 0.2846,
"predicted_R": 0.1495,
"predicted_RBI": 0.3971,
"predicted_SLG": 0.3324,
"predicted_SO": 0.8228
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1194,
"after": 0.1194,
"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.9999,
"after": 2.9999,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2191,
"after": 0.2172,
"delta": -0.0019,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 0.2827,
"delta": -0.0003,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6556,
"after": 0.6515,
"delta": -0.0041,
"percent_delta": -0.0063,
"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.0745,
"after": 0.0745,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2823,
"after": 0.2846,
"delta": 0.0023,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.1511,
"after": 0.1495,
"delta": -0.0016,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4014,
"after": 0.3971,
"delta": -0.0043,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3177,
"after": 0.3324,
"delta": 0.0147,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8219,
"after": 0.8228,
"delta": 0.0009,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_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.3177,
"after": 0.3324,
"delta": 0.0147,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.00), rates preserved: AVG=0.217 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.1194,
"after": 0.0,
"delta": -0.1194,
"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.9999,
"after": 3.0,
"delta": 0.0001,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2827,
"after": 0.0,
"delta": -0.2827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6515,
"after": 1.0,
"delta": 0.3485,
"percent_delta": 0.5349,
"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.0745,
"after": 0.0,
"delta": -0.0745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3971,
"after": 0.0,
"delta": -0.3971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8228,
"after": 1.0,
"delta": 0.1772,
"percent_delta": 0.2154,
"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.6515,
"after": 1.0,
"delta": 0.3485,
"percent_delta": 0.5349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3971,
"after": 0.0,
"delta": -0.3971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.1495,
"after": 0.0,
"delta": -0.1495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.1495,
"after": 0.0,
"delta": -0.1495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2172,
"after": 0.333,
"delta": 0.1158,
"percent_delta": 0.5331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0484,
"percent_delta": 0.1701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3324,
"after": 0.333,
"delta": 0.0006,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2172,
"after": 0.333,
"delta": 0.1158,
"percent_delta": 0.5331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2172,
"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.2846,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3324,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2172,
"delta": -0.1158,
"percent_delta": -0.3479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2846,
"delta": -0.0484,
"percent_delta": -0.1454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3324,
"delta": -0.0006,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2172,
"delta": -0.1158,
"percent_delta": -0.3479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 1.0,
"delta": 0.882,
"percent_delta": 7.4746,
"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.93,
"after": 4.0,
"delta": 1.07,
"percent_delta": 0.3652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2172,
"delta": -0.0148,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"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.286,
"after": 0.2846,
"delta": -0.0014,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"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.328,
"after": 0.3324,
"delta": 0.0044,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.0,
"delta": -0.824,
"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_AB",
"before": 2.93,
"after": 4.0,
"delta": 1.07,
"percent_delta": 0.3652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.824,
"after": 0.0,
"delta": -0.824,
"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.118 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.930 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.294 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.118 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.328 | - |
| 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.119 | 0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.000 | 0.070 |
| predicted_AVG | 0.219 | -0.013 |
| predicted_BB | 0.283 | -0.011 |
| predicted_H | 0.656 | -0.024 |
| predicted_HBP | 0.080 | - |
| predicted_HR | 0.074 | -0.006 |
| predicted_OBP | 0.282 | -0.004 |
| predicted_R | 0.151 | 0.033 |
| predicted_RBI | 0.401 | 0.001 |
| predicted_SLG | 0.318 | -0.010 |
| predicted_SO | 0.822 | -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.119 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.000 | 0.000 |
| predicted_AVG | 0.217 | -0.002 |
| predicted_BB | 0.283 | -0.000 |
| predicted_H | 0.651 | -0.004 |
| predicted_HBP | 0.080 | 0.000 |
| predicted_HR | 0.074 | 0.000 |
| predicted_OBP | 0.285 | 0.002 |
| predicted_R | 0.149 | -0.002 |
| predicted_RBI | 0.397 | -0.004 |
| predicted_SLG | 0.332 | 0.015 |
| predicted_SO | 0.823 | 0.001 |
AB rounded to 3 (raw=3.00), rates preserved: AVG=0.217 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.119 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.000 |
| predicted_AVG | 0.333 | 0.116 |
| predicted_BB | 0.000 | -0.283 |
| predicted_H | 1.000 | 0.349 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.333 | 0.048 |
| predicted_R | 0.000 | -0.149 |
| predicted_RBI | 0.000 | -0.397 |
| predicted_SLG | 0.333 | 0.001 |
| predicted_SO | 1.000 | 0.177 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 4.000 | 0.1429 | 0.2000 | 0.1429 | 0.1429 | 0.0000 | 0.0714 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 10 | - | 25.000 | 4.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 3.000 | 6.000 | 0.1600 | 0.2759 | 0.2000 | 0.1600 | 0.0000 | 0.1200 | 0.1200 | 0.2400 |
| season | 0.60 | 17 | - | 47.000 | 8.000 | 2.000 | 0.000 | 1.000 | 7.000 | 2.000 | 5.000 | 14.000 | 0.1702 | 0.2642 | 0.2766 | 0.1702 | 0.0213 | 0.1489 | 0.1064 | 0.2979 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.1330 |
| predicted_AVG | 0.1944 |
| predicted_BB | 0.2620 |
| predicted_H | 0.6090 |
| predicted_HBP | 0.0800 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.2752 |
| predicted_R | 0.2140 |
| predicted_RBI | 0.4040 |
| predicted_SLG | 0.2980 |
| predicted_SO | 0.8180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.1220 | 0.1194 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.9300 | 3.1330 | 2.9999 | model_form_blend |
| predicted_AVG | 0.2320 | 0.1944 | 0.2191 | model_form_blend |
| predicted_BB | 0.2940 | 0.2620 | 0.2830 | model_form_blend |
| predicted_H | 0.6800 | 0.6090 | 0.6556 | model_form_blend |
| predicted_HBP | - | 0.0800 | 0.0800 | form_only |
| predicted_HR | 0.0800 | 0.0640 | 0.0745 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2752 | 0.2823 | model_form_blend |
| predicted_R | 0.1180 | 0.2140 | 0.1511 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4040 | 0.4014 | model_form_blend |
| predicted_SLG | 0.3280 | 0.2980 | 0.3177 | model_form_blend |
| predicted_SO | 0.8240 | 0.8180 | 0.8219 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 4 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260624_ARI@STL |
| game_type | short |
| mlbID | 699625 |
| playerID | 699625 |
| playerName | Jimmy Crooks |
| pos | C |
| started | False |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.25 |
| sl_xwoba | 0.334 |
| sl_xba | 0.247 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 48.5 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 43.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 0.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.636 | 4.000 | 4.000 | Hitting_AB | 3.768 | 2.000 | 0.232 | 2.000 |
| predicted_AVG | 0.248 | 0.250 | 0.250 | Hitting_AVG | 0.259 | 0.000 | -0.009 | 0.250 |
| predicted_BB | 0.597 | 0.000 | 1.000 | Hitting_BB | 0.592 | 1.000 | -0.592 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 0.978 | 0.000 | 0.022 | 1.000 |
| predicted_HR | 0.120 | 1.000 | 0.000 | Hitting_HR | 0.116 | 0.000 | 0.884 | 1.000 |
| predicted_OBP | 0.388 | 0.250 | 0.400 | Hitting_OBP | 0.391 | 0.333 | -0.141 | -0.083 |
| predicted_R | 0.662 | 1.000 | 1.000 | Hitting_R | 0.622 | 0.000 | 0.378 | 1.000 |
| predicted_RBI | 0.480 | 1.000 | 1.000 | Hitting_RBI | 0.464 | 0.000 | 0.536 | 1.000 |
| predicted_SLG | 0.401 | 1.000 | 0.250 | Hitting_SLG | 0.406 | 0.000 | 0.594 | 1.000 |
| predicted_SO | 0.714 | 1.000 | 1.000 | Hitting_SO | 0.798 | 1.000 | 0.202 | 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_HR: 0.1200 -> 1.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_BB: 0.5970 -> 0.0000 (deboost -0.5970, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3880 -> 0.4020 (boost 0.0140, better) | predicted_AB: 3.6360 -> 3.5515 (deboost -0.0845, worse) | Final model input calibrated with local 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.4020 -> 0.3560 (deboost -0.0460, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_RBI: 0.4904 -> 1.0000 (boost 0.5096, better) | predicted_HBP: 0.2890 -> 0.0000 (deboost -0.2890, worse) | AB rounded to 4 (raw=3.64), rates preserved: AVG=0.234 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6679 -> 1.0000 (boost 0.3321, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3560 -> 0.4000 (boost 0.0440, better) | predicted_SLG: 0.3877 -> 0.2500 (deboost -0.1377, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3877 (boost 0.1377, better) | predicted_OBP: 0.4000 -> 0.3560 (deboost -0.0440, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671056",
"player_name": "Iván Herrera",
"position": "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.169,
"predicted_3B": 0.0,
"predicted_AB": 3.636,
"predicted_AVG": 0.248,
"predicted_BB": 0.597,
"predicted_H": 0.83,
"predicted_HR": 0.12,
"predicted_OBP": 0.388,
"predicted_R": 0.662,
"predicted_RBI": 0.48,
"predicted_SLG": 0.401,
"predicted_SO": 0.714
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1404,
"predicted_3B": 0.0004,
"predicted_AB": 3.5515,
"predicted_AVG": 0.2527,
"predicted_BB": 0.644,
"predicted_H": 0.8556,
"predicted_HBP": 0.289,
"predicted_HR": 0.1285,
"predicted_OBP": 0.402,
"predicted_R": 0.6752,
"predicted_RBI": 0.4958,
"predicted_SLG": 0.4053,
"predicted_SO": 0.6918
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1404,
"delta": -0.0286,
"percent_delta": -0.1692,
"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.636,
"after": 3.5515,
"delta": -0.0845,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2527,
"delta": 0.0047,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.597,
"after": 0.644,
"delta": 0.047,
"percent_delta": 0.0787,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8556,
"delta": 0.0256,
"percent_delta": 0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1285,
"delta": 0.0085,
"percent_delta": 0.0708,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.402,
"delta": 0.014,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.662,
"after": 0.6752,
"delta": 0.0132,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4958,
"delta": 0.0158,
"percent_delta": 0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4053,
"delta": 0.0043,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.6918,
"delta": -0.0222,
"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.388,
"after": 0.402,
"delta": 0.014,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.636,
"after": 3.5515,
"delta": -0.0845,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1404,
"predicted_3B": 0.0004,
"predicted_AB": 3.5515,
"predicted_AVG": 0.2394,
"predicted_BB": 0.6433,
"predicted_H": 0.8502,
"predicted_HBP": 0.289,
"predicted_HR": 0.1285,
"predicted_OBP": 0.356,
"predicted_R": 0.6679,
"predicted_RBI": 0.4904,
"predicted_SLG": 0.3877,
"predicted_SO": 0.6926
},
"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.5515,
"after": 3.5515,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2527,
"after": 0.2394,
"delta": -0.0133,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.644,
"after": 0.6433,
"delta": -0.0007,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8556,
"after": 0.8502,
"delta": -0.0054,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.289,
"after": 0.289,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1285,
"after": 0.1285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.402,
"after": 0.356,
"delta": -0.046,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6752,
"after": 0.6679,
"delta": -0.0073,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4958,
"after": 0.4904,
"delta": -0.0054,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4053,
"after": 0.3877,
"delta": -0.0176,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6918,
"after": 0.6926,
"delta": 0.0008,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.402,
"after": 0.356,
"delta": -0.046,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.64), rates preserved: AVG=0.234 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 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.5515,
"after": 4.0,
"delta": 0.4485,
"percent_delta": 0.1263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6433,
"after": 1.0,
"delta": 0.3567,
"percent_delta": 0.5545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8502,
"after": 1.0,
"delta": 0.1498,
"percent_delta": 0.1762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1285,
"after": 0.0,
"delta": -0.1285,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4904,
"after": 1.0,
"delta": 0.5096,
"percent_delta": 1.0392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6926,
"after": 1.0,
"delta": 0.3074,
"percent_delta": 0.4438,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4904,
"after": 1.0,
"delta": 0.5096,
"percent_delta": 1.0392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6679,
"after": 1.0,
"delta": 0.3321,
"percent_delta": 0.4972,
"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.6679,
"after": 1.0,
"delta": 0.3321,
"percent_delta": 0.4972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2394,
"after": 0.25,
"delta": 0.0106,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.4,
"delta": 0.044,
"percent_delta": 0.1236,
"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.3877,
"after": 0.25,
"delta": -0.1377,
"percent_delta": -0.3552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.4,
"delta": 0.044,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3877,
"after": 0.25,
"delta": -0.1377,
"percent_delta": -0.3552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2394,
"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.356,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3877,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2394,
"delta": -0.0106,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.356,
"delta": -0.044,
"percent_delta": -0.1099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3877,
"delta": 0.1377,
"percent_delta": 0.5507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3877,
"delta": 0.1377,
"percent_delta": 0.5507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.356,
"delta": -0.044,
"percent_delta": -0.1099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"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.636,
"after": 4.0,
"delta": 0.364,
"percent_delta": 0.1001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2394,
"delta": -0.0086,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.597,
"after": 0.0,
"delta": -0.597,
"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.388,
"after": 0.356,
"delta": -0.032,
"percent_delta": -0.0825,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.662,
"after": 1.0,
"delta": 0.338,
"percent_delta": 0.5106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 1.0,
"delta": 0.52,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3877,
"delta": -0.0133,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 1.0,
"delta": 0.286,
"percent_delta": 0.4006,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.597,
"after": 0.0,
"delta": -0.597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.000 | - |
| predicted_AB | 3.636 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.597 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.388 | - |
| predicted_R | 0.662 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.714 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | -0.029 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.551 | -0.085 |
| predicted_AVG | 0.253 | 0.005 |
| predicted_BB | 0.644 | 0.047 |
| predicted_H | 0.856 | 0.026 |
| predicted_HBP | 0.289 | - |
| predicted_HR | 0.129 | 0.009 |
| predicted_OBP | 0.402 | 0.014 |
| predicted_R | 0.675 | 0.013 |
| predicted_RBI | 0.496 | 0.016 |
| predicted_SLG | 0.405 | 0.004 |
| predicted_SO | 0.692 | -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.140 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.551 | 0.000 |
| predicted_AVG | 0.239 | -0.013 |
| predicted_BB | 0.643 | -0.001 |
| predicted_H | 0.850 | -0.005 |
| predicted_HBP | 0.289 | 0.000 |
| predicted_HR | 0.129 | 0.000 |
| predicted_OBP | 0.356 | -0.046 |
| predicted_R | 0.668 | -0.007 |
| predicted_RBI | 0.490 | -0.005 |
| predicted_SLG | 0.388 | -0.018 |
| predicted_SO | 0.693 | 0.001 |
AB rounded to 4 (raw=3.64), rates preserved: AVG=0.234 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.140 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.449 |
| predicted_AVG | 0.250 | 0.011 |
| predicted_BB | 1.000 | 0.357 |
| predicted_H | 1.000 | 0.150 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.400 | 0.044 |
| predicted_R | 1.000 | 0.332 |
| predicted_RBI | 1.000 | 0.510 |
| predicted_SLG | 0.250 | -0.138 |
| predicted_SO | 1.000 | 0.307 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 5.000 | 3.000 | 0.3333 | 0.5238 | 0.5333 | 0.3333 | 0.0667 | 0.2667 | 0.3333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 7.000 | 8.000 | 5.000 | 0.1935 | 0.4318 | 0.2903 | 0.1935 | 0.0323 | 0.1290 | 0.2581 | 0.1613 |
| season | 0.60 | 77 | - | 280.000 | 72.000 | 13.000 | 0.000 | 10.000 | 34.000 | 51.000 | 46.000 | 55.000 | 0.2571 | 0.3983 | 0.4107 | 0.2571 | 0.0357 | 0.1214 | 0.1643 | 0.1964 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4380 |
| predicted_AVG | 0.2589 |
| predicted_BB | 0.7070 |
| predicted_H | 0.8900 |
| predicted_HBP | 0.2890 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.4208 |
| predicted_R | 0.6930 |
| predicted_RBI | 0.5170 |
| predicted_SLG | 0.4111 |
| predicted_SO | 0.6620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1020 | 0.1404 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6360 | 3.4380 | 3.5515 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2589 | 0.2527 | model_form_blend |
| predicted_BB | 0.5970 | 0.7070 | 0.6440 | model_form_blend |
| predicted_H | 0.8300 | 0.8900 | 0.8556 | model_form_blend |
| predicted_HBP | - | 0.2890 | 0.2890 | form_only |
| predicted_HR | 0.1200 | 0.1400 | 0.1285 | model_form_blend |
| predicted_OBP | 0.3880 | 0.4208 | 0.4020 | model_form_blend |
| predicted_R | 0.6620 | 0.6930 | 0.6752 | model_form_blend |
| predicted_RBI | 0.4800 | 0.5170 | 0.4958 | model_form_blend |
| predicted_SLG | 0.4010 | 0.4111 | 0.4053 | model_form_blend |
| predicted_SO | 0.7140 | 0.6620 | 0.6918 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 267 |
| Season rows before report date | 267 |
| Report year | 2026 |
| Profile rows used | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.257 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260624_ARI@STL |
| game_type | full |
| mlbID | 671056 |
| playerID | 671056 |
| playerName | Iván Herrera |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-24 |
| sl_k_percent | 15.5 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.369 |
| sl_xwoba | 0.371 |
| sl_xba | 0.266 |
| sl_xslg | 0.418 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 7.4 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 42.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.333 | 1.000 | 0.667 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.067 | 5.000 | -0.067 | -3.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.067 | 8.000 | 1.933 | -1.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.493 | 5.000 | -0.393 | 0.100 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 3.533 | 2.000 | 3.467 | 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: 5.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "700241",
"player_name": "Michael McGreevy",
"position": "Starter",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_R": 2.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 7.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.000 | 16.000 | 32.000 | 8.000 | 16.000 | 5.000 | 5.3333 | 1.4815 | 0.5926 | 1.1852 | 0.2963 | 0.5926 | 0.1852 |
| last_10 | 0.35 | 10 | 56.000 | 21.000 | 56.000 | 15.000 | 38.000 | 8.000 | 3.3750 | 1.2679 | 0.3750 | 1.0000 | 0.2679 | 0.6786 | 0.1429 |
| season | 0.20 | 15 | 83.100 | 31.000 | 76.000 | 20.000 | 53.000 | 12.000 | 3.3480 | 1.1520 | 0.3720 | 0.9120 | 0.2400 | 0.6360 | 0.1440 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6210 |
| predicted_ER | 2.6210 |
| predicted_ERA | 4.3123 |
| predicted_H | 5.6990 |
| predicted_HR | 0.8650 |
| predicted_IP | 5.1000 |
| predicted_SO | 3.8860 |
| predicted_WHIP | 1.3380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.6210 | 1.7937 | model_form_blend |
| predicted_ER | 2.0000 | 2.6210 | 2.3381 | model_form_blend |
| predicted_ERA | - | 4.3123 | 4.3123 | form_only |
| predicted_H | 7.0000 | 5.6990 | 6.2918 | model_form_blend |
| predicted_HR | 1.0000 | 0.8650 | 0.9265 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 7.0000 | 3.8860 | 5.3048 | model_form_blend |
| predicted_WHIP | - | 1.3380 | 1.3380 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 7 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 7 |
| HR | 1 |
| BF | 25 |
| 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 | 23 |
| Pitching_ER | 5 |
| Pitching_ERA | 3.35 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 9 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 95 |
| Pitching_R | 5 |
| Pitching_SO | 2 |
| Pitching_Strikes | 60 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_STL@KC |
| game_type | full |
| mlbID | 700241 |
| playerID | 700241 |
| playerName | Michael McGreevy |
| pos | P |
| started | True |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-19 |
| sl_k_percent | 15.9 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.305 |
| sl_xwoba | 0.365 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 40.4 |
| sl_whiff_percent | 18.7 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 78.316342891 |
| sl_avg_hyper_speed | 94.726678945 |
| 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.353 | 0.000 | -0.353 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.735 | 0.000 | -0.735 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.824 | 0.100 | 0.176 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.794 | 0.000 | 0.206 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666277",
"player_name": "George Soriano",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 4.000 | 2.000 | 3.000 | 0.000 | 3.6000 | 1.2000 | 0.4000 | 0.8000 | 0.4000 | 0.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 3.000 | 10.000 | 2.000 | 9.000 | 1.000 | 2.7000 | 1.2000 | 0.3000 | 1.0000 | 0.2000 | 0.9000 | 0.1000 |
| season | 0.20 | 34 | 32.200 | 11.000 | 25.000 | 12.000 | 27.000 | 4.000 | 3.0306 | 1.1327 | 0.3367 | 0.7653 | 0.3674 | 0.8265 | 0.1225 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3400 |
| predicted_ER | 0.4170 |
| predicted_ERA | 3.7491 |
| predicted_H | 0.9090 |
| predicted_HR | 0.0970 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8360 |
| predicted_WHIP | 1.2489 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3400 | 0.1584 | model_form_blend |
| predicted_ER | 0.0000 | 0.4170 | 0.1942 | model_form_blend |
| predicted_ERA | - | 3.7491 | 3.7491 | form_only |
| predicted_H | 0.0000 | 0.9090 | 0.4234 | model_form_blend |
| predicted_HR | 0.0000 | 0.0970 | 0.0452 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8360 | 0.9236 | model_form_blend |
| predicted_WHIP | - | 1.2489 | 1.2489 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.03 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 666277 |
| playerID | 666277 |
| playerName | George Soriano |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-22 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.283 |
| sl_xwoba | 0.336 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 43.2 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 49.3 |
| sl_avg_best_speed | 81.065958936 |
| sl_avg_hyper_speed | 95.049114574 |
| 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.343 | 0.000 | -0.343 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.886 | 0.000 | -0.886 | 0.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 | 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": "668941",
"player_name": "JoJo Romero",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 4.000 | 6.000 | 1.000 | 4.000 | 2.000 | 8.3077 | 1.6154 | 0.9231 | 1.3846 | 0.2308 | 0.9231 | 0.4615 |
| last_10 | 0.35 | 10 | 8.100 | 7.000 | 10.000 | 2.000 | 11.000 | 2.000 | 7.5600 | 1.4400 | 0.8400 | 1.2000 | 0.2400 | 1.3200 | 0.2400 |
| season | 0.20 | 35 | 34.000 | 15.000 | 31.000 | 12.000 | 34.000 | 5.000 | 3.9706 | 1.2647 | 0.4412 | 0.9118 | 0.3529 | 1.0000 | 0.1471 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2820 |
| predicted_ER | 0.6260 |
| predicted_ERA | 6.0356 |
| predicted_H | 1.0420 |
| predicted_HR | 0.2300 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9530 |
| predicted_WHIP | 1.4181 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2820 | 0.1325 | model_form_blend |
| predicted_ER | 0.0000 | 0.6260 | 0.2942 | model_form_blend |
| predicted_ERA | - | 6.0356 | 6.0356 | form_only |
| predicted_H | 0.0000 | 1.0420 | 0.4897 | model_form_blend |
| predicted_HR | 0.0000 | 0.2300 | 0.1081 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9530 | 0.4478 | model_form_blend |
| predicted_WHIP | - | 1.4181 | 1.4181 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.97 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 668941 |
| playerID | 668941 |
| playerName | JoJo Romero |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-22 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.323 |
| sl_xwoba | 0.342 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 47.4 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 38.8 |
| sl_avg_best_speed | 82.372096522 |
| sl_avg_hyper_speed | 96.240829674 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.879 | 0.000 | -0.879 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.961 | 1.000 | 0.039 | 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": "676617",
"player_name": "Riley O'Brien",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 3.000 | 4.000 | 3.000 | 1.000 | 5.4000 | 1.4000 | 0.6000 | 0.6000 | 0.8000 | 0.6000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.100 | 7.000 | 9.000 | 8.000 | 8.000 | 1.000 | 6.0968 | 1.6452 | 0.6774 | 0.8710 | 0.7742 | 0.7742 | 0.0968 |
| season | 0.20 | 33 | 33.100 | 15.000 | 29.000 | 11.000 | 33.000 | 2.000 | 4.0500 | 1.2000 | 0.4500 | 0.8700 | 0.3300 | 0.9900 | 0.0600 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5520 |
| predicted_ER | 0.5550 |
| predicted_ERA | 4.9958 |
| predicted_H | 0.8440 |
| predicted_HR | 0.1400 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8290 |
| predicted_WHIP | 1.3957 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5520 | 0.2583 | model_form_blend |
| predicted_ER | 0.0000 | 0.5550 | 0.2597 | model_form_blend |
| predicted_ERA | - | 4.9958 | 4.9958 | form_only |
| predicted_H | 0.0000 | 0.8440 | 0.3949 | model_form_blend |
| predicted_HR | 0.0000 | 0.1400 | 0.0655 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8290 | 0.9200 | model_form_blend |
| predicted_WHIP | - | 1.3957 | 1.3957 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 10 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.05 |
| 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 | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 676617 |
| playerID | 676617 |
| playerName | Riley O'Brien |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-22 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.293 |
| sl_xwoba | 0.328 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 38.7 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 76.357905 |
| sl_avg_hyper_speed | 94.356781591 |
| 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.529 | 0.000 | -0.529 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.529 | 1.000 | -0.529 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.853 | 2.000 | -0.853 | -2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.747 | 0.200 | -0.547 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.088 | 0.000 | -1.088 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "592773",
"player_name": "Ryne Stanek",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 4.000 | 6.000 | 0.000 | 5.000 | 4.000 | 7.2000 | 1.2000 | 0.8000 | 1.2000 | 0.0000 | 1.0000 | 0.8000 |
| last_10 | 0.35 | 10 | 10.000 | 4.000 | 8.000 | 0.000 | 9.000 | 4.000 | 3.6000 | 0.8000 | 0.4000 | 0.8000 | 0.0000 | 0.9000 | 0.4000 |
| season | 0.20 | 34 | 31.000 | 18.000 | 29.000 | 18.000 | 37.000 | 6.000 | 5.2258 | 1.5161 | 0.5806 | 0.9355 | 0.5806 | 1.1936 | 0.1935 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1920 |
| predicted_ER | 0.4790 |
| predicted_ERA | 5.0745 |
| predicted_H | 0.8420 |
| predicted_HR | 0.3080 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8320 |
| predicted_WHIP | 1.2159 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1920 | 0.0884 | model_form_blend |
| predicted_ER | 0.0000 | 0.4790 | 0.2205 | model_form_blend |
| predicted_ERA | - | 5.0745 | 5.0745 | form_only |
| predicted_H | 0.0000 | 0.8420 | 0.3876 | model_form_blend |
| predicted_HR | 0.0000 | 0.3080 | 0.1418 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8320 | 0.3830 | model_form_blend |
| predicted_WHIP | - | 1.2159 | 1.2159 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.23 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 11 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260622_ARI@STL |
| game_type | full |
| mlbID | 592773 |
| playerID | 592773 |
| playerName | Ryne Stanek |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-22 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.34 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 31.7 |
| sl_swing_percent | 50.1 |
| sl_avg_best_speed | 79.581573571 |
| sl_avg_hyper_speed | 95.072228313 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CHC 4 - 3 NYM | CHC | 0.510 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CHC 5 - 2 NYM | CHC | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.9000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5100 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.100 | 5.280 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 3 | 0.5100 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 4 | 3 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 5 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4107069230769231,
"base_low_score_probability": 0.4238461538461539,
"low_score_signal_threshold": 0.5038461538461538,
"low_score_signal_strength": -0.013139230769230792,
"confidence": 0.6154999999999999,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 0.969
},
"prediction": "normal_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 9.9,
"low_score_model_expected_total_runs": 9.9,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 12,
"near_bucket_sample_size": 12,
"medium_bucket_sample_size": 12,
"wide_bucket_sample_size": 12,
"global_sample_size": 12,
"bucket_scope": "sparse_near_0.05",
"sparse_bucket": true,
"empirical_hit_rate": 0.3333,
"bayesian_hit_rate": 0.45,
"sample_weight": 0.255,
"prior_strength": 28.0,
"reliability": 0.3,
"confidence_cap": 0.525,
"raw_pick_probability": 0.5156,
"calibrated_pick_probability": 0.505,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "NYM",
"games": 80,
"wins": 34,
"losses": 46,
"win_pct": 0.425,
"runs_scored": 325,
"runs_allowed": 371,
"run_differential": -46,
"run_differential_per_game": -0.575,
"available": true
},
"away": {
"team": "CHC",
"games": 80,
"wins": 43,
"losses": 37,
"win_pct": 0.5375,
"runs_scored": 395,
"runs_allowed": 359,
"run_differential": 36,
"run_differential_per_game": 0.45,
"available": true
},
"run_differential_edge_per_game": -1.025,
"win_pct_edge": -0.1125,
"quality_edge": -1.1937,
"margin_adjustment": -0.5014,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.714,
"home_runs": 2.53,
"home_win_probability": 0.4844
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "CHC",
"guardrail_predicted_team": "CHC",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "CHC",
"output_opponent_team": "NYM",
"final_score_winner": "CHC",
"pre_simulation_winner": "CHC",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "CHC 4 - 3 NYM",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "CHC 5 - 2 NYM",
"winner": "CHC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "NYM",
"games": 80,
"wins": 34,
"losses": 46,
"win_pct": 0.425,
"runs_scored": 325,
"runs_allowed": 371,
"run_differential": -46,
"run_differential_per_game": -0.575,
"available": true
},
"away": {
"team": "CHC",
"games": 80,
"wins": 43,
"losses": 37,
"win_pct": 0.5375,
"runs_scored": 395,
"runs_allowed": 359,
"run_differential": 36,
"run_differential_per_game": 0.45,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.1836,
"final_margin": -0.1836,
"margin_cap": 2.0,
"season_quality_edge": 1.1937,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.505,
"final_confidence": 0.505,
"confidence_cap": 0.525,
"score_gap": 0.1836,
"calibration_sample_size": 12,
"calibration_empirical_hit_rate": 0.3333,
"calibration_bayesian_hit_rate": 0.45,
"calibration_sparse_bucket": true,
"season_quality_edge": 1.1937,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"historical confidence bucket is sparse",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "CHC 4 - 3 NYM",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "CHC 5 - 2 NYM",
"winner": "CHC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 4,
"home_runs": 3,
"confidence": 0.51,
"home_win_probability": 0.49,
"away_win_probability": 0.51,
"predicted_score_text": "CHC 4 - 3 NYM",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "CHC",
"original_runs": 4,
"run_delta": 0.0854,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.15162335176273936,
"contact": 0.2000464501466285,
"power": 0.1689085615693437,
"discipline": 0.40888134188266967,
"xwoba": 0.33131249999999995,
"recent_xwoba": 0.33131249999999995,
"barrel": 8.434375,
"ab_hard_contact": 0.01897480281544801,
"ab_bat_speed": 69.69794691383359,
"ab_strikeout_rate": 0.20118029006177496,
"available_players": 9,
"top_players": [
{
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"weight": 4.0,
"quality": 0.7833453288723963,
"contact": 0.8930993176266196,
"power": 1.1643766462292995,
"discipline": -0.20318867243867217,
"xwoba": 0.366,
"recent_xwoba": 0.366,
"barrel": 11.6,
"ab_hard_contact": 0.4816281626812401,
"ab_bat_speed": 71.59198015873015,
"ab_strikeout_rate": 0.25212121212121213,
"available": 1.0
},
{
"player_id": "624424",
"player_name": "Michael Conforto",
"position": "RF",
"weight": 3.0,
"quality": 0.2837326509614797,
"contact": 0.6100469775111795,
"power": 1.1629836826290332,
"discipline": -0.016810606060605804,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 13.4,
"ab_hard_contact": 0.994340319247337,
"ab_bat_speed": 71.50145161290322,
"ab_strikeout_rate": 0.31717171717171716,
"available": 1.0
},
{
"player_id": "683737",
"player_name": "Michael Busch",
"position": "1B",
"weight": 4.0,
"quality": 0.41504296848270505,
"contact": 0.3200360357122382,
"power": 0.45120737786628773,
"discipline": 0.7791335978835983,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 11.4,
"ab_hard_contact": 0.14148089065908354,
"ab_bat_speed": 65.7454809670782,
"ab_strikeout_rate": 0.22037037037037038,
"available": 1.0
},
{
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"weight": 4.0,
"quality": 0.2436879519911774,
"contact": -0.12433229217447238,
"power": 0.8128839328574019,
"discipline": -0.008560924369747841,
"xwoba": 0.328,
"recent_xwoba": 0.328,
"barrel": 13.8,
"ab_hard_contact": 0.6012977047670917,
"ab_bat_speed": 70.72080156136528,
"ab_strikeout_rate": 0.3169934640522876,
"available": 1.0
},
{
"player_id": "665804",
"player_name": "Miguel Amaya",
"position": "C",
"weight": 3.0,
"quality": -0.22908435412002964,
"contact": -0.7034507328062801,
"power": -0.6786991040025693,
"discipline": 0.4169636752136753,
"xwoba": 0.312,
"recent_xwoba": 0.312,
"barrel": 7.5,
"ab_hard_contact": -1.0509344610037739,
"ab_bat_speed": 69.29337683150183,
"ab_strikeout_rate": 0.2108974358974359,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "642547",
"player_name": "Freddy Peralta",
"quality": 0.011647270365055664,
"contact": -0.0871072076008728,
"command": 0.05064285714285726,
"movement": 0.04556528289296223,
"xwoba": 0.306,
"whiff": 26.7,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "NYM",
"original_runs": 3,
"run_delta": 0.1595,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.325716046674363,
"contact": 0.3267860101330774,
"power": 0.5699364126143879,
"discipline": -0.20545757597923023,
"xwoba": 0.32832258064516123,
"recent_xwoba": 0.3283225806451612,
"barrel": 10.293548387096774,
"ab_hard_contact": 0.18486035674244353,
"ab_bat_speed": 71.0469169652282,
"ab_strikeout_rate": 0.24402836450969628,
"available_players": 9,
"top_players": [
{
"player_id": "665742",
"player_name": "Juan Soto",
"position": "DH",
"weight": 4.0,
"quality": 1.1462594653101263,
"contact": 1.775704567846413,
"power": 1.793634656493503,
"discipline": 1.1144988202488204,
"xwoba": 0.42000000000000004,
"recent_xwoba": 0.42,
"barrel": 14.5,
"ab_hard_contact": 0.9321217012986378,
"ab_bat_speed": 70.41891355641356,
"ab_strikeout_rate": 0.148005148005148,
"available": 1.0
},
{
"player_id": "682626",
"player_name": "Francisco Alvarez",
"position": "C",
"weight": 3.0,
"quality": 0.42119705902359283,
"contact": 0.5679510559692296,
"power": 1.3379078248534593,
"discipline": -0.40854365079365057,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 17.1,
"ab_hard_contact": 0.24806125897395953,
"ab_bat_speed": 72.7064484126984,
"ab_strikeout_rate": 0.2276190476190476,
"available": 1.0
},
{
"player_id": "666182",
"player_name": "Bo Bichette",
"position": "3B",
"weight": 5.0,
"quality": 0.5517675811169199,
"contact": 0.8023486029835911,
"power": 0.4331092253874333,
"discipline": 0.022879629629629757,
"xwoba": 0.336,
"recent_xwoba": 0.336,
"barrel": 7.6,
"ab_hard_contact": -0.03724406367990578,
"ab_bat_speed": 69.04705887579499,
"ab_strikeout_rate": 0.16898148148148148,
"available": 1.0
},
{
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"weight": 4.0,
"quality": 0.4621085405643518,
"contact": 0.6796214941324947,
"power": 0.5138142591811911,
"discipline": -0.10040079365079353,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 8.9,
"ab_hard_contact": 0.07438042171905823,
"ab_bat_speed": 69.1056576984127,
"ab_strikeout_rate": 0.22833333333333333,
"available": 1.0
},
{
"player_id": "668901",
"player_name": "Mark Vientos",
"position": "1B",
"weight": 3.0,
"quality": 0.2151871036927028,
"contact": 0.11288390067902888,
"power": 0.6759498242389714,
"discipline": -0.7614372678149273,
"xwoba": 0.318,
"recent_xwoba": 0.318,
"barrel": 10.2,
"ab_hard_contact": 0.29804410382704205,
"ab_bat_speed": 72.33978132387706,
"ab_strikeout_rate": 0.19822695035460994,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "571510",
"player_name": "Matthew Boyd",
"quality": -0.029009270387685367,
"contact": -0.6072597383002378,
"command": 0.8657857142857143,
"movement": -0.37964852015152284,
"xwoba": 0.322,
"whiff": 31.2,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 3,
"predicted_score_text": "CHC 4 - 3 NYM",
"confidence": 0.51,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "CHC 4 - 3 NYM",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "CHC 5 - 2 NYM",
"winner": "CHC"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away CHC | True | 1.0236 | 1.0236 | 1 | 9 | 0 |
| Home NYM | True | 1.0309 | 1.0309 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Alex Bregman | 62 | 1.0053 | 0.0708 | neutral | 0.3150 | 0.2440 | 0.3650 | 4.70 | 37.80 | 87.80 | 16.60 | 17.30 | 16 | 11.20 | 0.2000 |
| RF | Michael Conforto | 287 | 1.0343 | 0.4576 | neutral | 0.3460 | 0.2440 | 0.4480 | 13.40 | 52.20 | 93.30 | 18.50 | 32.40 | 30.80 | 13.30 | 0.3429 |
| 1B | Michael Busch | 63 | 1.0543 | 0.7235 | neutral | 0.3530 | 0.2360 | 0.4250 | 11.40 | 42.70 | 88.40 | 14.70 | 25.60 | 22.40 | 15.30 | 0.2286 |
| CF | Pete Crow-Armstrong | 1 | 1.0836 | 1.1141 | neutral | 0.3660 | 0.2630 | 0.4960 | 11.60 | 51.40 | 91.60 | 19.90 | 28.90 | 25.80 | 9.30 | -0.4857 |
| LF | Ian Happ | 48 | 1.0323 | 0.4305 | neutral | 0.3280 | 0.2080 | 0.4330 | 13.80 | 45.30 | 90.10 | 16.20 | 31.50 | 31.20 | 13.20 | -0.6000 |
| 2B | Nico Hoerner | 93 | 1.0159 | 0.2127 | neutral | 0.3270 | 0.2920 | 0.3700 | 1 | 28.30 | 85.70 | 12 | 10.90 | 7.30 | 9.30 | 0.8286 |
| DH | Pedro Ramirez | 272 | 1.0154 | 0.2057 | neutral | 0.3300 | 0.2980 | 0.4150 | 4.90 | 41.50 | 90.20 | 8.40 | 15 | 10.20 | 6.10 | -0.0857 |
| C | Miguel Amaya | 151 | 0.9886 | -0.1521 | neutral | 0.3120 | 0.2040 | 0.3280 | 7.50 | 30 | 85.90 | 18.70 | 24.60 | 20.20 | 11.60 | -0.6286 |
| SS | Dansby Swanson | 42 | 0.9830 | -0.2260 | neutral | 0.2940 | 0.2010 | 0.3500 | 7.50 | 41 | 89.30 | 17.10 | 29.50 | 23.40 | 12.50 | -0.3143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Juan Soto | 40 | 1.0949 | 1.2652 | neutral | 0.4200 | 0.3030 | 0.6050 | 14.50 | 50 | 93.30 | 16 | 19.80 | 13.10 | 13.90 | 0.3429 |
| RF | Carson Benge | 111 | 1.0627 | 0.8365 | neutral | 0.3470 | 0.2830 | 0.4520 | 8.90 | 42.60 | 90 | 12.20 | 21.50 | 21.90 | 7.10 | 0.8000 |
| 3B | Bo Bichette | 338 | 1.0619 | 0.8248 | positive_batter_regression | 0.3360 | 0.2890 | 0.4420 | 7.60 | 45.30 | 90.70 | 8.20 | 18.70 | 17.80 | 6 | 0.9714 |
| 1B | Mark Vientos | 559 | 1.0352 | 0.4688 | positive_batter_regression | 0.3180 | 0.2450 | 0.4640 | 10.20 | 44.60 | 89.50 | 14.90 | 30.40 | 23.30 | 4.30 | 0.9429 |
| SS | Ronny Mauricio | 430 | 0.9675 | -0.4327 | neutral | 0.2240 | 0.1970 | 0.3300 | 10 | 35 | 89.70 | 4.90 | 29.50 | 37.50 | 0 | -0.2000 |
| CF | A.J. Ewing | 127 | 1.0235 | 0.3129 | neutral | 0.3440 | 0.2770 | 0.4210 | 6.30 | 41.70 | 89 | 14.20 | 22.10 | 26.60 | 11 | 0.4571 |
| C | Francisco Alvarez | 222 | 1.0479 | 0.6389 | neutral | 0.3530 | 0.2610 | 0.4910 | 17.10 | 45.30 | 90.80 | 9.60 | 31.70 | 24.20 | 7.90 | 0.3714 |
| LF | MJ Melendez | 442 | 0.9905 | -0.1270 | neutral | 0.2780 | 0.1620 | 0.3110 | 11.40 | 55.70 | 94.10 | 23.80 | 34.70 | 35.20 | 12 | -0.6571 |
| 2B | Brett Baty | 356 | 0.9941 | -0.0787 | neutral | 0.2930 | 0.2230 | 0.3540 | 7.50 | 37.70 | 88.90 | 9.90 | 28.70 | 28.10 | 9.20 | 0.5143 |
{
"home": {
"applied": true,
"offense_factor": 1.0309,
"raw_average_factor": 1.0309,
"team_espn_average_rank": 291.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "665742",
"player_name": "Juan Soto",
"offense_factor": 1.0949,
"quality_score": 1.2652,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665742",
"espn_id": 36969,
"player_name": "Juan Soto",
"team": "NYM",
"role": "batter",
"espn_rank": 40,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 40,
"gp_value": 61.0,
"gp_rank": 193,
"ab_value": 221.0,
"ab_rank": 150,
"r_value": 36.0,
"r_rank": 89,
"h_value": 66.0,
"h_rank": 91,
"avg_value": 0.2986425,
"avg_rank": 10.0,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 17.0,
"hr_rank": 17,
"rbi_value": 38.0,
"rbi_rank": 69,
"tb_value": 126.0,
"tb_rank": 525,
"bb_value": 36.0,
"bb_rank": 41,
"so_value": 34.0,
"so_rank": 257,
"sb_value": 6.0,
"sb_rank": 85,
"obp_value": 0.3953488,
"obp_rank": "7",
"slg_value": 0.5701357,
"slg_rank": "5",
"ops_value": 0.9654845,
"ops_rank": 12.0,
"war_value": 2.3,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 13.1,
"bb_percent": 13.9,
"woba": 0.408,
"xwoba": 0.42,
"xba": 0.303,
"xslg": 0.605,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 14.5,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 16.0,
"whiff_percent": 19.8,
"swing_percent": 39.6
},
"components": {
"expected_quality": 2.0057,
"regression_edge": 0.3429,
"xwoba_edge": 2.5,
"xba_edge": 1.8,
"xslg_edge": 2.5,
"barrel_edge": 1.6667,
"hard_hit_edge": 1.6714,
"exit_velocity_edge": 1.8,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "701807",
"player_name": "Carson Benge",
"offense_factor": 1.0627,
"quality_score": 0.8365,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701807",
"espn_id": 4925604,
"player_name": "Carson Benge",
"team": "NYM",
"role": "batter",
"espn_rank": 111,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 111,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 284.0,
"ab_rank": 60,
"r_value": 43.0,
"r_rank": 48,
"h_value": 73.0,
"h_rank": 64,
"avg_value": 0.2570422,
"avg_rank": 75.0,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 9.0,
"hr_rank": 99,
"rbi_value": 30.0,
"rbi_rank": 128,
"tb_value": 114.0,
"tb_rank": 552,
"bb_value": 22.0,
"bb_rank": 145,
"so_value": 68.0,
"so_rank": 74,
"sb_value": 11.0,
"sb_rank": 32,
"obp_value": 0.3193548,
"obp_rank": "103",
"slg_value": 0.4014084,
"slg_rank": "105",
"ops_value": 0.7207632,
"ops_rank": 2.0,
"war_value": 1.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 199.0,
"k_percent": 21.9,
"bb_percent": 7.1,
"woba": 0.319,
"xwoba": 0.347,
"xba": 0.283,
"xslg": 0.452,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 42.6,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 12.2,
"whiff_percent": 21.5,
"swing_percent": 44.9
},
"components": {
"expected_quality": 0.945,
"regression_edge": 0.8,
"xwoba_edge": 1.2286,
"xba_edge": 1.2286,
"xslg_edge": 1.1143,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "666182",
"player_name": "Bo Bichette",
"offense_factor": 1.0619,
"quality_score": 0.8248,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666182",
"espn_id": 38904,
"player_name": "Bo Bichette",
"team": "NYM",
"role": "batter",
"espn_rank": 338,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 338,
"gp_value": 80.0,
"gp_rank": 9,
"ab_value": 323.0,
"ab_rank": 2,
"r_value": 42.0,
"r_rank": 52,
"h_value": 82.0,
"h_rank": 25,
"avg_value": 0.2538699,
"avg_rank": 82.0,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 45.0,
"rbi_rank": 33,
"tb_value": 126.0,
"tb_rank": 534,
"bb_value": 21.0,
"bb_rank": 154,
"so_value": 62.0,
"so_rank": 95,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2979942,
"obp_rank": "142",
"slg_value": 0.3900928,
"slg_rank": "113",
"ops_value": 0.688087,
"ops_rank": 255.0,
"war_value": 0.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 17.8,
"bb_percent": 6.0,
"woba": 0.302,
"xwoba": 0.336,
"xba": 0.289,
"xslg": 0.442,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 8.2,
"whiff_percent": 18.7,
"swing_percent": 53.3
},
"components": {
"expected_quality": 0.801,
"regression_edge": 0.9714,
"xwoba_edge": 0.9143,
"xba_edge": 1.4,
"xslg_edge": 0.9714,
"barrel_edge": 0.1333,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "668901",
"player_name": "Mark Vientos",
"offense_factor": 1.0352,
"quality_score": 0.4688,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "668901",
"espn_id": 41034,
"player_name": "Mark Vientos",
"team": "NYM",
"role": "batter",
"espn_rank": 559,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 559,
"gp_value": 66.0,
"gp_rank": 164,
"ab_value": 218.0,
"ab_rank": 159,
"r_value": 24.0,
"r_rank": 192,
"h_value": 48.0,
"h_rank": 185,
"avg_value": 0.2201834,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 33.0,
"rbi_rank": 101,
"tb_value": 87.0,
"tb_rank": 1017,
"bb_value": 10.0,
"bb_rank": 292,
"so_value": 54.0,
"so_rank": 133,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2586206,
"obp_rank": "-",
"slg_value": 0.3990825,
"slg_rank": "-",
"ops_value": 0.6577031,
"ops_rank": null,
"war_value": -0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 23.3,
"bb_percent": 4.3,
"woba": 0.285,
"xwoba": 0.318,
"xba": 0.245,
"xslg": 0.464,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 14.9,
"whiff_percent": 30.4,
"swing_percent": 55.4
},
"components": {
"expected_quality": 0.5279,
"regression_edge": 0.9429,
"xwoba_edge": 0.4,
"xba_edge": 0.1429,
"xslg_edge": 1.2857,
"barrel_edge": 0.7111,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "677595",
"player_name": "Ronny Mauricio",
"offense_factor": 0.9675,
"quality_score": -0.4327,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677595",
"espn_id": 40978,
"player_name": "Ronny Mauricio",
"team": "NYM",
"role": "batter",
"espn_rank": 430,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 430,
"gp_value": 10.0,
"gp_rank": 500,
"ab_value": 32.0,
"ab_rank": 471,
"r_value": 3.0,
"r_rank": 460,
"h_value": 7.0,
"h_rank": 461,
"avg_value": 0.21875,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 495,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 2.0,
"rbi_rank": 475,
"tb_value": 10.0,
"tb_rank": 2483,
"bb_value": 0.0,
"bb_rank": 533,
"so_value": 12.0,
"so_rank": 441,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.21875,
"obp_rank": "-",
"slg_value": 0.3125,
"slg_rank": "-",
"ops_value": 0.53125,
"ops_rank": null,
"war_value": -0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 29.0,
"k_percent": 37.5,
"bb_percent": 0.0,
"woba": 0.231,
"xwoba": 0.224,
"xba": 0.197,
"xslg": 0.33,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 35.0,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 4.9,
"whiff_percent": 29.5,
"swing_percent": 63.9
},
"components": {
"expected_quality": -1.0856,
"regression_edge": -0.2,
"xwoba_edge": -2.2857,
"xba_edge": -1.2286,
"xslg_edge": -0.6286,
"barrel_edge": 0.6667,
"hard_hit_edge": -0.4714,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "805999",
"player_name": "A.J. Ewing",
"offense_factor": 1.0235,
"quality_score": 0.3129,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805999",
"espn_id": 5208019,
"player_name": "A.J. Ewing",
"team": "NYM",
"role": "batter",
"espn_rank": 127,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 127,
"gp_value": 40.0,
"gp_rank": 322,
"ab_value": 134.0,
"ab_rank": 272,
"r_value": 15.0,
"r_rank": 293,
"h_value": 35.0,
"h_rank": 256,
"avg_value": 0.261194,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 15.0,
"rbi_rank": 276,
"tb_value": 53.0,
"tb_rank": 1419,
"bb_value": 17.0,
"bb_rank": 193,
"so_value": 41.0,
"so_rank": 212,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.3421052,
"obp_rank": "-",
"slg_value": 0.3955223,
"slg_rank": "-",
"ops_value": 0.7376275,
"ops_rank": null,
"war_value": 1.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 57.0,
"k_percent": 26.6,
"bb_percent": 11.0,
"woba": 0.328,
"xwoba": 0.344,
"xba": 0.277,
"xslg": 0.421,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 14.2,
"whiff_percent": 22.1,
"swing_percent": 43.4
},
"components": {
"expected_quality": 0.734,
"regression_edge": 0.4571,
"xwoba_edge": 1.1429,
"xba_edge": 1.0571,
"xslg_edge": 0.6714,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.4857,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 1.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "682626",
"player_name": "Francisco Alvarez",
"offense_factor": 1.0479,
"quality_score": 0.6389,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682626",
"espn_id": 41253,
"player_name": "Francisco Alvarez",
"team": "NYM",
"role": "batter",
"espn_rank": 222,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 222,
"gp_value": 50.0,
"gp_rank": 261,
"ab_value": 159.0,
"ab_rank": 244,
"r_value": 17.0,
"r_rank": 262,
"h_value": 42.0,
"h_rank": 212,
"avg_value": 0.2641509,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 18.0,
"rbi_rank": 249,
"tb_value": 71.0,
"tb_rank": 1240,
"bb_value": 14.0,
"bb_rank": 235,
"so_value": 43.0,
"so_rank": 191,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3295454,
"obp_rank": "-",
"slg_value": 0.4465408,
"slg_rank": "-",
"ops_value": 0.7760862,
"ops_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 128.0,
"k_percent": 24.2,
"bb_percent": 7.9,
"woba": 0.34,
"xwoba": 0.353,
"xba": 0.261,
"xslg": 0.491,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 17.1,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 9.6,
"whiff_percent": 31.7,
"swing_percent": 47.1
},
"components": {
"expected_quality": 1.2164,
"regression_edge": 0.3714,
"xwoba_edge": 1.4,
"xba_edge": 0.6,
"xslg_edge": 1.6714,
"barrel_edge": 2.2444,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "669004",
"player_name": "MJ Melendez",
"offense_factor": 0.9905,
"quality_score": -0.127,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669004",
"espn_id": 40948,
"player_name": "MJ Melendez",
"team": "NYM",
"role": "batter",
"espn_rank": 442,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 442,
"gp_value": 55.0,
"gp_rank": 228,
"ab_value": 118.0,
"ab_rank": 302,
"r_value": 14.0,
"r_rank": 302,
"h_value": 22.0,
"h_rank": 333,
"avg_value": 0.1864406,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 4.0,
"hr_rank": 222,
"rbi_value": 11.0,
"rbi_rank": 317,
"tb_value": 41.0,
"tb_rank": 1444,
"bb_value": 17.0,
"bb_rank": 193,
"so_value": 50.0,
"so_rank": 154,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3120567,
"obp_rank": "-",
"slg_value": 0.3474576,
"slg_rank": "-",
"ops_value": 0.6595143,
"ops_rank": null,
"war_value": -0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 83.0,
"k_percent": 35.2,
"bb_percent": 12.0,
"woba": 0.301,
"xwoba": 0.278,
"xba": 0.162,
"xslg": 0.311,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 55.7,
"exit_velocity_avg": 94.1,
"launch_angle_avg": 23.8,
"whiff_percent": 34.7,
"swing_percent": 46.6
},
"components": {
"expected_quality": -0.2211,
"regression_edge": -0.6571,
"xwoba_edge": -0.7429,
"xba_edge": -2.2286,
"xslg_edge": -0.9,
"barrel_edge": 0.9778,
"hard_hit_edge": 2.4857,
"exit_velocity_edge": 2.12,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "683146",
"player_name": "Brett Baty",
"offense_factor": 0.9941,
"quality_score": -0.0787,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683146",
"espn_id": 42414,
"player_name": "Brett Baty",
"team": "NYM",
"role": "batter",
"espn_rank": 356,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 356,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 230.0,
"ab_rank": 135,
"r_value": 26.0,
"r_rank": 172,
"h_value": 50.0,
"h_rank": 169,
"avg_value": 0.2173913,
"avg_rank": 149.0,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 26.0,
"rbi_rank": 171,
"tb_value": 70.0,
"tb_rank": 1291,
"bb_value": 24.0,
"bb_rank": 114,
"so_value": 73.0,
"so_rank": 58,
"sb_value": 3.0,
"sb_rank": 161,
"obp_value": 0.2972972,
"obp_rank": "143",
"slg_value": 0.3043478,
"slg_rank": "160",
"ops_value": 0.601645,
"ops_rank": 17.0,
"war_value": 0.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 28.1,
"bb_percent": 9.2,
"woba": 0.275,
"xwoba": 0.293,
"xba": 0.223,
"xslg": 0.354,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 9.9,
"whiff_percent": 28.7,
"swing_percent": 45.9
},
"components": {
"expected_quality": -0.1955,
"regression_edge": 0.5143,
"xwoba_edge": -0.3143,
"xba_edge": -0.4857,
"xslg_edge": -0.2857,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.3167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0236,
"raw_average_factor": 1.0236,
"team_espn_average_rank": 113.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "608324",
"player_name": "Alex Bregman",
"offense_factor": 1.0053,
"quality_score": 0.0708,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608324",
"espn_id": 34886,
"player_name": "Alex Bregman",
"team": "CHC",
"role": "batter",
"espn_rank": 62,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 62,
"gp_value": 78.0,
"gp_rank": 32,
"ab_value": 308.0,
"ab_rank": 12,
"r_value": 36.0,
"r_rank": 89,
"h_value": 75.0,
"h_rank": 56,
"avg_value": 0.2435064,
"avg_rank": 99.0,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 25.0,
"rbi_rank": 180,
"tb_value": 105.0,
"tb_rank": 878,
"bb_value": 40.0,
"bb_rank": 28,
"so_value": 57.0,
"so_rank": 116,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3389355,
"obp_rank": "70",
"slg_value": 0.340909,
"slg_rank": "144",
"ops_value": 0.6798445,
"ops_rank": 214.0,
"war_value": 1.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 249.0,
"k_percent": 16.0,
"bb_percent": 11.2,
"woba": 0.308,
"xwoba": 0.315,
"xba": 0.244,
"xslg": 0.365,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 37.8,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 16.6,
"whiff_percent": 17.3,
"swing_percent": 41.0
},
"components": {
"expected_quality": 0.0498,
"regression_edge": 0.2,
"xwoba_edge": 0.3143,
"xba_edge": 0.1143,
"xslg_edge": -0.1286,
"barrel_edge": -0.5111,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "624424",
"player_name": "Michael Conforto",
"offense_factor": 1.0343,
"quality_score": 0.4576,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624424",
"espn_id": 33711,
"player_name": "Michael Conforto",
"team": "CHC",
"role": "batter",
"espn_rank": 287,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 287,
"gp_value": 49.0,
"gp_rank": 266,
"ab_value": 103.0,
"ab_rank": 331,
"r_value": 13.0,
"r_rank": 317,
"h_value": 23.0,
"h_rank": 327,
"avg_value": 0.2233009,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 4.0,
"hr_rank": 222,
"rbi_value": 14.0,
"rbi_rank": 286,
"tb_value": 45.0,
"tb_rank": 1552,
"bb_value": 16.0,
"bb_rank": 206,
"so_value": 37.0,
"so_rank": 240,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.325,
"obp_rank": "-",
"slg_value": 0.4368932,
"slg_rank": "-",
"ops_value": 0.7618932,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 30.8,
"bb_percent": 13.3,
"woba": 0.334,
"xwoba": 0.346,
"xba": 0.244,
"xslg": 0.448,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 13.4,
"hard_hit_percent": 52.2,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 18.5,
"whiff_percent": 32.4,
"swing_percent": 42.8
},
"components": {
"expected_quality": 1.1266,
"regression_edge": 0.3429,
"xwoba_edge": 1.2,
"xba_edge": 0.1143,
"xslg_edge": 1.0571,
"barrel_edge": 1.4222,
"hard_hit_edge": 1.9857,
"exit_velocity_edge": 1.8,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "683737",
"player_name": "Michael Busch",
"offense_factor": 1.0543,
"quality_score": 0.7235,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683737",
"espn_id": 42415,
"player_name": "Michael Busch",
"team": "CHC",
"role": "batter",
"espn_rank": 63,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 63,
"gp_value": 79.0,
"gp_rank": 20,
"ab_value": 287.0,
"ab_rank": 50,
"r_value": 32.0,
"r_rank": 118,
"h_value": 69.0,
"h_rank": 78,
"avg_value": 0.2404181,
"avg_rank": 107.0,
"2b_value": 13.0,
"2b_rank": 81,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 9.0,
"hr_rank": 99,
"rbi_value": 44.0,
"rbi_rank": 36,
"tb_value": 113.0,
"tb_rank": 496,
"bb_value": 54.0,
"bb_rank": 6,
"so_value": 79.0,
"so_rank": 36,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.372159,
"obp_rank": "25",
"slg_value": 0.3937282,
"slg_rank": "110",
"ops_value": 0.7658872,
"ops_rank": 85.0,
"war_value": 1.92,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 243.0,
"k_percent": 22.4,
"bb_percent": 15.3,
"woba": 0.345,
"xwoba": 0.353,
"xba": 0.236,
"xslg": 0.425,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 42.7,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 14.7,
"whiff_percent": 25.6,
"swing_percent": 41.0
},
"components": {
"expected_quality": 0.804,
"regression_edge": 0.2286,
"xwoba_edge": 1.4,
"xba_edge": -0.1143,
"xslg_edge": 0.7286,
"barrel_edge": 0.9778,
"hard_hit_edge": 0.6286,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"offense_factor": 1.0836,
"quality_score": 1.1141,
"regression_flag": "neutral",
"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": 579,
"metrics": {
"espn_rank": 1,
"gp_value": 80.0,
"gp_rank": 9,
"ab_value": 302.0,
"ab_rank": 22,
"r_value": 49.0,
"r_rank": 22,
"h_value": 86.0,
"h_rank": 11,
"avg_value": 0.2847682,
"avg_rank": 26.0,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 4.0,
"3b_rank": 5,
"hr_value": 17.0,
"hr_rank": 17,
"rbi_value": 44.0,
"rbi_rank": 36,
"tb_value": 157.0,
"tb_rank": 171,
"bb_value": 32.0,
"bb_rank": 58,
"so_value": 89.0,
"so_rank": 16,
"sb_value": 18.0,
"sb_rank": 9,
"obp_value": 0.366279,
"obp_rank": "34",
"slg_value": 0.5198675,
"slg_rank": "16",
"ops_value": 0.8861465,
"ops_rank": 50.0,
"war_value": 4.97,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 25.8,
"bb_percent": 9.3,
"woba": 0.383,
"xwoba": 0.366,
"xba": 0.263,
"xslg": 0.496,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 51.4,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 19.9,
"whiff_percent": 28.9,
"swing_percent": 51.6
},
"components": {
"expected_quality": 1.3745,
"regression_edge": -0.4857,
"xwoba_edge": 1.7714,
"xba_edge": 0.6571,
"xslg_edge": 1.7429,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.8714,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "664023",
"player_name": "Ian Happ",
"offense_factor": 1.0323,
"quality_score": 0.4305,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664023",
"espn_id": 34945,
"player_name": "Ian Happ",
"team": "CHC",
"role": "batter",
"espn_rank": 48,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 48,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 284.0,
"ab_rank": 60,
"r_value": 54.0,
"r_rank": 8,
"h_value": 65.0,
"h_rank": 95,
"avg_value": 0.2288732,
"avg_rank": 131.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 16.0,
"hr_rank": 27,
"rbi_value": 37.0,
"rbi_rank": 77,
"tb_value": 132.0,
"tb_rank": 262,
"bb_value": 44.0,
"bb_rank": 18,
"so_value": 104.0,
"so_rank": 5,
"sb_value": 4.0,
"sb_rank": 133,
"obp_value": 0.3393393,
"obp_rank": "70",
"slg_value": 0.4647887,
"slg_rank": "49",
"ops_value": 0.804128,
"ops_rank": 119.0,
"war_value": 2.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 31.2,
"bb_percent": 13.2,
"woba": 0.349,
"xwoba": 0.328,
"xba": 0.208,
"xslg": 0.433,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 16.2,
"whiff_percent": 31.5,
"swing_percent": 44.6
},
"components": {
"expected_quality": 0.5983,
"regression_edge": -0.6,
"xwoba_edge": 0.6857,
"xba_edge": -0.9143,
"xslg_edge": 0.8429,
"barrel_edge": 1.5111,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "663538",
"player_name": "Nico Hoerner",
"offense_factor": 1.0159,
"quality_score": 0.2127,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663538",
"espn_id": 41219,
"player_name": "Nico Hoerner",
"team": "CHC",
"role": "batter",
"espn_rank": 93,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 93,
"gp_value": 78.0,
"gp_rank": 32,
"ab_value": 315.0,
"ab_rank": 6,
"r_value": 34.0,
"r_rank": 110,
"h_value": 76.0,
"h_rank": 50,
"avg_value": 0.2412698,
"avg_rank": 104.0,
"2b_value": 21.0,
"2b_rank": 3,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 4.0,
"hr_rank": 222,
"rbi_value": 35.0,
"rbi_rank": 86,
"tb_value": 109.0,
"tb_rank": 1127,
"bb_value": 33.0,
"bb_rank": 53,
"so_value": 26.0,
"so_rank": 313,
"sb_value": 12.0,
"sb_rank": 26,
"obp_value": 0.3174157,
"obp_rank": "108",
"slg_value": 0.3460317,
"slg_rank": "143",
"ops_value": 0.6634474,
"ops_rank": 35.0,
"war_value": 1.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 250.0,
"k_percent": 7.3,
"bb_percent": 9.3,
"woba": 0.298,
"xwoba": 0.327,
"xba": 0.292,
"xslg": 0.37,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 1.0,
"hard_hit_percent": 28.3,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 12.0,
"whiff_percent": 10.9,
"swing_percent": 43.5
},
"components": {
"expected_quality": 0.1124,
"regression_edge": 0.8286,
"xwoba_edge": 0.6571,
"xba_edge": 1.4857,
"xslg_edge": -0.0571,
"barrel_edge": -1.3333,
"hard_hit_edge": -1.4286,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "699393",
"player_name": "Pedro Ramirez",
"offense_factor": 1.0154,
"quality_score": 0.2057,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699393",
"espn_id": 5012995,
"player_name": "Pedro Ramirez",
"team": "CHC",
"role": "batter",
"espn_rank": 272,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 272,
"gp_value": 19.0,
"gp_rank": 429,
"ab_value": 45.0,
"ab_rank": 438,
"r_value": 7.0,
"r_rank": 397,
"h_value": 13.0,
"h_rank": 397,
"avg_value": 0.2888888,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 366,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 6.0,
"rbi_rank": 395,
"tb_value": 19.0,
"tb_rank": 2290,
"bb_value": 3.0,
"bb_rank": 429,
"so_value": 5.0,
"so_rank": 513,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.4222222,
"slg_rank": "-",
"ops_value": 0.7555555,
"ops_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 8.0,
"k_percent": 10.2,
"bb_percent": 6.1,
"woba": 0.333,
"xwoba": 0.33,
"xba": 0.298,
"xslg": 0.415,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 8.4,
"whiff_percent": 15.0,
"swing_percent": 48.8
},
"components": {
"expected_quality": 0.5456,
"regression_edge": -0.0857,
"xwoba_edge": 0.7429,
"xba_edge": 1.6571,
"xslg_edge": 0.5857,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.6667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "665804",
"player_name": "Miguel Amaya",
"offense_factor": 0.9886,
"quality_score": -0.1521,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665804",
"espn_id": 38905,
"player_name": "Miguel Amaya",
"team": "CHC",
"role": "batter",
"espn_rank": 151,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 151,
"gp_value": 44.0,
"gp_rank": 301,
"ab_value": 105.0,
"ab_rank": 327,
"r_value": 18.0,
"r_rank": 254,
"h_value": 24.0,
"h_rank": 322,
"avg_value": 0.2285714,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 10.0,
"rbi_rank": 336,
"tb_value": 38.0,
"tb_rank": 1791,
"bb_value": 15.0,
"bb_rank": 222,
"so_value": 26.0,
"so_rank": 313,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3622047,
"obp_rank": "-",
"slg_value": 0.3619047,
"slg_rank": "-",
"ops_value": 0.7241094,
"ops_rank": null,
"war_value": 0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 89.0,
"k_percent": 20.2,
"bb_percent": 11.6,
"woba": 0.334,
"xwoba": 0.312,
"xba": 0.204,
"xslg": 0.328,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 30.0,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 18.7,
"whiff_percent": 24.6,
"swing_percent": 43.5
},
"components": {
"expected_quality": -0.2907,
"regression_edge": -0.6286,
"xwoba_edge": 0.2286,
"xba_edge": -1.0286,
"xslg_edge": -0.6571,
"barrel_edge": 0.1111,
"hard_hit_edge": -1.1857,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "621020",
"player_name": "Dansby Swanson",
"offense_factor": 0.983,
"quality_score": -0.226,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621020",
"espn_id": 34895,
"player_name": "Dansby Swanson",
"team": "CHC",
"role": "batter",
"espn_rank": 42,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 42,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 252.0,
"ab_rank": 111,
"r_value": 47.0,
"r_rank": 29,
"h_value": 51.0,
"h_rank": 160,
"avg_value": 0.2023809,
"avg_rank": 157.0,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 11.0,
"hr_rank": 71,
"rbi_value": 46.0,
"rbi_rank": 28,
"tb_value": 97.0,
"tb_rank": 591,
"bb_value": 37.0,
"bb_rank": 38,
"so_value": 69.0,
"so_rank": 69,
"sb_value": 10.0,
"sb_rank": 41,
"obp_value": 0.302721,
"obp_rank": "133",
"slg_value": 0.3849206,
"slg_rank": "117",
"ops_value": 0.6876416,
"ops_rank": 16.0,
"war_value": 2.25,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 208.0,
"k_percent": 23.4,
"bb_percent": 12.5,
"woba": 0.305,
"xwoba": 0.294,
"xba": 0.201,
"xslg": 0.35,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 41.0,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 17.1,
"whiff_percent": 29.5,
"swing_percent": 44.6
},
"components": {
"expected_quality": -0.2268,
"regression_edge": -0.3143,
"xwoba_edge": -0.2857,
"xba_edge": -1.1143,
"xslg_edge": -0.3429,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.3857,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.9333,
"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 CHC | True | 646 | -0.0171 | 0.4500 | 1.0014 | 1.0351 | 0.9721 | 1.0538 | neutral | 0.3220 | 0.3140 | 31 | 6 | 31.20 | 9.50 | 50.80 | |
| Home NYM | True | 263 | 0.1150 | 1 | 0.9902 | 1.0014 | 0.9980 | 0.9708 | neutral | 0.3060 | 0.3320 | 22.10 | 9 | 26.70 | 5.50 | 39.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHC | True | None | 84 | 86.93 | 2207 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1578 | |
| Home NYM | True | None | 108 | 89.32 | 2278 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0241 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9902 |
| home_runs_vs_away_pitcher | 1.0006 |
| home_pitcher_quality_edge | 0.1321 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "642547",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 262.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.332,
"xwoba": 0.306,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 39.6,
"avg_best_speed": 76.3289,
"avg_hyper_speed": 93.8252,
"whiff_percent": 26.7,
"swing_percent": 46.9
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.072,
"command_and_miss": 0.0089,
"regression_edge": 0.7429,
"xwoba_edge": 0.2429,
"barrel_edge": 0.3667,
"hard_hit_edge": -0.1857,
"whiff_edge": 0.1214,
"bb_edge": 0.025,
"pitch_design_score": -0.0241
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642547",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 108,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 89.32068356695842,
"release_spin_rate": 2278.146503687079,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 89.32068356695842,
"release_spin_rate": 2278.146503687079,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3207,
"release_spin_rate": 2278.1465,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0241,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1722,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.115,
"sample_weight": 1.0,
"run_prevention_factor": 0.9902,
"strikeout_factor": 1.0014,
"walk_factor": 0.998,
"homer_factor": 0.9708,
"woba_minus_xwoba": 0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642547",
"espn_id": 39825,
"player_name": "Freddy Peralta",
"team": "NYM",
"role": "pitcher",
"espn_rank": 263,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 263,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 4.0,
"qs_rank": 80,
"era_value": 4.8326,
"era_rank": 56.0,
"w_value": 5.0,
"w_rank": 51,
"l_value": 6.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 85.2,
"ip_rank": 40,
"h_value": 85.0,
"h_rank": 20,
"er_value": 46.0,
"er_rank": 13,
"hr_value": 12.0,
"hr_rank": 35,
"bb_value": 34.0,
"bb_rank": 17,
"k_value": 83.0,
"k_rank": 38,
"k_per_9_value": 8.719845,
"k_per_9_rank": 25,
"whip_value": 1.3891,
"whip_rank": 56.0,
"war_value": 0.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "571510",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 78.0,
"k_percent": 31.0,
"bb_percent": 6.0,
"woba": 0.314,
"xwoba": 0.322,
"sweet_spot_percent": 42.9,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 50.8,
"avg_best_speed": 75.4552,
"avg_hyper_speed": 95.8211,
"whiff_percent": 31.2,
"swing_percent": 50.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.4482,
"command_and_miss": 0.9561,
"regression_edge": -0.2286,
"xwoba_edge": -0.2143,
"barrel_edge": -0.5222,
"hard_hit_edge": -1.7857,
"whiff_edge": 0.7643,
"bb_edge": 0.775,
"pitch_design_score": -0.1578
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "571510",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 86.933621140764,
"release_spin_rate": 2206.764630211059,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 86.933621140764,
"release_spin_rate": 2206.764630211059,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9336,
"release_spin_rate": 2206.7646,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1578,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1271,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0171,
"sample_weight": 0.45,
"run_prevention_factor": 1.0014,
"strikeout_factor": 1.0351,
"walk_factor": 0.9721,
"homer_factor": 1.0538,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571510",
"espn_id": 34401,
"player_name": "Matthew Boyd",
"team": "CHC",
"role": "pitcher",
"espn_rank": 646,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 646,
"gp_value": 5.0,
"gp_rank": 501,
"gs_value": 5.0,
"gs_rank": 172,
"qs_value": 1.0,
"qs_rank": 140,
"era_value": 6.0,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 24.0,
"ip_rank": 351,
"h_value": 25.0,
"h_rank": 287,
"er_value": 16.0,
"er_rank": 216,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 6.0,
"bb_rank": 452,
"k_value": 31.0,
"k_rank": 264,
"k_per_9_value": 11.625,
"k_per_9_rank": 20,
"whip_value": 1.2916,
"whip_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9902,
"home_runs_vs_away_pitcher": 1.0006,
"home_pitcher_quality_edge": 0.1321
},
"score_before": {
"away_runs": 2.4621,
"home_runs": 2.7541
},
"score_after": {
"away_runs": 2.438,
"home_runs": 2.7558,
"home_win_probability": 0.5294
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away CHC | 10-62 | 0.139 | 1.10 | 3.40 | -162 | cold | strong | |
| Home NYM | 18-50 | 0.265 | 1 | 3.40 | -161 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHC | 43-37 | 0.537 | 36 | 0.450 | True |
| Home NYM | 34-46 | 0.425 | -46 | -0.575 | True |
| Signal | - | - | -1.025 | -1.194 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHC | - | - | 4 | - | - | - | - |
| Game target NYM | - | - | 3 | - | - | - | - |
| Player finalized CHC | 32 | 9 | 6 | 0 | 3 | 3 | 7 |
| Player finalized NYM | 31 | 9 | 3 | 0 | 2 | 1 | 9 |
| Player model fractional CHC | 32.03 | 7.57 | 5.10 | 1.10 | 4.50 | 4.10 | 7.36 |
| Player model fractional NYM | 31.33 | 6.88 | 3.63 | 1.29 | 3.57 | 2.75 | 8.33 |
| Simulation box CHC | 36 | 9 | 5 | 1 | 5 | 2 | 7 |
| Simulation box NYM | 35 | 8 | 2 | 0 | 2 | 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 CHC | Starter | Matthew Boyd | 4.20 | 2 | 5 | 5 | 1 | 5.25 | 1.31 | True |
| Away CHC | Middle Reliever | Caleb Thielbar | 1 | 0 | 2 | 0 | 1 | 5.49 | 1.30 | True |
| Away CHC | Middle Reliever | Hoby Milner | 1.10 | 0 | 1 | 1 | 1 | 3.52 | 1.26 | True |
| Away CHC | Middle Reliever | Jacob Webb | 1 | 0 | 1 | 0 | 0 | 6.55 | 1.47 | True |
| Away CHC | Middle Reliever | Phil Maton | 1 | 0 | 0 | 2 | 1 | 3.89 | 1.59 | True |
| Home NYM | Starter | Freddy Peralta | 5 | 3 | 5 | 5 | 2 | 6.04 | 1.51 | True |
| Home NYM | Middle Reliever | Brooks Raley | 1 | 0 | 1 | 1 | 0 | 5.15 | 1.51 | True |
| Home NYM | Middle Reliever | Devin Williams | 1 | 2 | 1 | 3 | 0 | 3.83 | 1.49 | True |
| Home NYM | Middle Reliever | Huascar Brazobán | 1 | 0 | 0 | 0 | 0 | 2.43 | 0.88 | True |
| Home NYM | Middle Reliever | Luke Weaver | 1 | 0 | 0 | 0 | 0 | 2.20 | 0.87 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CHC | pitcher | Starter | Matthew Boyd | worse | 2 | 1 | 1 | 0 | 2 | predicted_H | 3.0000 | boost | worse |
| away | CHC | pitcher | Middle Reliever | Jacob Webb | better | 1 | 0 | 1 | 1 | 0 | predicted_H | -3.0000 | deboost | better |
| away | CHC | batter | C | Miguel Amaya | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 2.4100 | boost | better |
| home | NYM | batter | RF | Carson Benge | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 2.0930 | boost | worse |
| away | CHC | batter | 2B | Nico Hoerner | better | 11 | 7 | 4 | 6 | 5 | predicted_2B | 1.7270 | boost | better |
| away | CHC | batter | RF | Michael Conforto | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | 1.5000 | boost | better |
| away | CHC | batter | 1B | Michael Busch | better | 7 | 5 | 2 | 5 | 2 | predicted_RBI | 1.5000 | boost | better |
| away | CHC | batter | DH | Pedro Ramirez | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | 1.3530 | boost | better |
| home | NYM | batter | SS | Ronny Mauricio | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -1.2000 | deboost | better |
| away | CHC | batter | CF | Pete Crow-Armstrong | worse | 12 | 3 | 9 | 4 | 8 | predicted_H | -1.1600 | deboost | worse |
| home | NYM | batter | C | Francisco Alvarez | worse | 9 | 5 | 4 | 4 | 5 | predicted_H | 1.1100 | boost | better |
| away | CHC | batter | SS | Dansby Swanson | better | 11 | 9 | 2 | 8 | 3 | predicted_SO | 1.0810 | boost | worse |
| home | NYM | batter | DH | Juan Soto | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 0.9600 | boost | better |
| home | NYM | batter | LF | MJ Melendez | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 0.9530 | boost | worse |
| away | CHC | batter | LF | Ian Happ | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | -0.9300 | deboost | worse |
| home | NYM | batter | 3B | Bo Bichette | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | 0.8600 | boost | better |
| home | NYM | batter | 1B | Mark Vientos | worse | 11 | 3 | 8 | 2 | 9 | predicted_BB | 0.8480 | boost | better |
| home | NYM | batter | 2B | Brett Baty | worse | 10 | 1 | 9 | 1 | 9 | predicted_BB | 0.7000 | boost | better |
| home | NYM | batter | CF | A.J. Ewing | worse | 10 | 4 | 6 | 4 | 6 | predicted_R | 0.6250 | boost | better |
| away | CHC | batter | 3B | Alex Bregman | worse | 11 | 3 | 8 | 2 | 9 | predicted_BB | -0.5190 | deboost | worse |
| away | CHC | pitcher | Middle Reliever | Hoby Milner | 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 | Matthew Boyd |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0171 |
| ESPN Rank | 646 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1578 |
| Avg Velo | 86.9336 |
| Avg Spin | 2206.7646 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 6 |
| Season WHIP | 1.2917 |
| Role Avg IP | 4.8000 |
| Recent Avg IP | 4.8000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"opponent": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"edges": {
"quality_edge": 0.3627,
"offense_edge": 0.1051,
"opponent_offense_edge": -0.1346,
"defense_strength": 0.0034,
"opponent_defense_weakness": -0.0137,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.02,
"run_prevention": 0.96,
"strikeout": 1.0216
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "571510",
"profile": {
"available": true,
"pitcher_id": "571510",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 78.0,
"k_percent": 31.0,
"bb_percent": 6.0,
"woba": 0.314,
"xwoba": 0.322,
"sweet_spot_percent": 42.9,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 50.8,
"avg_best_speed": 75.4552,
"avg_hyper_speed": 95.8211,
"whiff_percent": 31.2,
"swing_percent": 50.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.4482,
"command_and_miss": 0.9561,
"regression_edge": -0.2286,
"xwoba_edge": -0.2143,
"barrel_edge": -0.5222,
"hard_hit_edge": -1.7857,
"whiff_edge": 0.7643,
"bb_edge": 0.775,
"pitch_design_score": -0.1578
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "571510",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 86.933621140764,
"release_spin_rate": 2206.764630211059,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 86.933621140764,
"release_spin_rate": 2206.764630211059,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9336,
"release_spin_rate": 2206.7646,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1578,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1271,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0171,
"sample_weight": 0.45,
"run_prevention_factor": 1.0014,
"strikeout_factor": 1.0351,
"walk_factor": 0.9721,
"homer_factor": 1.0538,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571510",
"espn_id": 34401,
"player_name": "Matthew Boyd",
"team": "CHC",
"role": "pitcher",
"espn_rank": 646,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 646,
"gp_value": 5.0,
"gp_rank": 501,
"gs_value": 5.0,
"gs_rank": 172,
"qs_value": 1.0,
"qs_rank": 140,
"era_value": 6.0,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 24.0,
"ip_rank": 351,
"h_value": 25.0,
"h_rank": 287,
"er_value": 16.0,
"er_rank": 216,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 6.0,
"bb_rank": 452,
"k_value": 31.0,
"k_rank": 264,
"k_per_9_value": 11.625,
"k_per_9_rank": 20,
"whip_value": 1.2916,
"whip_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0006,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0006,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9874,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0242,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0158,
"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": "insufficient_data"
},
"pitching": {
"IP": 24.0,
"ER": 16,
"H": 25,
"BB": 6,
"SO": 31,
"HR": 2,
"ERA": 5.999999999999999,
"WHIP": 1.2916666666666665,
"K9": 11.624999999999998,
"HR9": 0.7499999999999999,
"games_pitched": 5,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 5,
"error_prone": false
},
"games_count": 5,
"latest_game_date": "2026-05-03T00:00:00"
}{
"available": true,
"pitcher_id": "571510",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 86.933621140764,
"release_spin_rate": 2206.764630211059,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 86.933621140764,
"release_spin_rate": 2206.764630211059,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9336,
"release_spin_rate": 2206.7646,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1578,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1271,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"role": "pitcher",
"player_id": "571510",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 5,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 16.0,
"R": 17.0,
"H": 25.0,
"BB": 6.0,
"SO": 31.0,
"HR": 2.0,
"BF": 100.0,
"Pitches": 430.0
},
"per_game": {
"IP": 4.2,
"ER": 3.2,
"R": 3.4,
"H": 5.0,
"BB": 1.2,
"SO": 6.2,
"HR": 0.4,
"BF": 20.0,
"Pitches": 86.0
},
"rates": {
"ERA": 6.0,
"WHIP": 1.2917,
"ER_per_IP": 0.66667,
"H_per_IP": 1.04167,
"BB_per_IP": 0.25,
"SO_per_IP": 1.29167,
"HR_per_IP": 0.08333
}
},
"last_10": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 16.0,
"R": 17.0,
"H": 25.0,
"BB": 6.0,
"SO": 31.0,
"HR": 2.0,
"BF": 100.0,
"Pitches": 430.0
},
"per_game": {
"IP": 4.2,
"ER": 3.2,
"R": 3.4,
"H": 5.0,
"BB": 1.2,
"SO": 6.2,
"HR": 0.4,
"BF": 20.0,
"Pitches": 86.0
},
"rates": {
"ERA": 6.0,
"WHIP": 1.2917,
"ER_per_IP": 0.66667,
"H_per_IP": 1.04167,
"BB_per_IP": 0.25,
"SO_per_IP": 1.29167,
"HR_per_IP": 0.08333
}
},
"season": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 16.0,
"R": 17.0,
"H": 25.0,
"BB": 6.0,
"SO": 31.0,
"HR": 2.0,
"BF": 100.0,
"Pitches": 430.0
},
"per_game": {
"IP": 4.2,
"ER": 3.2,
"R": 3.4,
"H": 5.0,
"BB": 1.2,
"SO": 6.2,
"HR": 0.4,
"BF": 20.0,
"Pitches": 86.0
},
"rates": {
"ERA": 6.0,
"WHIP": 1.2917,
"ER_per_IP": 0.66667,
"H_per_IP": 1.04167,
"BB_per_IP": 0.25,
"SO_per_IP": 1.29167,
"HR_per_IP": 0.08333
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.819,
"predicted_H": 4.86,
"predicted_BB": 1.475,
"predicted_SO": 5.411,
"predicted_HR": 0.555,
"predicted_ERA": 5.2484,
"predicted_WHIP": 1.3106
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5613,
"form_weight": 0.4388,
"form_reliability": 0.5,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.819,
"final": 2.3593,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.86,
"final": 3.2548,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.475,
"final": 1.2084,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.411,
"final": 5.1803,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.555,
"final": 0.2435,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2484,
"final": 5.2484,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3106,
"final": 1.3106,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Caleb Thielbar |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0331 |
| ESPN Rank | 586 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 4.2857 |
| Season WHIP | 1.1905 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"opponent": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"edges": {
"quality_edge": 0.3627,
"offense_edge": 0.1051,
"opponent_offense_edge": -0.1346,
"defense_strength": 0.0034,
"opponent_defense_weakness": -0.0137,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.02,
"run_prevention": 0.96,
"strikeout": 1.0216
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "573204",
"profile": {
"available": true,
"pitcher_id": "573204",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 52.0,
"k_percent": 28.1,
"bb_percent": 11.2,
"woba": 0.307,
"xwoba": 0.324,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 13.2,
"hard_hit_percent": 35.2,
"avg_best_speed": 75.1775,
"avg_hyper_speed": 94.1777,
"whiff_percent": 28.5,
"swing_percent": 51.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2186,
"command_and_miss": 0.3746,
"regression_edge": -0.4857,
"xwoba_edge": -0.2714,
"barrel_edge": -1.3444,
"hard_hit_edge": 0.4429,
"whiff_edge": 0.3786,
"bb_edge": -0.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "573204",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0331,
"sample_weight": 0.45,
"run_prevention_factor": 1.0028,
"strikeout_factor": 1.0207,
"walk_factor": 1.0189,
"homer_factor": 1.0441,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573204",
"espn_id": 32440,
"player_name": "Caleb Thielbar",
"team": "CHC",
"role": "pitcher",
"espn_rank": 586,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 586,
"gp_value": 24.0,
"gp_rank": 158,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.7142,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 6.0,
"hld_rank": 79,
"ip_value": 21.0,
"ip_rank": 383,
"h_value": 16.0,
"h_rank": 414,
"er_value": 11.0,
"er_rank": 324,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 11.0,
"bb_rank": 298,
"k_value": 25.0,
"k_rank": 325,
"k_per_9_value": 10.714286,
"k_per_9_rank": 22,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": -0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0013,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0013,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0085,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0198,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0093,
"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": 7,
"BB": 5,
"SO": 12,
"HR": 3,
"ERA": 6.750000000000001,
"WHIP": 1.2857142857142858,
"K9": 11.571428571428573,
"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-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "573204",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.158,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.454,
"prior_weight": 0.546
},
"role": "pitcher",
"player_id": "573204",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 3.0,
"SO": 6.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 0.6,
"BB": 0.6,
"SO": 1.2,
"HR": 0.2,
"BF": 4.0,
"Pitches": 17.2
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.2857,
"ER_per_IP": 0.85714,
"H_per_IP": 0.64286,
"BB_per_IP": 0.64286,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 7.0,
"H": 7.0,
"BB": 5.0,
"SO": 12.0,
"HR": 3.0,
"BF": 39.0,
"Pitches": 173.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 0.7,
"BB": 0.5,
"SO": 1.2,
"HR": 0.3,
"BF": 3.9,
"Pitches": 17.3
},
"rates": {
"ERA": 6.75,
"WHIP": 1.2857,
"ER_per_IP": 0.75,
"H_per_IP": 0.75,
"BB_per_IP": 0.53571,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.32143
}
},
"season": {
"games": 23,
"totals": {
"IP": 21.0,
"ER": 10.0,
"R": 11.0,
"H": 15.0,
"BB": 10.0,
"SO": 25.0,
"HR": 4.0,
"BF": 88.0,
"Pitches": 378.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4348,
"R": 0.4783,
"H": 0.6522,
"BB": 0.4348,
"SO": 1.087,
"HR": 0.1739,
"BF": 3.8261,
"Pitches": 16.4348
},
"rates": {
"ERA": 4.2857,
"WHIP": 1.1905,
"ER_per_IP": 0.47619,
"H_per_IP": 0.71429,
"BB_per_IP": 0.47619,
"SO_per_IP": 1.19048,
"HR_per_IP": 0.19048
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.61,
"predicted_H": 0.845,
"predicted_BB": 0.456,
"predicted_SO": 1.092,
"predicted_HR": 0.192,
"predicted_ERA": 5.493,
"predicted_WHIP": 1.301
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5807,
"form_weight": 0.4193,
"form_reliability": 0.454,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.158,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.454,
"prior_weight": 0.546
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.61,
"final": 0.2558,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.845,
"final": 0.3543,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.456,
"final": 0.7719,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.092,
"final": 1.6193,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.192,
"final": 0.0805,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.493,
"final": 5.493,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.301,
"final": 1.301,
"source": "form_only"
}
}
}{
"available": false,
"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 | Hoby Milner |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2127 |
| ESPN Rank | 251 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.2804 |
| Season WHIP | 1.1215 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"opponent": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"edges": {
"quality_edge": 0.3627,
"offense_edge": 0.1051,
"opponent_offense_edge": -0.1346,
"defense_strength": 0.0034,
"opponent_defense_weakness": -0.0137,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.02,
"run_prevention": 0.96,
"strikeout": 1.0216
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "571948",
"profile": {
"available": true,
"pitcher_id": "571948",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 96.0,
"k_percent": 12.3,
"bb_percent": 6.2,
"woba": 0.29,
"xwoba": 0.342,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 37.1,
"avg_best_speed": 77.6641,
"avg_hyper_speed": 93.5724,
"whiff_percent": 17.5,
"swing_percent": 45.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1417,
"command_and_miss": -0.9411,
"regression_edge": -1.4857,
"xwoba_edge": -0.7857,
"barrel_edge": 0.4333,
"hard_hit_edge": 0.1714,
"whiff_edge": -1.1929,
"bb_edge": 0.725,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "571948",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2127,
"sample_weight": 0.45,
"run_prevention_factor": 1.0181,
"strikeout_factor": 0.9518,
"walk_factor": 0.9739,
"homer_factor": 0.9919,
"woba_minus_xwoba": -0.052,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "571948",
"espn_id": 36088,
"player_name": "Hoby Milner",
"team": "CHC",
"role": "pitcher",
"espn_rank": 251,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 251,
"gp_value": 37.0,
"gp_rank": 12,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.2803,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 6.0,
"hld_rank": 79,
"ip_value": 35.2,
"ip_rank": 207,
"h_value": 31.0,
"h_rank": 223,
"er_value": 13.0,
"er_rank": 270,
"hr_value": 3.0,
"hr_rank": 288,
"bb_value": 9.0,
"bb_rank": 355,
"k_value": 18.0,
"k_rank": 396,
"k_per_9_value": 4.542056,
"k_per_9_rank": 51,
"whip_value": 1.1214,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0081,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0081,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9883,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9783,
"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": 11,
"BB": 3,
"SO": 5,
"HR": 1,
"ERA": 6.230769230769231,
"WHIP": 1.6153846153846154,
"K9": 5.1923076923076925,
"HR9": 1.0384615384615385,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "571948",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.062,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5855,
"prior_weight": 0.4145
},
"role": "pitcher",
"player_id": "571948",
"report_date": "20260625_C",
"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": 3.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.6
},
"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.5625,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 6.0,
"R": 6.0,
"H": 11.0,
"BB": 3.0,
"SO": 5.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.1,
"BB": 0.3,
"SO": 0.5,
"HR": 0.1,
"BF": 3.9,
"Pitches": 15.2
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.6154,
"ER_per_IP": 0.69231,
"H_per_IP": 1.26923,
"BB_per_IP": 0.34615,
"SO_per_IP": 0.57692,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 37,
"totals": {
"IP": 35.2,
"ER": 13.0,
"R": 13.0,
"H": 31.0,
"BB": 9.0,
"SO": 18.0,
"HR": 3.0,
"BF": 146.0,
"Pitches": 555.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3514,
"R": 0.3514,
"H": 0.8378,
"BB": 0.2432,
"SO": 0.4865,
"HR": 0.0811,
"BF": 3.9459,
"Pitches": 15.0
},
"rates": {
"ERA": 3.2804,
"WHIP": 1.1215,
"ER_per_IP": 0.36449,
"H_per_IP": 0.86916,
"BB_per_IP": 0.25234,
"SO_per_IP": 0.50467,
"HR_per_IP": 0.08411
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.392,
"predicted_H": 0.912,
"predicted_BB": 0.349,
"predicted_SO": 0.718,
"predicted_HR": 0.094,
"predicted_ERA": 3.5249,
"predicted_WHIP": 1.2605
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5251,
"form_weight": 0.4749,
"form_reliability": 0.5855,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.062,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5855,
"prior_weight": 0.4145
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.392,
"final": 0.1862,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.912,
"final": 0.9582,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.349,
"final": 0.6909,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.718,
"final": 0.8661,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.094,
"final": 0.0446,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5249,
"final": 3.5249,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2605,
"final": 1.2605,
"source": "form_only"
}
}
}{
"available": false,
"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 | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0849 |
| ESPN Rank | 598 |
| 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.7800 |
| Season WHIP | 1.3800 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"opponent": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"edges": {
"quality_edge": 0.3627,
"offense_edge": 0.1051,
"opponent_offense_edge": -0.1346,
"defense_strength": 0.0034,
"opponent_defense_weakness": -0.0137,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.02,
"run_prevention": 0.96,
"strikeout": 1.0216
},
"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": 101.0,
"k_percent": 27.6,
"bb_percent": 8.3,
"woba": 0.32,
"xwoba": 0.326,
"sweet_spot_percent": 40.9,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 49.5,
"avg_best_speed": 80.4443,
"avg_hyper_speed": 95.0967,
"whiff_percent": 31.4,
"swing_percent": 51.9
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.5999,
"command_and_miss": 0.6325,
"regression_edge": -0.1714,
"xwoba_edge": -0.3286,
"barrel_edge": -0.5889,
"hard_hit_edge": -1.6,
"whiff_edge": 0.7929,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "657097",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0849,
"sample_weight": 0.45,
"run_prevention_factor": 1.0072,
"strikeout_factor": 1.0269,
"walk_factor": 0.9928,
"homer_factor": 1.0544,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657097",
"espn_id": 40384,
"player_name": "Jacob Webb",
"team": "CHC",
"role": "pitcher",
"espn_rank": 598,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 598,
"gp_value": 34.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.78,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 5.0,
"hld_rank": 97,
"ip_value": 33.1,
"ip_rank": 235,
"h_value": 34.0,
"h_rank": 196,
"er_value": 14.0,
"er_rank": 250,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 40.0,
"k_rank": 177,
"k_per_9_value": 10.8,
"k_per_9_rank": 20,
"whip_value": 1.38,
"whip_rank": null,
"war_value": -0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0032,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0032,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9968,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0245,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0121,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 7,
"H": 10,
"BB": 4,
"SO": 10,
"HR": 3,
"ERA": 6.517241379310345,
"WHIP": 1.4482758620689655,
"K9": 9.310344827586208,
"HR9": 2.793103448275862,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "657097",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.6,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"role": "pitcher",
"player_id": "657097",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 5.0,
"R": 5.0,
"H": 5.0,
"BB": 2.0,
"SO": 5.0,
"HR": 2.0,
"BF": 19.0,
"Pitches": 91.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.4,
"BF": 3.8,
"Pitches": 18.2
},
"rates": {
"ERA": 11.25,
"WHIP": 1.75,
"ER_per_IP": 1.25,
"H_per_IP": 1.25,
"BB_per_IP": 0.5,
"SO_per_IP": 1.25,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 4.0,
"SO": 10.0,
"HR": 3.0,
"BF": 43.0,
"Pitches": 177.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.3,
"BF": 4.3,
"Pitches": 17.7
},
"rates": {
"ERA": 6.5172,
"WHIP": 1.4483,
"ER_per_IP": 0.72414,
"H_per_IP": 1.03448,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.03448,
"HR_per_IP": 0.31034
}
},
"season": {
"games": 34,
"totals": {
"IP": 33.1,
"ER": 14.0,
"R": 17.0,
"H": 34.0,
"BB": 12.0,
"SO": 40.0,
"HR": 6.0,
"BF": 145.0,
"Pitches": 607.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4118,
"R": 0.5,
"H": 1.0,
"BB": 0.3529,
"SO": 1.1765,
"HR": 0.1765,
"BF": 4.2647,
"Pitches": 17.8529
},
"rates": {
"ERA": 3.78,
"WHIP": 1.38,
"ER_per_IP": 0.42,
"H_per_IP": 1.02,
"BB_per_IP": 0.36,
"SO_per_IP": 1.2,
"HR_per_IP": 0.18
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.665,
"predicted_H": 0.969,
"predicted_BB": 0.372,
"predicted_SO": 0.979,
"predicted_HR": 0.25,
"predicted_ERA": 6.5467,
"predicted_WHIP": 1.4666
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5321,
"form_weight": 0.4679,
"form_reliability": 0.569,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.6,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.665,
"final": 0.3112,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.969,
"final": 2.0497,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.372,
"final": 0.1741,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.979,
"final": 0.9902,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.25,
"final": 0.117,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.5467,
"final": 6.5467,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4666,
"final": 1.4666,
"source": "form_only"
}
}
}{
"available": false,
"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 | Phil Maton |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3461 |
| ESPN Rank | 671 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 6.0395 |
| Season WHIP | 1.7763 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"opponent": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"edges": {
"quality_edge": 0.3627,
"offense_edge": 0.1051,
"opponent_offense_edge": -0.1346,
"defense_strength": 0.0034,
"opponent_defense_weakness": -0.0137,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.02,
"run_prevention": 0.96,
"strikeout": 1.0216
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664208",
"profile": {
"available": true,
"pitcher_id": "664208",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 75.0,
"k_percent": 23.6,
"bb_percent": 12.2,
"woba": 0.391,
"xwoba": 0.377,
"sweet_spot_percent": 41.3,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 44.0,
"avg_best_speed": 77.0217,
"avg_hyper_speed": 94.5521,
"whiff_percent": 26.3,
"swing_percent": 45.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -1.4101,
"command_and_miss": -0.0746,
"regression_edge": 0.4,
"xwoba_edge": -1.7857,
"barrel_edge": -1.0778,
"hard_hit_edge": -0.8143,
"whiff_edge": 0.0643,
"bb_edge": -0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664208",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.3461,
"sample_weight": 0.45,
"run_prevention_factor": 1.0294,
"strikeout_factor": 1.0035,
"walk_factor": 1.0279,
"homer_factor": 1.0776,
"woba_minus_xwoba": 0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664208",
"espn_id": 36161,
"player_name": "Phil Maton",
"team": "CHC",
"role": "pitcher",
"espn_rank": 671,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 671,
"gp_value": 29.0,
"gp_rank": 109,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 6.0394,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 5.0,
"hld_rank": 97,
"ip_value": 25.1,
"ip_rank": 341,
"h_value": 30.0,
"h_rank": 234,
"er_value": 17.0,
"er_rank": 200,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 15.0,
"bb_rank": 214,
"k_value": 29.0,
"k_rank": 285,
"k_per_9_value": 10.302631,
"k_per_9_rank": 22,
"whip_value": 1.7763,
"whip_rank": null,
"war_value": -0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0132,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0132,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0126,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0349,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0016,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 3,
"H": 11,
"BB": 5,
"SO": 9,
"HR": 1,
"ERA": 3.2400000000000007,
"WHIP": 1.9200000000000004,
"K9": 9.72,
"HR9": 1.08,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "664208",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.016,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5008,
"prior_weight": 0.4992
},
"role": "pitcher",
"player_id": "664208",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 4.0,
"SO": 5.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.8,
"SO": 1.0,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.6
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.8462,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.92308,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 3.0,
"R": 3.0,
"H": 11.0,
"BB": 5.0,
"SO": 9.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 168.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 1.1,
"BB": 0.5,
"SO": 0.9,
"HR": 0.1,
"BF": 4.2,
"Pitches": 16.8
},
"rates": {
"ERA": 3.24,
"WHIP": 1.92,
"ER_per_IP": 0.36,
"H_per_IP": 1.32,
"BB_per_IP": 0.6,
"SO_per_IP": 1.08,
"HR_per_IP": 0.12
}
},
"season": {
"games": 29,
"totals": {
"IP": 25.1,
"ER": 17.0,
"R": 17.0,
"H": 30.0,
"BB": 15.0,
"SO": 29.0,
"HR": 4.0,
"BF": 123.0,
"Pitches": 500.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5862,
"R": 0.5862,
"H": 1.0345,
"BB": 0.5172,
"SO": 1.0,
"HR": 0.1379,
"BF": 4.2414,
"Pitches": 17.2414
},
"rates": {
"ERA": 6.0395,
"WHIP": 1.7763,
"ER_per_IP": 0.67105,
"H_per_IP": 1.18421,
"BB_per_IP": 0.59211,
"SO_per_IP": 1.14474,
"HR_per_IP": 0.15789
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.407,
"predicted_H": 0.981,
"predicted_BB": 0.52,
"predicted_SO": 0.976,
"predicted_HR": 0.152,
"predicted_ERA": 3.8856,
"predicted_WHIP": 1.5942
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5609,
"form_weight": 0.4391,
"form_reliability": 0.5008,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.016,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5008,
"prior_weight": 0.4992
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.407,
"final": 0.1787,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.981,
"final": 1.5526,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.52,
"final": 0.7892,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.976,
"final": 0.4285,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.152,
"final": 0.0667,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8856,
"final": 3.8856,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5942,
"final": 1.5942,
"source": "form_only"
}
}
}{
"available": false,
"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.130 | 0.000 | 0.000 | Hitting_2B | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 4.250 | 4.000 | 4.000 | Hitting_AB | 4.098 | 3.000 | -0.098 | 1.000 |
| predicted_AVG | 0.223 | 0.250 | 0.250 | Hitting_AVG | 0.257 | 0.000 | -0.007 | 0.250 |
| predicted_BB | 0.519 | 0.000 | 1.000 | Hitting_BB | 0.525 | 2.000 | -0.525 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 0.950 | 1.000 | 1.000 | Hitting_H | 1.054 | 0.000 | -0.054 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_OBP | 0.336 | 0.250 | 0.400 | Hitting_OBP | 0.349 | 0.400 | -0.099 | -0.150 |
| predicted_R | 0.468 | 0.000 | 1.000 | Hitting_R | 0.496 | 0.000 | -0.496 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_SLG | 0.330 | 0.250 | 0.250 | Hitting_SLG | 0.349 | 0.000 | -0.099 | 0.250 |
| predicted_SO | 0.740 | 1.000 | 1.000 | Hitting_SO | 0.779 | 1.000 | 0.221 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.7400 -> 1.0000 (boost 0.2600, worse) |
| Biggest Deboost | predicted_BB: 0.5190 -> 0.0000 (deboost -0.5190, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.5190 -> 0.5779 (boost 0.0589, better) | predicted_AB: 4.2500 -> 4.0476 (deboost -0.2024, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2212 -> 0.2296 (boost 0.0084, better) | predicted_OBP: 0.3403 -> 0.3271 (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 | 7 | 3 | 4 | 2 | 5 | predicted_BB: 0.5866 -> 1.0000 (boost 0.4134, better) | predicted_RBI: 0.4460 -> 0.0000 (deboost -0.4460, worse) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.219 HR/AB=0.016 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5062 -> 1.0000 (boost 0.4938, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3271 -> 0.4000 (boost 0.0729, better) | predicted_SLG: 0.3157 -> 0.2500 (deboost -0.0657, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3157 (boost 0.0657, better) | predicted_OBP: 0.4000 -> 0.3271 (deboost -0.0729, worse) | 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.13,
"predicted_3B": 0.013,
"predicted_AB": 4.25,
"predicted_AVG": 0.223,
"predicted_BB": 0.519,
"predicted_H": 0.95,
"predicted_HR": 0.08,
"predicted_OBP": 0.336,
"predicted_R": 0.468,
"predicted_RBI": 0.44,
"predicted_SLG": 0.33,
"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.118,
"predicted_3B": 0.0109,
"predicted_AB": 4.0476,
"predicted_AVG": 0.2212,
"predicted_BB": 0.5779,
"predicted_H": 0.897,
"predicted_HBP": 0.124,
"predicted_HR": 0.0676,
"predicted_OBP": 0.3403,
"predicted_R": 0.4757,
"predicted_RBI": 0.4191,
"predicted_SLG": 0.3133,
"predicted_SO": 0.6952
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.118,
"delta": -0.012,
"percent_delta": -0.0923,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 4.0476,
"delta": -0.2024,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2212,
"delta": -0.0018,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.519,
"after": 0.5779,
"delta": 0.0589,
"percent_delta": 0.1135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.897,
"delta": -0.053,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0676,
"delta": -0.0124,
"percent_delta": -0.155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3403,
"delta": 0.0043,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.4757,
"delta": 0.0077,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4191,
"delta": -0.0209,
"percent_delta": -0.0475,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.3133,
"delta": -0.0167,
"percent_delta": -0.0506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 0.6952,
"delta": -0.0448,
"percent_delta": -0.0605,
"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.519,
"after": 0.5779,
"delta": 0.0589,
"percent_delta": 0.1135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.25,
"after": 4.0476,
"delta": -0.2024,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.118,
"predicted_3B": 0.0109,
"predicted_AB": 4.0476,
"predicted_AVG": 0.2296,
"predicted_BB": 0.5866,
"predicted_H": 0.9292,
"predicted_HBP": 0.124,
"predicted_HR": 0.0696,
"predicted_OBP": 0.3271,
"predicted_R": 0.5062,
"predicted_RBI": 0.446,
"predicted_SLG": 0.3157,
"predicted_SO": 0.6847
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0476,
"after": 4.0476,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2212,
"after": 0.2296,
"delta": 0.0084,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5779,
"after": 0.5866,
"delta": 0.0087,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.897,
"after": 0.9292,
"delta": 0.0322,
"percent_delta": 0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.124,
"after": 0.124,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0676,
"after": 0.0696,
"delta": 0.002,
"percent_delta": 0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3403,
"after": 0.3271,
"delta": -0.0132,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4757,
"after": 0.5062,
"delta": 0.0305,
"percent_delta": 0.0641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4191,
"after": 0.446,
"delta": 0.0269,
"percent_delta": 0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3133,
"after": 0.3157,
"delta": 0.0024,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6952,
"after": 0.6847,
"delta": -0.0105,
"percent_delta": -0.0151,
"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.2212,
"after": 0.2296,
"delta": 0.0084,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3403,
"after": 0.3271,
"delta": -0.0132,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.25), rates preserved: AVG=0.219 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0476,
"after": 4.0,
"delta": -0.0476,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5866,
"after": 1.0,
"delta": 0.4134,
"percent_delta": 0.7047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9292,
"after": 1.0,
"delta": 0.0708,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0696,
"after": 0.0,
"delta": -0.0696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6847,
"after": 1.0,
"delta": 0.3153,
"percent_delta": 0.4605,
"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_BB",
"before": 0.5866,
"after": 1.0,
"delta": 0.4134,
"percent_delta": 0.7047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.5062,
"after": 1.0,
"delta": 0.4938,
"percent_delta": 0.9755,
"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.5062,
"after": 1.0,
"delta": 0.4938,
"percent_delta": 0.9755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2296,
"after": 0.25,
"delta": 0.0204,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3271,
"after": 0.4,
"delta": 0.0729,
"percent_delta": 0.2229,
"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.3157,
"after": 0.25,
"delta": -0.0657,
"percent_delta": -0.2081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3271,
"after": 0.4,
"delta": 0.0729,
"percent_delta": 0.2229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3157,
"after": 0.25,
"delta": -0.0657,
"percent_delta": -0.2081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2296,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3271,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3157,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2296,
"delta": -0.0204,
"percent_delta": -0.0817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3271,
"delta": -0.0729,
"percent_delta": -0.1823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3157,
"delta": 0.0657,
"percent_delta": 0.2627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3157,
"delta": 0.0657,
"percent_delta": 0.2627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3271,
"delta": -0.0729,
"percent_delta": -0.1823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 4.0,
"delta": -0.25,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2296,
"delta": 0.0066,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.519,
"after": 0.0,
"delta": -0.519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.0,
"delta": 0.05,
"percent_delta": 0.0526,
"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.336,
"after": 0.3271,
"delta": -0.0089,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.0,
"delta": -0.468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.3157,
"delta": -0.0143,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"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.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.519,
"after": 0.0,
"delta": -0.519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.130 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.519 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.468 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.330 | - |
| 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.118 | -0.012 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 4.048 | -0.202 |
| predicted_AVG | 0.221 | -0.002 |
| predicted_BB | 0.578 | 0.059 |
| predicted_H | 0.897 | -0.053 |
| predicted_HBP | 0.124 | - |
| predicted_HR | 0.068 | -0.012 |
| predicted_OBP | 0.340 | 0.004 |
| predicted_R | 0.476 | 0.008 |
| predicted_RBI | 0.419 | -0.021 |
| predicted_SLG | 0.313 | -0.017 |
| predicted_SO | 0.695 | -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.118 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 4.048 | 0.000 |
| predicted_AVG | 0.230 | 0.008 |
| predicted_BB | 0.587 | 0.009 |
| predicted_H | 0.929 | 0.032 |
| predicted_HBP | 0.124 | 0.000 |
| predicted_HR | 0.070 | 0.002 |
| predicted_OBP | 0.327 | -0.013 |
| predicted_R | 0.506 | 0.030 |
| predicted_RBI | 0.446 | 0.027 |
| predicted_SLG | 0.316 | 0.002 |
| predicted_SO | 0.685 | -0.011 |
AB rounded to 4 (raw=4.25), rates preserved: AVG=0.219 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.118 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | -0.048 |
| predicted_AVG | 0.250 | 0.020 |
| predicted_BB | 1.000 | 0.413 |
| predicted_H | 1.000 | 0.071 |
| predicted_HR | 0.000 | -0.070 |
| predicted_OBP | 0.400 | 0.073 |
| predicted_R | 1.000 | 0.494 |
| predicted_RBI | 0.000 | -0.446 |
| predicted_SLG | 0.250 | -0.066 |
| 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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 5.000 | 2.000 | 0.1176 | 0.3333 | 0.1176 | 0.1177 | 0.0000 | 0.1765 | 0.2941 | 0.1177 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 1.000 | 0.000 | 0.000 | 3.000 | 4.000 | 8.000 | 5.000 | 0.2222 | 0.3830 | 0.2500 | 0.2222 | 0.0000 | 0.0833 | 0.2222 | 0.1389 |
| season | 0.60 | 77 | - | 304.000 | 75.000 | 10.000 | 1.000 | 6.000 | 25.000 | 36.000 | 40.000 | 57.000 | 0.2467 | 0.3428 | 0.3454 | 0.2467 | 0.0197 | 0.0822 | 0.1316 | 0.1875 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.7760 |
| predicted_AVG | 0.2187 |
| predicted_BB | 0.6570 |
| predicted_H | 0.8260 |
| predicted_HBP | 0.1240 |
| predicted_HR | 0.0510 |
| predicted_OBP | 0.3461 |
| predicted_R | 0.4860 |
| predicted_RBI | 0.3910 |
| predicted_SLG | 0.2909 |
| predicted_SO | 0.6350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.1020 | 0.1180 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.2500 | 3.7760 | 4.0476 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2187 | 0.2212 | model_form_blend |
| predicted_BB | 0.5190 | 0.6570 | 0.5779 | model_form_blend |
| predicted_H | 0.9500 | 0.8260 | 0.8970 | model_form_blend |
| predicted_HBP | - | 0.1240 | 0.1240 | form_only |
| predicted_HR | 0.0800 | 0.0510 | 0.0676 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3461 | 0.3403 | model_form_blend |
| predicted_R | 0.4680 | 0.4860 | 0.4757 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3910 | 0.4191 | model_form_blend |
| predicted_SLG | 0.3300 | 0.2909 | 0.3133 | model_form_blend |
| predicted_SO | 0.7400 | 0.6350 | 0.6952 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 276 |
| Season rows before report date | 276 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.247 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 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 | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 608324 |
| playerID | 608324 |
| playerName | Alex Bregman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.308 |
| sl_xwoba | 0.315 |
| sl_xba | 0.244 |
| sl_xslg | 0.365 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 37.8 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 17.3 |
| sl_swing_percent | 41.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.243 | 0.000 | 0.000 | Hitting_2B | 0.294 | 1.000 | -0.294 | -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.686 | 4.000 | 1.314 | 0.000 |
| predicted_AVG | 0.230 | 0.250 | 0.333 | Hitting_AVG | 0.277 | 0.250 | -0.027 | 0.000 |
| predicted_BB | 0.316 | 1.000 | 0.000 | Hitting_BB | 0.549 | 0.000 | 0.451 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.240 | 1.000 | 1.000 | Hitting_H | 0.745 | 1.000 | 0.255 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.241 | 0.400 | 0.333 | Hitting_OBP | 0.398 | 0.250 | 0.002 | 0.150 |
| predicted_R | 0.316 | 1.000 | 0.000 | Hitting_R | 0.471 | 1.000 | 0.529 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.441 | 1.000 | -0.441 | -1.000 |
| predicted_SLG | 0.347 | 0.250 | 0.333 | Hitting_SLG | 0.518 | 0.500 | -0.268 | -0.250 |
| predicted_SO | 0.898 | 1.000 | 1.000 | Hitting_SO | 0.775 | 1.000 | 0.225 | 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_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_2B: 0.2430 -> 0.0000 (deboost -0.2430, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.2400 -> 0.3379 (boost 0.0979, better) | predicted_AVG: 0.2300 -> 0.2115 (deboost -0.0185, worse) | Final model input calibrated with local 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.2115 -> 0.1360 (deboost -0.0755, 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.5733 -> 3.0000 (boost 0.4267, better) | predicted_H: 0.3500 -> 0.0000 (deboost -0.3500, worse) | AB rounded to 3 (raw=2.57), rates preserved: AVG=0.136 HR/AB=0.021 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300) |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3221 -> 0.0000 (deboost -0.3221, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1360 -> 0.3330 (boost 0.1970, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1360 (deboost -0.1970, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624424",
"player_name": "Michael Conforto",
"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.243,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.23,
"predicted_BB": 0.316,
"predicted_H": 0.24,
"predicted_HR": 0.04,
"predicted_OBP": 0.241,
"predicted_R": 0.316,
"predicted_RBI": 0.15,
"predicted_SLG": 0.347,
"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.2262,
"predicted_3B": 0.0008,
"predicted_AB": 2.5733,
"predicted_AVG": 0.2115,
"predicted_BB": 0.2794,
"predicted_H": 0.3379,
"predicted_HBP": 0.005,
"predicted_HR": 0.0513,
"predicted_OBP": 0.2417,
"predicted_R": 0.3027,
"predicted_RBI": 0.2019,
"predicted_SLG": 0.3424,
"predicted_SO": 0.9413
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.243,
"after": 0.2262,
"delta": -0.0168,
"percent_delta": -0.0691,
"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.5733,
"delta": 0.0733,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2115,
"delta": -0.0185,
"percent_delta": -0.0804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.2794,
"delta": -0.0366,
"percent_delta": -0.1158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.3379,
"delta": 0.0979,
"percent_delta": 0.4079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0513,
"delta": 0.0113,
"percent_delta": 0.2825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.241,
"after": 0.2417,
"delta": 0.0007,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.3027,
"delta": -0.0133,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.2019,
"delta": 0.0519,
"percent_delta": 0.346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3424,
"delta": -0.0046,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.898,
"after": 0.9413,
"delta": 0.0433,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.24,
"after": 0.3379,
"delta": 0.0979,
"percent_delta": 0.4079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2115,
"delta": -0.0185,
"percent_delta": -0.0804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 46
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2262,
"predicted_3B": 0.0008,
"predicted_AB": 2.5733,
"predicted_AVG": 0.136,
"predicted_BB": 0.2836,
"predicted_H": 0.35,
"predicted_HBP": 0.005,
"predicted_HR": 0.0528,
"predicted_OBP": 0.2218,
"predicted_R": 0.3221,
"predicted_RBI": 0.2149,
"predicted_SLG": 0.2861,
"predicted_SO": 0.9271
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2262,
"after": 0.2262,
"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.5733,
"after": 2.5733,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2115,
"after": 0.136,
"delta": -0.0755,
"percent_delta": -0.357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2794,
"after": 0.2836,
"delta": 0.0042,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3379,
"after": 0.35,
"delta": 0.0121,
"percent_delta": 0.0358,
"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.0513,
"after": 0.0528,
"delta": 0.0015,
"percent_delta": 0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2417,
"after": 0.2218,
"delta": -0.0199,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3027,
"after": 0.3221,
"delta": 0.0194,
"percent_delta": 0.0641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2019,
"after": 0.2149,
"delta": 0.013,
"percent_delta": 0.0644,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3424,
"after": 0.2861,
"delta": -0.0563,
"percent_delta": -0.1644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9413,
"after": 0.9271,
"delta": -0.0142,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2115,
"after": 0.136,
"delta": -0.0755,
"percent_delta": -0.357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.57), rates preserved: AVG=0.136 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2262,
"after": 0.0,
"delta": -0.2262,
"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.5733,
"after": 3.0,
"delta": 0.4267,
"percent_delta": 0.1658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2836,
"after": 0.0,
"delta": -0.2836,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.0528,
"after": 0.0,
"delta": -0.0528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2149,
"after": 0.0,
"delta": -0.2149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9271,
"after": 1.0,
"delta": 0.0729,
"percent_delta": 0.0786,
"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.5733,
"after": 3.0,
"delta": 0.4267,
"percent_delta": 0.1658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 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.3221,
"after": 0.0,
"delta": -0.3221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3221,
"after": 0.0,
"delta": -0.3221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.136,
"after": 0.333,
"delta": 0.197,
"percent_delta": 1.4485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2218,
"after": 0.333,
"delta": 0.1112,
"percent_delta": 0.5014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2861,
"after": 0.333,
"delta": 0.0469,
"percent_delta": 0.1639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.136,
"after": 0.333,
"delta": 0.197,
"percent_delta": 1.4485,
"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": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.136,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2218,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2861,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.136,
"delta": -0.197,
"percent_delta": -0.5915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2218,
"delta": -0.1112,
"percent_delta": -0.3339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2861,
"delta": -0.0469,
"percent_delta": -0.1408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.136,
"delta": -0.197,
"percent_delta": -0.5915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.243,
"after": 0.0,
"delta": -0.243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.136,
"delta": -0.094,
"percent_delta": -0.4087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 1.0,
"delta": 0.684,
"percent_delta": 2.1646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"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.241,
"after": 0.2218,
"delta": -0.0192,
"percent_delta": -0.0797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 1.0,
"delta": 0.684,
"percent_delta": 2.1646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.2861,
"delta": -0.0609,
"percent_delta": -0.1755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.898,
"after": 1.0,
"delta": 0.102,
"percent_delta": 0.1136,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.243,
"after": 0.0,
"delta": -0.243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.243 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.316 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.241 | - |
| predicted_R | 0.316 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.347 | - |
| 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.226 | -0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.573 | 0.073 |
| predicted_AVG | 0.211 | -0.019 |
| predicted_BB | 0.279 | -0.037 |
| predicted_H | 0.338 | 0.098 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.051 | 0.011 |
| predicted_OBP | 0.242 | 0.001 |
| predicted_R | 0.303 | -0.013 |
| predicted_RBI | 0.202 | 0.052 |
| predicted_SLG | 0.342 | -0.005 |
| predicted_SO | 0.941 | 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.226 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.573 | 0.000 |
| predicted_AVG | 0.136 | -0.075 |
| predicted_BB | 0.284 | 0.004 |
| predicted_H | 0.350 | 0.012 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.053 | 0.002 |
| predicted_OBP | 0.222 | -0.020 |
| predicted_R | 0.322 | 0.019 |
| predicted_RBI | 0.215 | 0.013 |
| predicted_SLG | 0.286 | -0.056 |
| predicted_SO | 0.927 | -0.014 |
AB rounded to 3 (raw=2.57), rates preserved: AVG=0.136 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.226 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.427 |
| predicted_AVG | 0.333 | 0.197 |
| predicted_BB | 0.000 | -0.284 |
| predicted_H | 1.000 | 0.650 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.333 | 0.111 |
| predicted_R | 0.000 | -0.322 |
| predicted_RBI | 0.000 | -0.215 |
| predicted_SLG | 0.333 | 0.047 |
| 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 | 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 | 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 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 7.000 | 0.0714 | 0.0714 | 0.1429 | 0.0714 | 0.0000 | 0.0714 | 0.0000 | 0.5000 |
| last_10 | 0.20 | 10 | - | 24.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 12.000 | 0.0833 | 0.1200 | 0.1250 | 0.0833 | 0.0000 | 0.0417 | 0.0417 | 0.5000 |
| season | 0.60 | 46 | - | 103.000 | 23.000 | 10.000 | 0.000 | 4.000 | 13.000 | 13.000 | 13.000 | 37.000 | 0.2233 | 0.3103 | 0.4369 | 0.2233 | 0.0388 | 0.1262 | 0.1262 | 0.3592 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2000 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.6880 |
| predicted_AVG | 0.1825 |
| predicted_BB | 0.2220 |
| predicted_H | 0.4910 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0690 |
| predicted_OBP | 0.2427 |
| predicted_R | 0.2820 |
| predicted_RBI | 0.2830 |
| predicted_SLG | 0.3351 |
| predicted_SO | 1.0090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2430 | 0.2000 | 0.2262 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.6880 | 2.5733 | model_form_blend |
| predicted_AVG | 0.2300 | 0.1825 | 0.2115 | model_form_blend |
| predicted_BB | 0.3160 | 0.2220 | 0.2794 | model_form_blend |
| predicted_H | 0.2400 | 0.4910 | 0.3379 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0400 | 0.0690 | 0.0513 | model_form_blend |
| predicted_OBP | 0.2410 | 0.2427 | 0.2417 | model_form_blend |
| predicted_R | 0.3160 | 0.2820 | 0.3027 | model_form_blend |
| predicted_RBI | 0.1500 | 0.2830 | 0.2019 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3351 | 0.3424 | model_form_blend |
| predicted_SO | 0.8980 | 1.0090 | 0.9413 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 102 |
| Season rows before report date | 102 |
| Report year | 2026 |
| Profile rows used | 46 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_CHC@NYM |
| game_type | full |
| mlbID | 624424 |
| playerID | 624424 |
| playerName | Michael Conforto |
| pos | DH |
| started | True |
| startingPosition | RF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.334 |
| sl_xwoba | 0.346 |
| sl_xba | 0.244 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 13.4 |
| sl_hard_hit_percent | 52.2 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 18.5 |
| sl_whiff_percent | 32.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.167 | 0.000 | 0.000 | Hitting_2B | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 4.000 | 4.000 | 4.000 | Hitting_AB | 3.689 | 5.000 | 0.311 | -1.000 |
| predicted_AVG | 0.223 | 0.250 | 0.250 | Hitting_AVG | 0.238 | 0.000 | 0.012 | 0.250 |
| predicted_BB | 0.692 | 0.000 | 1.000 | Hitting_BB | 0.781 | 0.000 | -0.781 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 1.000 | 1.000 | Hitting_H | 0.878 | 0.000 | 0.122 | 1.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | 0.878 | 1.000 |
| predicted_OBP | 0.343 | 0.400 | 0.400 | Hitting_OBP | 0.382 | 0.000 | 0.018 | 0.400 |
| predicted_R | 0.410 | 1.000 | 0.000 | Hitting_R | 0.493 | 0.000 | 0.507 | 1.000 |
| predicted_RBI | 0.500 | 2.000 | 1.000 | Hitting_RBI | 0.615 | 0.000 | 1.385 | 2.000 |
| predicted_SLG | 0.375 | 1.000 | 0.250 | Hitting_SLG | 0.403 | 0.000 | 0.597 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 1.007 | 3.000 | -0.007 | -2.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_RBI: 0.5000 -> 2.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_BB: 0.6920 -> 0.0000 (deboost -0.6920, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0000 -> 3.8997 (deboost -0.1003, worse) | Final model input calibrated with local 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.3667 -> 0.3820 (boost 0.0153, 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 | 4 | 3 | predicted_RBI: 0.5253 -> 1.0000 (boost 0.4747, better) | predicted_2B: 0.1508 -> 0.0000 (deboost -0.1508, worse) | AB rounded to 4 (raw=4.00), rates preserved: AVG=0.220 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.130) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4063 -> 0.0000 (deboost -0.4063, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3454 -> 0.4000 (boost 0.0546, better) | predicted_SLG: 0.3820 -> 0.2500 (deboost -0.1320, worse) | 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_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3820 (boost 0.1320, better) | predicted_OBP: 0.4000 -> 0.3454 (deboost -0.0546, worse) | 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.167,
"predicted_3B": 0.026,
"predicted_AB": 4.0,
"predicted_AVG": 0.223,
"predicted_BB": 0.692,
"predicted_H": 0.89,
"predicted_HR": 0.14,
"predicted_OBP": 0.343,
"predicted_R": 0.41,
"predicted_RBI": 0.5,
"predicted_SLG": 0.375,
"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.1508,
"predicted_3B": 0.0217,
"predicted_AB": 3.8997,
"predicted_AVG": 0.2178,
"predicted_BB": 0.7039,
"predicted_H": 0.8486,
"predicted_HBP": 0.132,
"predicted_HR": 0.1349,
"predicted_OBP": 0.348,
"predicted_R": 0.3818,
"predicted_RBI": 0.4936,
"predicted_SLG": 0.3667,
"predicted_SO": 0.9885
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1508,
"delta": -0.0162,
"percent_delta": -0.097,
"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": 4.0,
"after": 3.8997,
"delta": -0.1003,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2178,
"delta": -0.0052,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.692,
"after": 0.7039,
"delta": 0.0119,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8486,
"delta": -0.0414,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1349,
"delta": -0.0051,
"percent_delta": -0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.348,
"delta": 0.005,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.3818,
"delta": -0.0282,
"percent_delta": -0.0688,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4936,
"delta": -0.0064,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3667,
"delta": -0.0083,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9885,
"delta": -0.0115,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.8997,
"delta": -0.1003,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1508,
"predicted_3B": 0.0217,
"predicted_AB": 3.8997,
"predicted_AVG": 0.2254,
"predicted_BB": 0.7145,
"predicted_H": 0.8791,
"predicted_HBP": 0.132,
"predicted_HR": 0.1389,
"predicted_OBP": 0.3454,
"predicted_R": 0.4063,
"predicted_RBI": 0.5253,
"predicted_SLG": 0.382,
"predicted_SO": 0.9736
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1508,
"after": 0.1508,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0217,
"after": 0.0217,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8997,
"after": 3.8997,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2178,
"after": 0.2254,
"delta": 0.0076,
"percent_delta": 0.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7039,
"after": 0.7145,
"delta": 0.0106,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8486,
"after": 0.8791,
"delta": 0.0305,
"percent_delta": 0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.132,
"after": 0.132,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1349,
"after": 0.1389,
"delta": 0.004,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3454,
"delta": -0.0026,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3818,
"after": 0.4063,
"delta": 0.0245,
"percent_delta": 0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4936,
"after": 0.5253,
"delta": 0.0317,
"percent_delta": 0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3667,
"after": 0.382,
"delta": 0.0153,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9885,
"after": 0.9736,
"delta": -0.0149,
"percent_delta": -0.0151,
"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.3667,
"after": 0.382,
"delta": 0.0153,
"percent_delta": 0.0417,
"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.00), rates preserved: AVG=0.220 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1508,
"after": 0.0,
"delta": -0.1508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0217,
"after": 0.0,
"delta": -0.0217,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8997,
"after": 4.0,
"delta": 0.1003,
"percent_delta": 0.0257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7145,
"after": 1.0,
"delta": 0.2855,
"percent_delta": 0.3996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8791,
"after": 1.0,
"delta": 0.1209,
"percent_delta": 0.1375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1389,
"after": 0.0,
"delta": -0.1389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5253,
"after": 1.0,
"delta": 0.4747,
"percent_delta": 0.9037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9736,
"after": 1.0,
"delta": 0.0264,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5253,
"after": 1.0,
"delta": 0.4747,
"percent_delta": 0.9037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1508,
"after": 0.0,
"delta": -0.1508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.130)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.8264,
"bvp": 0.1736
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.4063,
"after": 0.0,
"delta": -0.4063,
"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.4063,
"after": 0.0,
"delta": -0.4063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2254,
"after": 0.25,
"delta": 0.0246,
"percent_delta": 0.1091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3454,
"after": 0.4,
"delta": 0.0546,
"percent_delta": 0.1581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.382,
"after": 0.25,
"delta": -0.132,
"percent_delta": -0.3455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3454,
"after": 0.4,
"delta": 0.0546,
"percent_delta": 0.1581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.25,
"delta": -0.132,
"percent_delta": -0.3455,
"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": 1.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": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HBP",
"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.2254,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3454,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2254,
"delta": -0.0246,
"percent_delta": -0.0983,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3454,
"delta": -0.0546,
"percent_delta": -0.1366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.382,
"delta": 0.132,
"percent_delta": 0.5282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.382,
"delta": 0.132,
"percent_delta": 0.5282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3454,
"delta": -0.0546,
"percent_delta": -0.1366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"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": 4.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.2254,
"delta": 0.0024,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.692,
"after": 0.0,
"delta": -0.692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3454,
"delta": 0.0024,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.382,
"delta": 0.007,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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_RBI",
"before": 0.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.692,
"after": 0.0,
"delta": -0.692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 4.000 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.692 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.410 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.375 | - |
| 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.151 | -0.016 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.900 | -0.100 |
| predicted_AVG | 0.218 | -0.005 |
| predicted_BB | 0.704 | 0.012 |
| predicted_H | 0.849 | -0.041 |
| predicted_HBP | 0.132 | - |
| predicted_HR | 0.135 | -0.005 |
| predicted_OBP | 0.348 | 0.005 |
| predicted_R | 0.382 | -0.028 |
| predicted_RBI | 0.494 | -0.006 |
| predicted_SLG | 0.367 | -0.008 |
| predicted_SO | 0.989 | -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.151 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.900 | 0.000 |
| predicted_AVG | 0.225 | 0.008 |
| predicted_BB | 0.715 | 0.011 |
| predicted_H | 0.879 | 0.030 |
| predicted_HBP | 0.132 | 0.000 |
| predicted_HR | 0.139 | 0.004 |
| predicted_OBP | 0.345 | -0.003 |
| predicted_R | 0.406 | 0.025 |
| predicted_RBI | 0.525 | 0.032 |
| predicted_SLG | 0.382 | 0.015 |
| predicted_SO | 0.974 | -0.015 |
AB rounded to 4 (raw=4.00), rates preserved: AVG=0.220 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.130)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.151 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | 0.100 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 1.000 | 0.285 |
| predicted_H | 1.000 | 0.121 |
| predicted_HR | 0.000 | -0.139 |
| predicted_OBP | 0.400 | 0.055 |
| predicted_R | 0.000 | -0.406 |
| predicted_RBI | 1.000 | 0.475 |
| predicted_SLG | 0.250 | -0.132 |
| predicted_SO | 1.000 | 0.026 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 5.000 | 0.1429 | 0.3077 | 0.2857 | 0.1429 | 0.0476 | 0.0952 | 0.1905 | 0.2381 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 9.000 | 9.000 | 0.1622 | 0.3542 | 0.2703 | 0.1622 | 0.0270 | 0.0811 | 0.2432 | 0.2432 |
| season | 0.60 | 78 | - | 283.000 | 69.000 | 13.000 | 2.000 | 9.000 | 44.000 | 32.000 | 54.000 | 78.000 | 0.2438 | 0.3764 | 0.3993 | 0.2438 | 0.0318 | 0.1555 | 0.1908 | 0.2756 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.7650 |
| predicted_AVG | 0.2107 |
| predicted_BB | 0.7200 |
| predicted_H | 0.7930 |
| predicted_HBP | 0.1320 |
| predicted_HR | 0.1280 |
| predicted_OBP | 0.3546 |
| predicted_R | 0.3440 |
| predicted_RBI | 0.4850 |
| predicted_SLG | 0.3555 |
| predicted_SO | 0.9730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1290 | 0.1508 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0217 | model_form_blend |
| predicted_AB | 4.0000 | 3.7650 | 3.8997 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2107 | 0.2178 | model_form_blend |
| predicted_BB | 0.6920 | 0.7200 | 0.7039 | model_form_blend |
| predicted_H | 0.8900 | 0.7930 | 0.8486 | model_form_blend |
| predicted_HBP | - | 0.1320 | 0.1320 | form_only |
| predicted_HR | 0.1400 | 0.1280 | 0.1349 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3546 | 0.3480 | model_form_blend |
| predicted_R | 0.4100 | 0.3440 | 0.3818 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4850 | 0.4936 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3555 | 0.3667 | model_form_blend |
| predicted_SO | 1.0000 | 0.9730 | 0.9885 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 270 |
| Season rows before report date | 270 |
| Report year | 2026 |
| Profile rows used | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 683737 |
| playerID | 683737 |
| playerName | Michael Busch |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.345 |
| sl_xwoba | 0.353 |
| sl_xba | 0.236 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 42.7 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 41.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.152 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.051 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 4.330 | 5.000 | 4.000 | Hitting_AB | 3.715 | 5.000 | 1.285 | 0.000 |
| predicted_AVG | 0.269 | 0.000 | 0.250 | Hitting_AVG | 0.258 | 0.200 | -0.258 | -0.200 |
| predicted_BB | 0.405 | 0.000 | 0.000 | Hitting_BB | 0.418 | 1.000 | -0.418 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_H | 1.160 | 0.000 | 1.000 | Hitting_H | 0.957 | 1.000 | -0.957 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.398 | 0.000 | 0.250 | Hitting_OBP | 0.349 | 0.333 | -0.349 | -0.333 |
| predicted_R | 0.620 | 0.000 | 1.000 | Hitting_R | 0.594 | 0.000 | -0.594 | 0.000 |
| predicted_RBI | 0.780 | 0.000 | 1.000 | Hitting_RBI | 0.496 | 1.000 | -0.496 | -1.000 |
| predicted_SLG | 0.543 | 0.000 | 0.250 | Hitting_SLG | 0.429 | 0.200 | -0.429 | -0.200 |
| predicted_SO | 1.101 | 0.000 | 1.000 | Hitting_SO | 1.070 | 2.000 | -1.070 | -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_AB: 4.3300 -> 5.0000 (boost 0.6700, better) |
| Biggest Deboost | predicted_H: 1.1600 -> 0.0000 (deboost -1.1600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 6 | 1 | 5 | 2 | predicted_BB: 0.4050 -> 0.5094 (boost 0.1044, better) | predicted_AB: 4.3300 -> 4.1233 (deboost -0.2067, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 2 | 2 | 2 | 2 | predicted_RBI: 0.7975 -> 0.8487 (boost 0.0512, better) | predicted_OBP: 0.4138 -> 0.3851 (deboost -0.0287, 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_RBI: 0.8487 -> 1.0000 (boost 0.1513, better) | predicted_BB: 0.5171 -> 0.0000 (deboost -0.5171, worse) | AB rounded to 4 (raw=4.33), rates preserved: AVG=0.293 HR/AB=0.065 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.353) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6929 -> 1.0000 (boost 0.3071, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5732 -> 0.2500 (deboost -0.3232, 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_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.2500 -> 0.5732 (boost 0.3232, 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.152,
"predicted_3B": 0.051,
"predicted_AB": 4.33,
"predicted_AVG": 0.269,
"predicted_BB": 0.405,
"predicted_H": 1.16,
"predicted_HR": 0.25,
"predicted_OBP": 0.398,
"predicted_R": 0.62,
"predicted_RBI": 0.78,
"predicted_SLG": 0.543,
"predicted_SO": 1.101
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1448,
"predicted_3B": 0.0493,
"predicted_AB": 4.1233,
"predicted_AVG": 0.3001,
"predicted_BB": 0.5094,
"predicted_H": 1.2261,
"predicted_HBP": 0.06,
"predicted_HR": 0.2752,
"predicted_OBP": 0.4138,
"predicted_R": 0.6511,
"predicted_RBI": 0.7975,
"predicted_SLG": 0.5856,
"predicted_SO": 1.1777
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1448,
"delta": -0.0072,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0493,
"delta": -0.0017,
"percent_delta": -0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 4.1233,
"delta": -0.2067,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.3001,
"delta": 0.0311,
"percent_delta": 0.1156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.405,
"after": 0.5094,
"delta": 0.1044,
"percent_delta": 0.2578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 1.2261,
"delta": 0.0661,
"percent_delta": 0.057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2752,
"delta": 0.0252,
"percent_delta": 0.1008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.398,
"after": 0.4138,
"delta": 0.0158,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.62,
"after": 0.6511,
"delta": 0.0311,
"percent_delta": 0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.7975,
"delta": 0.0175,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.543,
"after": 0.5856,
"delta": 0.0426,
"percent_delta": 0.0785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.101,
"after": 1.1777,
"delta": 0.0767,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.405,
"after": 0.5094,
"delta": 0.1044,
"percent_delta": 0.2578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.33,
"after": 4.1233,
"delta": -0.2067,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1448,
"predicted_3B": 0.0493,
"predicted_AB": 4.1233,
"predicted_AVG": 0.308,
"predicted_BB": 0.5171,
"predicted_H": 1.2701,
"predicted_HBP": 0.06,
"predicted_HR": 0.2833,
"predicted_OBP": 0.3851,
"predicted_R": 0.6929,
"predicted_RBI": 0.8487,
"predicted_SLG": 0.5732,
"predicted_SO": 1.1599
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1448,
"after": 0.1448,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0493,
"after": 0.0493,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1233,
"after": 4.1233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3001,
"after": 0.308,
"delta": 0.0079,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5094,
"after": 0.5171,
"delta": 0.0077,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2261,
"after": 1.2701,
"delta": 0.044,
"percent_delta": 0.0359,
"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.2752,
"after": 0.2833,
"delta": 0.0081,
"percent_delta": 0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4138,
"after": 0.3851,
"delta": -0.0287,
"percent_delta": -0.0694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6511,
"after": 0.6929,
"delta": 0.0418,
"percent_delta": 0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7975,
"after": 0.8487,
"delta": 0.0512,
"percent_delta": 0.0642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5856,
"after": 0.5732,
"delta": -0.0124,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1777,
"after": 1.1599,
"delta": -0.0178,
"percent_delta": -0.0151,
"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.7975,
"after": 0.8487,
"delta": 0.0512,
"percent_delta": 0.0642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4138,
"after": 0.3851,
"delta": -0.0287,
"percent_delta": -0.0694,
"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.293 HR/AB=0.065",
"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.1448,
"after": 0.0,
"delta": -0.1448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0493,
"after": 0.0,
"delta": -0.0493,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1233,
"after": 4.0,
"delta": -0.1233,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5171,
"after": 0.0,
"delta": -0.5171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2701,
"after": 1.0,
"delta": -0.2701,
"percent_delta": -0.2127,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.2833,
"after": 0.0,
"delta": -0.2833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8487,
"after": 1.0,
"delta": 0.1513,
"percent_delta": 0.1783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1599,
"after": 1.0,
"delta": -0.1599,
"percent_delta": -0.1379,
"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_RBI",
"before": 0.8487,
"after": 1.0,
"delta": 0.1513,
"percent_delta": 0.1783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5171,
"after": 0.0,
"delta": -0.5171,
"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.353)",
"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": 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.6929,
"after": 1.0,
"delta": 0.3071,
"percent_delta": 0.4432,
"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.6929,
"after": 1.0,
"delta": 0.3071,
"percent_delta": 0.4432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.308,
"after": 0.25,
"delta": -0.058,
"percent_delta": -0.1883,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3851,
"after": 0.25,
"delta": -0.1351,
"percent_delta": -0.3508,
"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.5732,
"after": 0.25,
"delta": -0.3232,
"percent_delta": -0.5639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5732,
"after": 0.25,
"delta": -0.3232,
"percent_delta": -0.5639,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 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.308,
"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.3851,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5732,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.308,
"delta": 0.058,
"percent_delta": 0.2321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3851,
"delta": 0.1351,
"percent_delta": 0.5406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5732,
"delta": 0.3232,
"percent_delta": 1.2927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5732,
"delta": 0.3232,
"percent_delta": 1.2927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 5.0,
"delta": 0.67,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.308,
"delta": 0.039,
"percent_delta": 0.145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 0.0,
"delta": -1.16,
"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.398,
"after": 0.3851,
"delta": -0.0129,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.543,
"after": 0.5732,
"delta": 0.0302,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.101,
"after": 0.0,
"delta": -1.101,
"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_AB",
"before": 4.33,
"after": 5.0,
"delta": 0.67,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.16,
"after": 0.0,
"delta": -1.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.051 | - |
| predicted_AB | 4.330 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.405 | - |
| predicted_H | 1.160 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.398 | - |
| predicted_R | 0.620 | - |
| predicted_RBI | 0.780 | - |
| predicted_SLG | 0.543 | - |
| predicted_SO | 1.101 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | -0.007 |
| predicted_3B | 0.049 | -0.002 |
| predicted_AB | 4.123 | -0.207 |
| predicted_AVG | 0.300 | 0.031 |
| predicted_BB | 0.509 | 0.104 |
| predicted_H | 1.226 | 0.066 |
| predicted_HBP | 0.060 | - |
| predicted_HR | 0.275 | 0.025 |
| predicted_OBP | 0.414 | 0.016 |
| predicted_R | 0.651 | 0.031 |
| predicted_RBI | 0.797 | 0.017 |
| predicted_SLG | 0.586 | 0.043 |
| predicted_SO | 1.178 | 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.145 | 0.000 |
| predicted_3B | 0.049 | 0.000 |
| predicted_AB | 4.123 | 0.000 |
| predicted_AVG | 0.308 | 0.008 |
| predicted_BB | 0.517 | 0.008 |
| predicted_H | 1.270 | 0.044 |
| predicted_HBP | 0.060 | 0.000 |
| predicted_HR | 0.283 | 0.008 |
| predicted_OBP | 0.385 | -0.029 |
| predicted_R | 0.693 | 0.042 |
| predicted_RBI | 0.849 | 0.051 |
| predicted_SLG | 0.573 | -0.012 |
| predicted_SO | 1.160 | -0.018 |
AB rounded to 4 (raw=4.33), rates preserved: AVG=0.293 HR/AB=0.065
| 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.353)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.145 |
| predicted_3B | 0.000 | -0.049 |
| predicted_AB | 4.000 | -0.123 |
| predicted_AVG | 0.250 | -0.058 |
| predicted_BB | 0.000 | -0.517 |
| predicted_H | 1.000 | -0.270 |
| predicted_HR | 0.000 | -0.283 |
| predicted_OBP | 0.250 | -0.135 |
| predicted_R | 1.000 | 0.307 |
| predicted_RBI | 1.000 | 0.151 |
| predicted_SLG | 0.250 | -0.323 |
| predicted_SO | 1.000 | -0.160 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 8.000 | 0.000 | 0.000 | 2.000 | 7.000 | 4.000 | 7.000 | 9.000 | 0.4211 | 0.5769 | 0.7368 | 0.4210 | 0.1053 | 0.3684 | 0.3684 | 0.4737 |
| last_10 | 0.20 | 10 | - | 41.000 | 19.000 | 2.000 | 1.000 | 6.000 | 12.000 | 9.000 | 8.000 | 15.000 | 0.4634 | 0.5400 | 1.0000 | 0.4634 | 0.1463 | 0.2927 | 0.1951 | 0.3659 |
| season | 0.60 | 79 | - | 298.000 | 86.000 | 12.000 | 4.000 | 17.000 | 44.000 | 49.000 | 32.000 | 87.000 | 0.2886 | 0.3706 | 0.5268 | 0.2886 | 0.0570 | 0.1477 | 0.1074 | 0.2919 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1350 |
| predicted_3B | 0.0470 |
| predicted_AB | 3.8450 |
| predicted_AVG | 0.3420 |
| predicted_BB | 0.6500 |
| predicted_H | 1.3150 |
| predicted_HBP | 0.0600 |
| predicted_HR | 0.3090 |
| predicted_OBP | 0.4350 |
| predicted_R | 0.6930 |
| predicted_RBI | 0.8210 |
| predicted_SLG | 0.6429 |
| predicted_SO | 1.2810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.1350 | 0.1448 | model_form_blend |
| predicted_3B | 0.0510 | 0.0470 | 0.0493 | model_form_blend |
| predicted_AB | 4.3300 | 3.8450 | 4.1233 | model_form_blend |
| predicted_AVG | 0.2690 | 0.3420 | 0.3001 | model_form_blend |
| predicted_BB | 0.4050 | 0.6500 | 0.5094 | model_form_blend |
| predicted_H | 1.1600 | 1.3150 | 1.2261 | model_form_blend |
| predicted_HBP | - | 0.0600 | 0.0600 | form_only |
| predicted_HR | 0.2500 | 0.3090 | 0.2752 | model_form_blend |
| predicted_OBP | 0.3980 | 0.4350 | 0.4138 | model_form_blend |
| predicted_R | 0.6200 | 0.6930 | 0.6511 | model_form_blend |
| predicted_RBI | 0.7800 | 0.8210 | 0.7975 | model_form_blend |
| predicted_SLG | 0.5430 | 0.6429 | 0.5856 | model_form_blend |
| predicted_SO | 1.1010 | 1.2810 | 1.1777 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 256 |
| Season rows before report date | 256 |
| Report year | 2026 |
| Profile rows used | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| 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 | 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 | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 691718 |
| playerID | 691718 |
| playerName | Pete Crow-Armstrong |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.383 |
| sl_xwoba | 0.366 |
| sl_xba | 0.263 |
| sl_xslg | 0.496 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 51.4 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 19.9 |
| sl_whiff_percent | 28.9 |
| 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.203 | 0.000 | 0.000 | Hitting_2B | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.930 | 3.000 | 4.000 | Hitting_AB | 3.893 | 0.000 | -0.893 | 3.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.239 | - | -0.239 | - |
| predicted_BB | 0.595 | 1.000 | 1.000 | Hitting_BB | 0.667 | 0.000 | 0.333 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.920 | 0.000 | 1.000 | Hitting_H | 0.931 | 0.000 | -0.931 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_OBP | 0.340 | 0.250 | 0.400 | Hitting_OBP | 0.357 | - | -0.107 | - |
| predicted_R | 0.730 | 0.000 | 1.000 | Hitting_R | 0.762 | 0.000 | -0.762 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.602 | 0.000 | -0.602 | 0.000 |
| predicted_SLG | 0.421 | 0.000 | 0.250 | Hitting_SLG | 0.490 | - | -0.490 | - |
| predicted_SO | 1.351 | 1.000 | 1.000 | Hitting_SO | 1.330 | 0.000 | -0.330 | 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.5950 -> 1.0000 (boost 0.4050, better) |
| Biggest Deboost | predicted_AB: 3.9300 -> 3.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 | 3 | 3 | 0 | 3 | 0 | predicted_R: 0.7300 -> 0.7930 (boost 0.0630, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_R: 0.7930 -> 0.8439 (boost 0.0509, 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_BB: 0.5720 -> 1.0000 (boost 0.4280, better) | predicted_RBI: 0.3942 -> 0.0000 (deboost -0.3942, worse) | AB rounded to 4 (raw=3.93), rates preserved: AVG=0.250 HR/AB=0.039 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=39.0, weight=0.226, BvP AVG=0.128) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8439 -> 1.0000 (boost 0.1561, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3458 -> 0.4000 (boost 0.0542, better) | predicted_SLG: 0.4359 -> 0.2500 (deboost -0.1859, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4359 (boost 0.1859, better) | predicted_OBP: 0.4000 -> 0.3458 (deboost -0.0542, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.027,
"predicted_AB": 3.93,
"predicted_AVG": 0.235,
"predicted_BB": 0.595,
"predicted_H": 0.92,
"predicted_HR": 0.15,
"predicted_OBP": 0.34,
"predicted_R": 0.73,
"predicted_RBI": 0.39,
"predicted_SLG": 0.421,
"predicted_SO": 1.351
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2175,
"predicted_3B": 0.0227,
"predicted_AB": 3.9198,
"predicted_AVG": 0.2422,
"predicted_BB": 0.5635,
"predicted_H": 0.9472,
"predicted_HBP": 0.087,
"predicted_HR": 0.1504,
"predicted_OBP": 0.3446,
"predicted_R": 0.793,
"predicted_RBI": 0.3704,
"predicted_SLG": 0.4278,
"predicted_SO": 1.3191
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.2175,
"delta": 0.0145,
"percent_delta": 0.0714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0227,
"delta": -0.0043,
"percent_delta": -0.1593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 3.9198,
"delta": -0.0102,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2422,
"delta": 0.0072,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.595,
"after": 0.5635,
"delta": -0.0315,
"percent_delta": -0.0529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9472,
"delta": 0.0272,
"percent_delta": 0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1504,
"delta": 0.0004,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3446,
"delta": 0.0046,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.73,
"after": 0.793,
"delta": 0.063,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3704,
"delta": -0.0196,
"percent_delta": -0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4278,
"delta": 0.0068,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.351,
"after": 1.3191,
"delta": -0.0319,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.73,
"after": 0.793,
"delta": 0.063,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2175,
"predicted_3B": 0.0227,
"predicted_AB": 3.9198,
"predicted_AVG": 0.2503,
"predicted_BB": 0.572,
"predicted_H": 0.9812,
"predicted_HBP": 0.087,
"predicted_HR": 0.1548,
"predicted_OBP": 0.3458,
"predicted_R": 0.8439,
"predicted_RBI": 0.3942,
"predicted_SLG": 0.4359,
"predicted_SO": 1.2992
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2175,
"after": 0.2175,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0227,
"after": 0.0227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9198,
"after": 3.9198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2422,
"after": 0.2503,
"delta": 0.0081,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5635,
"after": 0.572,
"delta": 0.0085,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9472,
"after": 0.9812,
"delta": 0.034,
"percent_delta": 0.0359,
"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.1504,
"after": 0.1548,
"delta": 0.0044,
"percent_delta": 0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3446,
"after": 0.3458,
"delta": 0.0012,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.793,
"after": 0.8439,
"delta": 0.0509,
"percent_delta": 0.0642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3704,
"after": 0.3942,
"delta": 0.0238,
"percent_delta": 0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4278,
"after": 0.4359,
"delta": 0.0081,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3191,
"after": 1.2992,
"delta": -0.0199,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.793,
"after": 0.8439,
"delta": 0.0509,
"percent_delta": 0.0642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.93), rates preserved: AVG=0.250 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2175,
"after": 0.0,
"delta": -0.2175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0227,
"after": 0.0,
"delta": -0.0227,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9198,
"after": 4.0,
"delta": 0.0802,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.572,
"after": 1.0,
"delta": 0.428,
"percent_delta": 0.7483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9812,
"after": 1.0,
"delta": 0.0188,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1548,
"after": 0.0,
"delta": -0.1548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3942,
"after": 0.0,
"delta": -0.3942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2992,
"after": 1.0,
"delta": -0.2992,
"percent_delta": -0.2303,
"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.572,
"after": 1.0,
"delta": 0.428,
"percent_delta": 0.7483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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=39.0, weight=0.226, BvP AVG=0.128)",
"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.7739,
"bvp": 0.2261
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.8439,
"after": 1.0,
"delta": 0.1561,
"percent_delta": 0.185,
"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.8439,
"after": 1.0,
"delta": 0.1561,
"percent_delta": 0.185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2503,
"after": 0.25,
"delta": -0.0003,
"percent_delta": -0.0012,
"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.3458,
"after": 0.4,
"delta": 0.0542,
"percent_delta": 0.1567,
"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.4359,
"after": 0.25,
"delta": -0.1859,
"percent_delta": -0.4265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3458,
"after": 0.4,
"delta": 0.0542,
"percent_delta": 0.1567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4359,
"after": 0.25,
"delta": -0.1859,
"percent_delta": -0.4265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2503,
"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.3458,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4359,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2503,
"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.4,
"after": 0.3458,
"delta": -0.0542,
"percent_delta": -0.1355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4359,
"delta": 0.1859,
"percent_delta": 0.7435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4359,
"delta": 0.1859,
"percent_delta": 0.7435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3458,
"delta": -0.0542,
"percent_delta": -0.1355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.0,
"delta": -0.203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 3.0,
"delta": -0.93,
"percent_delta": -0.2366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2503,
"delta": 0.0153,
"percent_delta": 0.0651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3458,
"delta": 0.0058,
"percent_delta": 0.0171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"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.421,
"after": 0.4359,
"delta": 0.0149,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.351,
"after": 1.0,
"delta": -0.351,
"percent_delta": -0.2598,
"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.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.93,
"after": 3.0,
"delta": -0.93,
"percent_delta": -0.2366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.027 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.595 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.730 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.421 | - |
| predicted_SO | 1.351 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | 0.014 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.920 | -0.010 |
| predicted_AVG | 0.242 | 0.007 |
| predicted_BB | 0.564 | -0.031 |
| predicted_H | 0.947 | 0.027 |
| predicted_HBP | 0.087 | - |
| predicted_HR | 0.150 | 0.000 |
| predicted_OBP | 0.345 | 0.005 |
| predicted_R | 0.793 | 0.063 |
| predicted_RBI | 0.370 | -0.020 |
| predicted_SLG | 0.428 | 0.007 |
| predicted_SO | 1.319 | -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.217 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.920 | 0.000 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 0.572 | 0.008 |
| predicted_H | 0.981 | 0.034 |
| predicted_HBP | 0.087 | 0.000 |
| predicted_HR | 0.155 | 0.004 |
| predicted_OBP | 0.346 | 0.001 |
| predicted_R | 0.844 | 0.051 |
| predicted_RBI | 0.394 | 0.024 |
| predicted_SLG | 0.436 | 0.008 |
| predicted_SO | 1.299 | -0.020 |
AB rounded to 4 (raw=3.93), rates preserved: AVG=0.250 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=39.0, weight=0.226, BvP AVG=0.128)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.217 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | 0.080 |
| predicted_AVG | 0.250 | -0.000 |
| predicted_BB | 1.000 | 0.428 |
| predicted_H | 1.000 | 0.019 |
| predicted_HR | 0.000 | -0.155 |
| predicted_OBP | 0.400 | 0.054 |
| predicted_R | 1.000 | 0.156 |
| predicted_RBI | 0.000 | -0.394 |
| predicted_SLG | 0.250 | -0.186 |
| predicted_SO | 1.000 | -0.299 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 2.000 | 0.000 | 0.000 | 0.000 | 7.000 | 3.000 | 6.000 | 0.3500 | 0.4583 | 0.4500 | 0.3500 | 0.0000 | 0.0000 | 0.1500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 42.000 | 9.000 | 2.000 | 0.000 | 1.000 | 1.000 | 10.000 | 3.000 | 13.000 | 0.2143 | 0.2826 | 0.3333 | 0.2143 | 0.0238 | 0.0238 | 0.0714 | 0.3095 |
| season | 0.60 | 74 | - | 280.000 | 65.000 | 15.000 | 2.000 | 16.000 | 37.000 | 54.000 | 44.000 | 100.000 | 0.2321 | 0.3435 | 0.4714 | 0.2321 | 0.0571 | 0.1321 | 0.1571 | 0.3571 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2370 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.9060 |
| predicted_AVG | 0.2520 |
| predicted_BB | 0.5210 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.0870 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.3508 |
| predicted_R | 0.8780 |
| predicted_RBI | 0.3440 |
| predicted_SLG | 0.4370 |
| predicted_SO | 1.2760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.2370 | 0.2175 | model_form_blend |
| predicted_3B | 0.0270 | 0.0170 | 0.0227 | model_form_blend |
| predicted_AB | 3.9300 | 3.9060 | 3.9198 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2520 | 0.2422 | model_form_blend |
| predicted_BB | 0.5950 | 0.5210 | 0.5635 | model_form_blend |
| predicted_H | 0.9200 | 0.9840 | 0.9472 | model_form_blend |
| predicted_HBP | - | 0.0870 | 0.0870 | form_only |
| predicted_HR | 0.1500 | 0.1510 | 0.1504 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3508 | 0.3446 | model_form_blend |
| predicted_R | 0.7300 | 0.8780 | 0.7930 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3440 | 0.3704 | model_form_blend |
| predicted_SLG | 0.4210 | 0.4370 | 0.4278 | model_form_blend |
| predicted_SO | 1.3510 | 1.2760 | 1.3191 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 261 |
| Season rows before report date | 261 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260624_CHC@NYM_2 |
| game_type | short |
| mlbID | 664023 |
| playerID | 664023 |
| playerName | Ian Happ |
| pos | LF |
| started | False |
| startingPosition | LF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 31.2 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.349 |
| sl_xwoba | 0.328 |
| sl_xba | 0.208 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 31.5 |
| sl_swing_percent | 44.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.273 | 2.000 | 0.000 | Hitting_2B | 0.243 | 3.000 | 1.757 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.190 | 4.000 | 4.000 | Hitting_AB | 4.207 | 5.000 | -0.207 | -1.000 |
| predicted_AVG | 0.241 | 0.500 | 0.250 | Hitting_AVG | 0.254 | 0.600 | 0.246 | -0.100 |
| predicted_BB | 0.429 | 0.000 | 0.000 | Hitting_BB | 0.511 | 0.000 | -0.511 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.010 | 2.000 | 1.000 | Hitting_H | 1.069 | 3.000 | 0.931 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_OBP | 0.316 | 0.500 | 0.250 | Hitting_OBP | 0.337 | 0.600 | 0.163 | -0.100 |
| predicted_R | 0.442 | 1.000 | 1.000 | Hitting_R | 0.482 | 3.000 | 0.518 | -2.000 |
| predicted_RBI | 0.400 | 1.000 | 0.000 | Hitting_RBI | 0.594 | 0.000 | 0.406 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_SLG | 0.390 | 1.000 | 0.250 | Hitting_SLG | 0.366 | 1.200 | 0.634 | -0.200 |
| predicted_SO | 0.325 | 1.000 | 0.000 | Hitting_SO | 0.330 | 0.000 | 0.670 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.2730 -> 2.0000 (boost 1.7270, better) |
| Biggest Deboost | predicted_BB: 0.4290 -> 0.0000 (deboost -0.4290, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_R: 0.4420 -> 0.5406 (boost 0.0986, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2473 -> 0.2562 (boost 0.0089, better) | predicted_SLG: 0.3941 -> 0.3806 (deboost -0.0135, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_BB: 0.4190 -> 0.0000 (deboost -0.4190, worse) | AB rounded to 4 (raw=4.20), rates preserved: AVG=0.256 HR/AB=0.013 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=36.0, weight=0.218, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5753 -> 1.0000 (boost 0.4247, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3806 -> 0.2500 (deboost -0.1306, worse) | 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_2B: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3806 (boost 0.1306, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663538",
"player_name": "Nico Hoerner",
"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.273,
"predicted_3B": 0.0,
"predicted_AB": 4.19,
"predicted_AVG": 0.241,
"predicted_BB": 0.429,
"predicted_H": 1.01,
"predicted_HR": 0.06,
"predicted_OBP": 0.316,
"predicted_R": 0.442,
"predicted_RBI": 0.4,
"predicted_SLG": 0.39,
"predicted_SO": 0.325
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3614,
"predicted_3B": 0.0004,
"predicted_AB": 4.1981,
"predicted_AVG": 0.2473,
"predicted_BB": 0.4128,
"predicted_H": 1.0382,
"predicted_HBP": 0.018,
"predicted_HR": 0.0519,
"predicted_OBP": 0.3172,
"predicted_R": 0.5406,
"predicted_RBI": 0.3885,
"predicted_SLG": 0.3941,
"predicted_SO": 0.3707
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.273,
"after": 0.3614,
"delta": 0.0884,
"percent_delta": 0.3238,
"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": 4.19,
"after": 4.1981,
"delta": 0.0081,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2473,
"delta": 0.0063,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 0.4128,
"delta": -0.0162,
"percent_delta": -0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0382,
"delta": 0.0282,
"percent_delta": 0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0519,
"delta": -0.0081,
"percent_delta": -0.135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3172,
"delta": 0.0012,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.442,
"after": 0.5406,
"delta": 0.0986,
"percent_delta": 0.2231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3885,
"delta": -0.0115,
"percent_delta": -0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3941,
"delta": 0.0041,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.325,
"after": 0.3707,
"delta": 0.0457,
"percent_delta": 0.1406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.442,
"after": 0.5406,
"delta": 0.0986,
"percent_delta": 0.2231,
"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.3614,
"predicted_3B": 0.0004,
"predicted_AB": 4.1981,
"predicted_AVG": 0.2562,
"predicted_BB": 0.419,
"predicted_H": 1.0755,
"predicted_HBP": 0.018,
"predicted_HR": 0.0534,
"predicted_OBP": 0.3237,
"predicted_R": 0.5753,
"predicted_RBI": 0.4134,
"predicted_SLG": 0.3806,
"predicted_SO": 0.3651
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3614,
"after": 0.3614,
"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.1981,
"after": 4.1981,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2473,
"after": 0.2562,
"delta": 0.0089,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4128,
"after": 0.419,
"delta": 0.0062,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0382,
"after": 1.0755,
"delta": 0.0373,
"percent_delta": 0.0359,
"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.0519,
"after": 0.0534,
"delta": 0.0015,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3172,
"after": 0.3237,
"delta": 0.0065,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5406,
"after": 0.5753,
"delta": 0.0347,
"percent_delta": 0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3885,
"after": 0.4134,
"delta": 0.0249,
"percent_delta": 0.0641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3941,
"after": 0.3806,
"delta": -0.0135,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3707,
"after": 0.3651,
"delta": -0.0056,
"percent_delta": -0.0151,
"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.2473,
"after": 0.2562,
"delta": 0.0089,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3941,
"after": 0.3806,
"delta": -0.0135,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.20), rates preserved: AVG=0.256 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3614,
"after": 0.0,
"delta": -0.3614,
"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.1981,
"after": 4.0,
"delta": -0.1981,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0755,
"after": 1.0,
"delta": -0.0755,
"percent_delta": -0.0702,
"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.0534,
"after": 0.0,
"delta": -0.0534,
"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": 0.3651,
"after": 0.0,
"delta": -0.3651,
"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_BB",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"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=36.0, weight=0.218, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.7818,
"bvp": 0.2182
},
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5753,
"after": 1.0,
"delta": 0.4247,
"percent_delta": 0.7382,
"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.5753,
"after": 1.0,
"delta": 0.4247,
"percent_delta": 0.7382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2562,
"after": 0.25,
"delta": -0.0062,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3237,
"after": 0.25,
"delta": -0.0737,
"percent_delta": -0.2277,
"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.3806,
"after": 0.25,
"delta": -0.1306,
"percent_delta": -0.3431,
"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.3806,
"after": 0.25,
"delta": -0.1306,
"percent_delta": -0.3431,
"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": 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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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": 4.0,
"predicted_AVG": 0.2562,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3237,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3806,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2562,
"delta": 0.0062,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3237,
"delta": 0.0737,
"percent_delta": 0.2947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3806,
"delta": 0.1306,
"percent_delta": 0.5225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3806,
"delta": 0.1306,
"percent_delta": 0.5225,
"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.273,
"after": 2.0,
"delta": 1.727,
"percent_delta": 6.326,
"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.19,
"after": 4.0,
"delta": -0.19,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2562,
"delta": 0.0152,
"percent_delta": 0.0631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.0,
"delta": 0.99,
"percent_delta": 0.9802,
"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.316,
"after": 0.3237,
"delta": 0.0077,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.442,
"after": 1.0,
"delta": 0.558,
"percent_delta": 1.2624,
"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.39,
"after": 0.3806,
"delta": -0.0094,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.325,
"after": 1.0,
"delta": 0.675,
"percent_delta": 2.0769,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.273,
"after": 2.0,
"delta": 1.727,
"percent_delta": 6.326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"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.273 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.190 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.429 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.442 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.325 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.361 | 0.088 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.198 | 0.008 |
| predicted_AVG | 0.247 | 0.006 |
| predicted_BB | 0.413 | -0.016 |
| predicted_H | 1.038 | 0.028 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.052 | -0.008 |
| predicted_OBP | 0.317 | 0.001 |
| predicted_R | 0.541 | 0.099 |
| predicted_RBI | 0.389 | -0.012 |
| predicted_SLG | 0.394 | 0.004 |
| predicted_SO | 0.371 | 0.046 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.361 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.198 | 0.000 |
| predicted_AVG | 0.256 | 0.009 |
| predicted_BB | 0.419 | 0.006 |
| predicted_H | 1.075 | 0.037 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.053 | 0.002 |
| predicted_OBP | 0.324 | 0.007 |
| predicted_R | 0.575 | 0.035 |
| predicted_RBI | 0.413 | 0.025 |
| predicted_SLG | 0.381 | -0.014 |
| predicted_SO | 0.365 | -0.006 |
AB rounded to 4 (raw=4.20), rates preserved: AVG=0.256 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=36.0, weight=0.218, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.361 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.198 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 0.000 | -0.419 |
| predicted_H | 1.000 | -0.075 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.250 | -0.074 |
| predicted_R | 1.000 | 0.425 |
| predicted_RBI | 0.000 | -0.413 |
| predicted_SLG | 0.250 | -0.131 |
| predicted_SO | 0.000 | -0.365 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | - | 23.000 | 8.000 | 6.000 | 0.000 | 0.000 | 1.000 | 7.000 | 2.000 | 2.000 | 0.3478 | 0.4000 | 0.6087 | 0.3478 | 0.0000 | 0.0435 | 0.0870 | 0.0870 |
| last_10 | 0.20 | 10 | - | 44.000 | 9.000 | 6.000 | 0.000 | 0.000 | 2.000 | 8.000 | 3.000 | 6.000 | 0.2045 | 0.2500 | 0.3409 | 0.2046 | 0.0000 | 0.0454 | 0.0682 | 0.1364 |
| season | 0.60 | 77 | - | 313.000 | 76.000 | 21.000 | 0.000 | 4.000 | 35.000 | 34.000 | 33.000 | 25.000 | 0.2428 | 0.3153 | 0.3482 | 0.2428 | 0.0128 | 0.1118 | 0.1054 | 0.0799 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4800 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.2090 |
| predicted_AVG | 0.2557 |
| predicted_BB | 0.3910 |
| predicted_H | 1.0760 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0410 |
| predicted_OBP | 0.3187 |
| predicted_R | 0.6730 |
| predicted_RBI | 0.3730 |
| predicted_SLG | 0.3997 |
| predicted_SO | 0.4320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2730 | 0.4800 | 0.3614 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1900 | 4.2090 | 4.1981 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2557 | 0.2473 | model_form_blend |
| predicted_BB | 0.4290 | 0.3910 | 0.4128 | model_form_blend |
| predicted_H | 1.0100 | 1.0760 | 1.0382 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0600 | 0.0410 | 0.0519 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3187 | 0.3172 | model_form_blend |
| predicted_R | 0.4420 | 0.6730 | 0.5406 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3730 | 0.3885 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3997 | 0.3941 | model_form_blend |
| predicted_SO | 0.3250 | 0.4320 | 0.3707 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 276 |
| Season rows before report date | 276 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 3 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| 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 | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 663538 |
| playerID | 663538 |
| playerName | Nico Hoerner |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 7.3 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.298 |
| sl_xwoba | 0.327 |
| sl_xba | 0.292 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 1.0 |
| sl_hard_hit_percent | 28.3 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 10.9 |
| 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.176 | 0.000 | 0.000 | Hitting_2B | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.647 | 4.000 | 3.000 | Hitting_AB | 2.500 | 5.000 | 1.500 | -1.000 |
| predicted_AVG | 0.268 | 0.000 | 0.333 | Hitting_AVG | 0.300 | 0.600 | -0.300 | -0.600 |
| predicted_BB | 0.176 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.270 | 0.000 | 1.000 | Hitting_H | 0.750 | 3.000 | -0.750 | -3.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_OBP | 0.302 | 0.000 | 0.333 | Hitting_OBP | 0.364 | 0.600 | -0.364 | -0.600 |
| predicted_R | 0.412 | 0.000 | 0.000 | Hitting_R | 0.417 | 4.000 | -0.417 | -4.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.375 | 2.000 | -0.375 | -2.000 |
| predicted_SLG | 0.406 | 0.000 | 0.333 | Hitting_SLG | 0.450 | 0.800 | -0.450 | -0.800 |
| predicted_SO | 0.294 | 0.000 | 0.000 | Hitting_SO | 0.208 | 0.000 | -0.208 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.6470 -> 4.0000 (boost 1.3530, better) |
| Biggest Deboost | predicted_R: 0.4120 -> 0.0000 (deboost -0.4120, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 7 | 0 | 6 | 1 | predicted_H: 0.2700 -> 0.4739 (boost 0.2039, 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.4153 -> 0.3030 (deboost -0.1123, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.4909 -> 1.0000 (boost 0.5091, better) | predicted_SO: 0.3617 -> 0.0000 (deboost -0.3617, better) | AB rounded to 3 (raw=2.78), rates preserved: AVG=0.177 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4834 -> 0.0000 (deboost -0.4834, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1766 -> 0.3330 (boost 0.1564, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1766 (deboost -0.1564, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699393",
"player_name": "Pedro Ramirez",
"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.176,
"predicted_3B": 0.0,
"predicted_AB": 2.647,
"predicted_AVG": 0.268,
"predicted_BB": 0.176,
"predicted_H": 0.27,
"predicted_HR": 0.04,
"predicted_OBP": 0.302,
"predicted_R": 0.412,
"predicted_RBI": 0.19,
"predicted_SLG": 0.406,
"predicted_SO": 0.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.1828,
"predicted_3B": 0.0017,
"predicted_AB": 2.7803,
"predicted_AVG": 0.2745,
"predicted_BB": 0.1821,
"predicted_H": 0.4739,
"predicted_HBP": 0.011,
"predicted_HR": 0.0535,
"predicted_OBP": 0.3128,
"predicted_R": 0.4542,
"predicted_RBI": 0.2879,
"predicted_SLG": 0.4153,
"predicted_SO": 0.3672
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1828,
"delta": 0.0068,
"percent_delta": 0.0386,
"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.647,
"after": 2.7803,
"delta": 0.1333,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2745,
"delta": 0.0065,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.176,
"after": 0.1821,
"delta": 0.0061,
"percent_delta": 0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.4739,
"delta": 0.2039,
"percent_delta": 0.7552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0535,
"delta": 0.0135,
"percent_delta": 0.3375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3128,
"delta": 0.0108,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.4542,
"delta": 0.0422,
"percent_delta": 0.1024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.2879,
"delta": 0.0979,
"percent_delta": 0.5153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4153,
"delta": 0.0093,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.294,
"after": 0.3672,
"delta": 0.0732,
"percent_delta": 0.249,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.27,
"after": 0.4739,
"delta": 0.2039,
"percent_delta": 0.7552,
"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.1828,
"predicted_3B": 0.0017,
"predicted_AB": 2.7803,
"predicted_AVG": 0.1766,
"predicted_BB": 0.1848,
"predicted_H": 0.4909,
"predicted_HBP": 0.011,
"predicted_HR": 0.0551,
"predicted_OBP": 0.2279,
"predicted_R": 0.4834,
"predicted_RBI": 0.3064,
"predicted_SLG": 0.303,
"predicted_SO": 0.3617
},
"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.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7803,
"after": 2.7803,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2745,
"after": 0.1766,
"delta": -0.0979,
"percent_delta": -0.3566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1821,
"after": 0.1848,
"delta": 0.0027,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4739,
"after": 0.4909,
"delta": 0.017,
"percent_delta": 0.0359,
"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.0535,
"after": 0.0551,
"delta": 0.0016,
"percent_delta": 0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3128,
"after": 0.2279,
"delta": -0.0849,
"percent_delta": -0.2714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4542,
"after": 0.4834,
"delta": 0.0292,
"percent_delta": 0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2879,
"after": 0.3064,
"delta": 0.0185,
"percent_delta": 0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4153,
"after": 0.303,
"delta": -0.1123,
"percent_delta": -0.2704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3672,
"after": 0.3617,
"delta": -0.0055,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4153,
"after": 0.303,
"delta": -0.1123,
"percent_delta": -0.2704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.78), rates preserved: AVG=0.177 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.1828,
"after": 0.0,
"delta": -0.1828,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7803,
"after": 3.0,
"delta": 0.2197,
"percent_delta": 0.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1848,
"after": 0.0,
"delta": -0.1848,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4909,
"after": 1.0,
"delta": 0.5091,
"percent_delta": 1.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0551,
"after": 0.0,
"delta": -0.0551,
"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.3617,
"after": 0.0,
"delta": -0.3617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4909,
"after": 1.0,
"delta": 0.5091,
"percent_delta": 1.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3617,
"after": 0.0,
"delta": -0.3617,
"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.4834,
"after": 0.0,
"delta": -0.4834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4834,
"after": 0.0,
"delta": -0.4834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1766,
"after": 0.333,
"delta": 0.1564,
"percent_delta": 0.8856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2279,
"after": 0.333,
"delta": 0.1051,
"percent_delta": 0.4612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.333,
"delta": 0.03,
"percent_delta": 0.099,
"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.1766,
"after": 0.333,
"delta": 0.1564,
"percent_delta": 0.8856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1766,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2279,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.303,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1766,
"delta": -0.1564,
"percent_delta": -0.4698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2279,
"delta": -0.1051,
"percent_delta": -0.3156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.303,
"delta": -0.03,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1766,
"delta": -0.1564,
"percent_delta": -0.4698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.647,
"after": 4.0,
"delta": 1.353,
"percent_delta": 0.5111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.1766,
"delta": -0.0914,
"percent_delta": -0.341,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2279,
"delta": -0.0741,
"percent_delta": -0.2454,
"direction": "deboost",
"projection_effect": "worse",
"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.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.303,
"delta": -0.103,
"percent_delta": -0.2537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"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": 2.647,
"after": 4.0,
"delta": 1.353,
"percent_delta": 0.5111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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
},
"has_material_change": true,
"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 | 2.647 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.176 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.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.183 | 0.007 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.780 | 0.133 |
| predicted_AVG | 0.275 | 0.007 |
| predicted_BB | 0.182 | 0.006 |
| predicted_H | 0.474 | 0.204 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.053 | 0.013 |
| predicted_OBP | 0.313 | 0.011 |
| predicted_R | 0.454 | 0.042 |
| predicted_RBI | 0.288 | 0.098 |
| predicted_SLG | 0.415 | 0.009 |
| predicted_SO | 0.367 | 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.183 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.780 | 0.000 |
| predicted_AVG | 0.177 | -0.098 |
| predicted_BB | 0.185 | 0.003 |
| predicted_H | 0.491 | 0.017 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.055 | 0.002 |
| predicted_OBP | 0.228 | -0.085 |
| predicted_R | 0.483 | 0.029 |
| predicted_RBI | 0.306 | 0.019 |
| predicted_SLG | 0.303 | -0.112 |
| predicted_SO | 0.362 | -0.006 |
AB rounded to 3 (raw=2.78), rates preserved: AVG=0.177 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 |
Player 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.002 |
| predicted_AB | 3.000 | 0.220 |
| predicted_AVG | 0.333 | 0.156 |
| predicted_BB | 0.000 | -0.185 |
| predicted_H | 1.000 | 0.509 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.333 | 0.105 |
| predicted_R | 0.000 | -0.483 |
| predicted_RBI | 0.000 | -0.306 |
| predicted_SLG | 0.333 | 0.030 |
| predicted_SO | 0.000 | -0.362 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 4.000 | 1.000 | 0.000 | 0.000 | 3.000 | 4.000 | 0.000 | 2.000 | 0.3636 | 0.3636 | 0.4545 | 0.3636 | 0.0000 | 0.2727 | 0.0000 | 0.1818 |
| last_10 | 0.20 | 10 | - | 25.000 | 8.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 2.000 | 4.000 | 0.3200 | 0.3704 | 0.5200 | 0.3200 | 0.0400 | 0.2000 | 0.0800 | 0.1600 |
| season | 0.60 | 17 | - | 45.000 | 13.000 | 3.000 | 0.000 | 1.000 | 6.000 | 7.000 | 3.000 | 5.000 | 0.2889 | 0.3333 | 0.4222 | 0.2889 | 0.0222 | 0.1333 | 0.0667 | 0.1111 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.0420 |
| predicted_AVG | 0.2872 |
| predicted_BB | 0.1940 |
| predicted_H | 0.8740 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.3339 |
| predicted_R | 0.5370 |
| predicted_RBI | 0.4800 |
| predicted_SLG | 0.4335 |
| predicted_SO | 0.5110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1960 | 0.1828 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.6470 | 3.0420 | 2.7803 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2872 | 0.2745 | model_form_blend |
| predicted_BB | 0.1760 | 0.1940 | 0.1821 | model_form_blend |
| predicted_H | 0.2700 | 0.8740 | 0.4739 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0400 | 0.0800 | 0.0535 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3339 | 0.3128 | model_form_blend |
| predicted_R | 0.4120 | 0.5370 | 0.4542 | model_form_blend |
| predicted_RBI | 0.1900 | 0.4800 | 0.2879 | model_form_blend |
| predicted_SLG | 0.4060 | 0.4335 | 0.4153 | model_form_blend |
| predicted_SO | 0.2940 | 0.5110 | 0.3672 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 2 |
| 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 | 4 |
| 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 | DH |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 699393 |
| playerID | 699393 |
| playerName | Pedro Ramirez |
| pos | 2B |
| started | True |
| startingPosition | DH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 10.2 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.333 |
| sl_xwoba | 0.33 |
| sl_xba | 0.298 |
| sl_xslg | 0.415 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 8.4 |
| sl_whiff_percent | 15.0 |
| sl_swing_percent | 48.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 1.000 | 0.000 | Hitting_2B | 0.075 | 0.000 | 0.925 | 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 | 3.000 | Hitting_AB | 2.991 | 3.000 | 1.009 | 1.000 |
| predicted_AVG | 0.265 | 0.750 | 0.333 | Hitting_AVG | 0.222 | 0.333 | 0.528 | 0.417 |
| predicted_BB | 0.314 | 0.000 | 0.000 | Hitting_BB | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 3.000 | 1.000 | Hitting_H | 0.664 | 1.000 | 2.336 | 2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_OBP | 0.332 | 0.750 | 0.333 | Hitting_OBP | 0.336 | 0.500 | 0.414 | 0.250 |
| predicted_R | 0.486 | 1.000 | 1.000 | Hitting_R | 0.505 | 2.000 | 0.495 | -1.000 |
| predicted_RBI | 0.260 | 1.000 | 0.000 | Hitting_RBI | 0.318 | 0.000 | 0.682 | 1.000 |
| predicted_SLG | 0.367 | 1.000 | 0.333 | Hitting_SLG | 0.359 | 0.333 | 0.641 | 0.667 |
| predicted_SO | 0.743 | 0.000 | 1.000 | Hitting_SO | 0.841 | 1.000 | -0.841 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.5900 -> 3.0000 (boost 2.4100, better) |
| Biggest Deboost | predicted_SO: 0.7430 -> 0.0000 (deboost -0.7430, 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.0000 -> 3.0667 (boost 0.0667, better) | predicted_AVG: 0.2650 -> 0.2530 (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 | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3361 -> 0.2927 (deboost -0.0434, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.6733 -> 1.0000 (boost 0.3267, better) | predicted_BB: 0.3171 -> 0.0000 (deboost -0.3171, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.220 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5222 -> 1.0000 (boost 0.4778, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2196 -> 0.3330 (boost 0.1134, better) | predicted_SLG: 0.3453 -> 0.3330 (deboost -0.0123, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3453 (boost 0.0123, better) | predicted_AVG: 0.3330 -> 0.2196 (deboost -0.1134, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665804",
"player_name": "Miguel Amaya",
"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.143,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.265,
"predicted_BB": 0.314,
"predicted_H": 0.59,
"predicted_HR": 0.07,
"predicted_OBP": 0.332,
"predicted_R": 0.486,
"predicted_RBI": 0.26,
"predicted_SLG": 0.367,
"predicted_SO": 0.743
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.0008,
"predicted_AB": 3.0667,
"predicted_AVG": 0.253,
"predicted_BB": 0.3124,
"predicted_H": 0.65,
"predicted_HBP": 0.212,
"predicted_HR": 0.068,
"predicted_OBP": 0.3361,
"predicted_R": 0.4907,
"predicted_RBI": 0.2541,
"predicted_SLG": 0.3672,
"predicted_SO": 0.7273
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.174,
"delta": 0.031,
"percent_delta": 0.2168,
"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.0667,
"delta": 0.0667,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.253,
"delta": -0.012,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.314,
"after": 0.3124,
"delta": -0.0016,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.65,
"delta": 0.06,
"percent_delta": 0.1017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.068,
"delta": -0.002,
"percent_delta": -0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3361,
"delta": 0.0041,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 0.4907,
"delta": 0.0047,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2541,
"delta": -0.0059,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3672,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.743,
"after": 0.7273,
"delta": -0.0157,
"percent_delta": -0.0211,
"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": 3.0667,
"delta": 0.0667,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.253,
"delta": -0.012,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 35
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.0008,
"predicted_AB": 3.0667,
"predicted_AVG": 0.2196,
"predicted_BB": 0.3171,
"predicted_H": 0.6733,
"predicted_HBP": 0.212,
"predicted_HR": 0.07,
"predicted_OBP": 0.2927,
"predicted_R": 0.5222,
"predicted_RBI": 0.2704,
"predicted_SLG": 0.3453,
"predicted_SO": 0.7163
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.174,
"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.0667,
"after": 3.0667,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2196,
"delta": -0.0334,
"percent_delta": -0.132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3124,
"after": 0.3171,
"delta": 0.0047,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.6733,
"delta": 0.0233,
"percent_delta": 0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.212,
"after": 0.212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.068,
"after": 0.07,
"delta": 0.002,
"percent_delta": 0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3361,
"after": 0.2927,
"delta": -0.0434,
"percent_delta": -0.1291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4907,
"after": 0.5222,
"delta": 0.0315,
"percent_delta": 0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2541,
"after": 0.2704,
"delta": 0.0163,
"percent_delta": 0.0641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3672,
"after": 0.3453,
"delta": -0.0219,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7273,
"after": 0.7163,
"delta": -0.011,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3361,
"after": 0.2927,
"delta": -0.0434,
"percent_delta": -0.1291,
"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.220 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.174,
"after": 0.0,
"delta": -0.174,
"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.0667,
"after": 3.0,
"delta": -0.0667,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3171,
"after": 0.0,
"delta": -0.3171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6733,
"after": 1.0,
"delta": 0.3267,
"percent_delta": 0.4852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"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_RBI",
"before": 0.2704,
"after": 0.0,
"delta": -0.2704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7163,
"after": 1.0,
"delta": 0.2837,
"percent_delta": 0.3961,
"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.6733,
"after": 1.0,
"delta": 0.3267,
"percent_delta": 0.4852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3171,
"after": 0.0,
"delta": -0.3171,
"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": 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.5222,
"after": 1.0,
"delta": 0.4778,
"percent_delta": 0.915,
"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.5222,
"after": 1.0,
"delta": 0.4778,
"percent_delta": 0.915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2196,
"after": 0.333,
"delta": 0.1134,
"percent_delta": 0.5164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2927,
"after": 0.333,
"delta": 0.0403,
"percent_delta": 0.1377,
"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.3453,
"after": 0.333,
"delta": -0.0123,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2196,
"after": 0.333,
"delta": 0.1134,
"percent_delta": 0.5164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3453,
"after": 0.333,
"delta": -0.0123,
"percent_delta": -0.0356,
"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": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2196,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2927,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3453,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2196,
"delta": -0.1134,
"percent_delta": -0.3407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2927,
"delta": -0.0403,
"percent_delta": -0.121,
"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.3453,
"delta": 0.0123,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3453,
"delta": 0.0123,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2196,
"delta": -0.1134,
"percent_delta": -0.3407,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.857,
"percent_delta": 5.993,
"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.265,
"after": 0.2196,
"delta": -0.0454,
"percent_delta": -0.1713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 3.0,
"delta": 2.41,
"percent_delta": 4.0847,
"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.332,
"after": 0.2927,
"delta": -0.0393,
"percent_delta": -0.1184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 1.0,
"delta": 0.514,
"percent_delta": 1.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3453,
"delta": -0.0217,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.743,
"after": 0.0,
"delta": -0.743,
"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.59,
"after": 3.0,
"delta": 2.41,
"percent_delta": 4.0847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.743,
"after": 0.0,
"delta": -0.743,
"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.143 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.314 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.486 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.743 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.031 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.067 | 0.067 |
| predicted_AVG | 0.253 | -0.012 |
| predicted_BB | 0.312 | -0.002 |
| predicted_H | 0.650 | 0.060 |
| predicted_HBP | 0.212 | - |
| predicted_HR | 0.068 | -0.002 |
| predicted_OBP | 0.336 | 0.004 |
| predicted_R | 0.491 | 0.005 |
| predicted_RBI | 0.254 | -0.006 |
| predicted_SLG | 0.367 | 0.000 |
| predicted_SO | 0.727 | -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.174 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.067 | 0.000 |
| predicted_AVG | 0.220 | -0.033 |
| predicted_BB | 0.317 | 0.005 |
| predicted_H | 0.673 | 0.023 |
| predicted_HBP | 0.212 | 0.000 |
| predicted_HR | 0.070 | 0.002 |
| predicted_OBP | 0.293 | -0.043 |
| predicted_R | 0.522 | 0.031 |
| predicted_RBI | 0.270 | 0.016 |
| predicted_SLG | 0.345 | -0.022 |
| predicted_SO | 0.716 | -0.011 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.220 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 | - |
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 | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.174 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.067 |
| predicted_AVG | 0.333 | 0.113 |
| predicted_BB | 0.000 | -0.317 |
| predicted_H | 1.000 | 0.327 |
| predicted_HR | 0.000 | -0.070 |
| predicted_OBP | 0.333 | 0.040 |
| predicted_R | 1.000 | 0.478 |
| predicted_RBI | 0.000 | -0.270 |
| predicted_SLG | 0.333 | -0.012 |
| predicted_SO | 1.000 | 0.284 |
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 | 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 | - | 15.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 2.000 | 0.2667 | 0.3889 | 0.4000 | 0.2667 | 0.0000 | 0.0000 | 0.0667 | 0.1333 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 7.000 | 0.2000 | 0.3514 | 0.3000 | 0.2000 | 0.0000 | 0.0333 | 0.1333 | 0.2333 |
| season | 0.60 | 35 | - | 105.000 | 24.000 | 5.000 | 0.000 | 3.000 | 10.000 | 17.000 | 11.000 | 26.000 | 0.2286 | 0.3361 | 0.3619 | 0.2286 | 0.0286 | 0.0952 | 0.1048 | 0.2476 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2220 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1700 |
| predicted_AVG | 0.2345 |
| predicted_BB | 0.3100 |
| predicted_H | 0.7430 |
| predicted_HBP | 0.2120 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.3425 |
| predicted_R | 0.4980 |
| predicted_RBI | 0.2450 |
| predicted_SLG | 0.3676 |
| predicted_SO | 0.7030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.2220 | 0.1740 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0000 | 3.1700 | 3.0667 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2345 | 0.2530 | model_form_blend |
| predicted_BB | 0.3140 | 0.3100 | 0.3124 | model_form_blend |
| predicted_H | 0.5900 | 0.7430 | 0.6500 | model_form_blend |
| predicted_HBP | - | 0.2120 | 0.2120 | form_only |
| predicted_HR | 0.0700 | 0.0650 | 0.0680 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3425 | 0.3361 | model_form_blend |
| predicted_R | 0.4860 | 0.4980 | 0.4907 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2450 | 0.2541 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3676 | 0.3672 | model_form_blend |
| predicted_SO | 0.7430 | 0.7030 | 0.7273 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 107 |
| Season rows before report date | 107 |
| Report year | 2026 |
| Profile rows used | 35 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| 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 | 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 | 20260624_CHC@NYM |
| game_type | full |
| mlbID | 665804 |
| playerID | 665804 |
| playerName | Miguel Amaya |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.334 |
| sl_xwoba | 0.312 |
| sl_xba | 0.204 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 30.0 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 43.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.122 | 1.000 | 0.000 | Hitting_2B | 0.098 | 0.000 | 0.902 | 1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.021 | 1.000 | -0.021 | -1.000 |
| predicted_AB | 3.351 | 4.000 | 3.000 | Hitting_AB | 3.447 | 5.000 | 0.553 | -1.000 |
| predicted_AVG | 0.260 | 0.250 | 0.333 | Hitting_AVG | 0.205 | 0.600 | 0.045 | -0.350 |
| predicted_BB | 0.500 | 0.000 | 0.000 | Hitting_BB | 0.532 | 0.000 | -0.532 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.780 | 1.000 | 1.000 | Hitting_H | 0.706 | 3.000 | 0.294 | -2.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.157 | 0.000 | -0.157 | 0.000 |
| predicted_OBP | 0.355 | 0.250 | 0.333 | Hitting_OBP | 0.309 | 0.600 | -0.059 | -0.350 |
| predicted_R | 0.622 | 1.000 | 1.000 | Hitting_R | 0.681 | 1.000 | 0.319 | 0.000 |
| predicted_RBI | 0.840 | 1.000 | 1.000 | Hitting_RBI | 0.579 | 4.000 | 0.421 | -3.000 |
| predicted_SLG | 0.504 | 0.500 | 0.333 | Hitting_SLG | 0.383 | 1.000 | 0.117 | -0.500 |
| predicted_SO | 0.919 | 2.000 | 1.000 | Hitting_SO | 0.894 | 1.000 | 1.106 | 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: 0.9190 -> 2.0000 (boost 1.0810, worse) |
| Biggest Deboost | predicted_BB: 0.5000 -> 0.0000 (deboost -0.5000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 7 | 0 | 7 | 0 | predicted_RBI: 0.8400 -> 1.0171 (boost 0.1771, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_RBI: 1.0171 -> 1.0824 (boost 0.0653, better) | predicted_SLG: 0.5511 -> 0.5294 (deboost -0.0217, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.8726 -> 1.0000 (boost 0.1274, worse) | predicted_BB: 0.5080 -> 0.0000 (deboost -0.5080, worse) | AB rounded to 3 (raw=3.42), rates preserved: AVG=0.268 HR/AB=0.064 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.074) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7474 -> 1.0000 (boost 0.2526, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2681 -> 0.3330 (boost 0.0649, better) | predicted_SLG: 0.5294 -> 0.3330 (deboost -0.1964, 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 | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.5294 (boost 0.1964, better) | predicted_AVG: 0.3330 -> 0.2681 (deboost -0.0649, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621020",
"player_name": "Dansby Swanson",
"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.122,
"predicted_3B": 0.027,
"predicted_AB": 3.351,
"predicted_AVG": 0.26,
"predicted_BB": 0.5,
"predicted_H": 0.78,
"predicted_HR": 0.17,
"predicted_OBP": 0.355,
"predicted_R": 0.622,
"predicted_RBI": 0.84,
"predicted_SLG": 0.504,
"predicted_SO": 0.919
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1503,
"predicted_3B": 0.0443,
"predicted_AB": 3.4173,
"predicted_AVG": 0.2739,
"predicted_BB": 0.5004,
"predicted_H": 0.8844,
"predicted_HBP": 0.011,
"predicted_HR": 0.2118,
"predicted_OBP": 0.3629,
"predicted_R": 0.7023,
"predicted_RBI": 1.0171,
"predicted_SLG": 0.5511,
"predicted_SO": 0.886
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.1503,
"delta": 0.0283,
"percent_delta": 0.232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0443,
"delta": 0.0173,
"percent_delta": 0.6407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.351,
"after": 3.4173,
"delta": 0.0663,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2739,
"delta": 0.0139,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.5004,
"delta": 0.0004,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.8844,
"delta": 0.1044,
"percent_delta": 0.1338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.2118,
"delta": 0.0418,
"percent_delta": 0.2459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3629,
"delta": 0.0079,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.622,
"after": 0.7023,
"delta": 0.0803,
"percent_delta": 0.1291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.84,
"after": 1.0171,
"delta": 0.1771,
"percent_delta": 0.2108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.5511,
"delta": 0.0471,
"percent_delta": 0.0935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.919,
"after": 0.886,
"delta": -0.033,
"percent_delta": -0.0359,
"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_RBI",
"before": 0.84,
"after": 1.0171,
"delta": 0.1771,
"percent_delta": 0.2108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1503,
"predicted_3B": 0.0443,
"predicted_AB": 3.4173,
"predicted_AVG": 0.2681,
"predicted_BB": 0.508,
"predicted_H": 0.9161,
"predicted_HBP": 0.011,
"predicted_HR": 0.218,
"predicted_OBP": 0.3628,
"predicted_R": 0.7474,
"predicted_RBI": 1.0824,
"predicted_SLG": 0.5294,
"predicted_SO": 0.8726
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1503,
"after": 0.1503,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0443,
"after": 0.0443,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4173,
"after": 3.4173,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2739,
"after": 0.2681,
"delta": -0.0058,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5004,
"after": 0.508,
"delta": 0.0076,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8844,
"after": 0.9161,
"delta": 0.0317,
"percent_delta": 0.0358,
"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.2118,
"after": 0.218,
"delta": 0.0062,
"percent_delta": 0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3629,
"after": 0.3628,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7023,
"after": 0.7474,
"delta": 0.0451,
"percent_delta": 0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0171,
"after": 1.0824,
"delta": 0.0653,
"percent_delta": 0.0642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5511,
"after": 0.5294,
"delta": -0.0217,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.886,
"after": 0.8726,
"delta": -0.0134,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0171,
"after": 1.0824,
"delta": 0.0653,
"percent_delta": 0.0642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5511,
"after": 0.5294,
"delta": -0.0217,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.42), rates preserved: AVG=0.268 HR/AB=0.064",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1503,
"after": 0.0,
"delta": -0.1503,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0443,
"after": 0.0,
"delta": -0.0443,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4173,
"after": 3.0,
"delta": -0.4173,
"percent_delta": -0.1221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.508,
"after": 0.0,
"delta": -0.508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9161,
"after": 1.0,
"delta": 0.0839,
"percent_delta": 0.0916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.218,
"after": 0.0,
"delta": -0.218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0824,
"after": 1.0,
"delta": -0.0824,
"percent_delta": -0.0761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8726,
"after": 1.0,
"delta": 0.1274,
"percent_delta": 0.146,
"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.8726,
"after": 1.0,
"delta": 0.1274,
"percent_delta": 0.146,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.508,
"after": 0.0,
"delta": -0.508,
"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.074)",
"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.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": 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.7474,
"after": 1.0,
"delta": 0.2526,
"percent_delta": 0.338,
"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.7474,
"after": 1.0,
"delta": 0.2526,
"percent_delta": 0.338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2681,
"after": 0.333,
"delta": 0.0649,
"percent_delta": 0.2421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3628,
"after": 0.333,
"delta": -0.0298,
"percent_delta": -0.0821,
"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.5294,
"after": 0.333,
"delta": -0.1964,
"percent_delta": -0.371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2681,
"after": 0.333,
"delta": 0.0649,
"percent_delta": 0.2421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5294,
"after": 0.333,
"delta": -0.1964,
"percent_delta": -0.371,
"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": 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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 4.0,
"predicted_AVG": 0.2681,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3628,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5294,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2681,
"delta": -0.0649,
"percent_delta": -0.1949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3628,
"delta": 0.0298,
"percent_delta": 0.0895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.5294,
"delta": 0.1964,
"percent_delta": 0.5898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.5294,
"delta": 0.1964,
"percent_delta": 0.5898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2681,
"delta": -0.0649,
"percent_delta": -0.1949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 1.0,
"delta": 0.878,
"percent_delta": 7.1967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.351,
"after": 4.0,
"delta": 0.649,
"percent_delta": 0.1937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2681,
"delta": 0.0081,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 1.0,
"delta": 0.22,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3628,
"delta": 0.0078,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.84,
"after": 1.0,
"delta": 0.16,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.5294,
"delta": 0.0254,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.919,
"after": 2.0,
"delta": 1.081,
"percent_delta": 1.1763,
"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": 0.919,
"after": 2.0,
"delta": 1.081,
"percent_delta": 1.1763,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.027 | - |
| predicted_AB | 3.351 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.622 | - |
| predicted_RBI | 0.840 | - |
| predicted_SLG | 0.504 | - |
| predicted_SO | 0.919 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | 0.028 |
| predicted_3B | 0.044 | 0.017 |
| predicted_AB | 3.417 | 0.066 |
| predicted_AVG | 0.274 | 0.014 |
| predicted_BB | 0.500 | 0.000 |
| predicted_H | 0.884 | 0.104 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.212 | 0.042 |
| predicted_OBP | 0.363 | 0.008 |
| predicted_R | 0.702 | 0.080 |
| predicted_RBI | 1.017 | 0.177 |
| predicted_SLG | 0.551 | 0.047 |
| predicted_SO | 0.886 | -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.150 | 0.000 |
| predicted_3B | 0.044 | 0.000 |
| predicted_AB | 3.417 | 0.000 |
| predicted_AVG | 0.268 | -0.006 |
| predicted_BB | 0.508 | 0.008 |
| predicted_H | 0.916 | 0.032 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.218 | 0.006 |
| predicted_OBP | 0.363 | -0.000 |
| predicted_R | 0.747 | 0.045 |
| predicted_RBI | 1.082 | 0.065 |
| predicted_SLG | 0.529 | -0.022 |
| predicted_SO | 0.873 | -0.013 |
AB rounded to 3 (raw=3.42), rates preserved: AVG=0.268 HR/AB=0.064
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.074)
| Metric | Value | 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 | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.150 |
| predicted_3B | 0.000 | -0.044 |
| predicted_AB | 3.000 | -0.417 |
| predicted_AVG | 0.333 | 0.065 |
| predicted_BB | 0.000 | -0.508 |
| predicted_H | 1.000 | 0.084 |
| predicted_HR | 0.000 | -0.218 |
| predicted_OBP | 0.333 | -0.030 |
| predicted_R | 1.000 | 0.253 |
| predicted_RBI | 1.000 | -0.082 |
| predicted_SLG | 0.333 | -0.196 |
| predicted_SO | 1.000 | 0.127 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 10.000 | 2.000 | 1.000 | 3.000 | 16.000 | 7.000 | 3.000 | 3.000 | 0.5263 | 0.5652 | 1.2105 | 0.5263 | 0.1579 | 0.8421 | 0.1579 | 0.1579 |
| last_10 | 0.20 | 10 | - | 35.000 | 12.000 | 2.000 | 1.000 | 4.000 | 18.000 | 10.000 | 5.000 | 8.000 | 0.3429 | 0.4146 | 0.8000 | 0.3429 | 0.1143 | 0.5143 | 0.1429 | 0.2286 |
| season | 0.60 | 74 | - | 248.000 | 51.000 | 9.000 | 2.000 | 11.000 | 46.000 | 46.000 | 37.000 | 68.000 | 0.2056 | 0.3069 | 0.3911 | 0.2056 | 0.0444 | 0.1855 | 0.1492 | 0.2742 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1890 |
| predicted_3B | 0.0680 |
| predicted_AB | 3.5080 |
| predicted_AVG | 0.2928 |
| predicted_BB | 0.5010 |
| predicted_H | 1.0270 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2690 |
| predicted_OBP | 0.3738 |
| predicted_R | 0.8120 |
| predicted_RBI | 1.2590 |
| predicted_SLG | 0.6155 |
| predicted_SO | 0.8410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1220 | 0.1890 | 0.1503 | model_form_blend |
| predicted_3B | 0.0270 | 0.0680 | 0.0443 | model_form_blend |
| predicted_AB | 3.3510 | 3.5080 | 3.4173 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2928 | 0.2739 | model_form_blend |
| predicted_BB | 0.5000 | 0.5010 | 0.5004 | model_form_blend |
| predicted_H | 0.7800 | 1.0270 | 0.8844 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1700 | 0.2690 | 0.2118 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3738 | 0.3629 | model_form_blend |
| predicted_R | 0.6220 | 0.8120 | 0.7023 | model_form_blend |
| predicted_RBI | 0.8400 | 1.2590 | 1.0171 | model_form_blend |
| predicted_SLG | 0.5040 | 0.6155 | 0.5511 | model_form_blend |
| predicted_SO | 0.9190 | 0.8410 | 0.8860 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 235 |
| Season rows before report date | 235 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.206 |
| 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 | 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 | 4 |
| 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 | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 621020 |
| playerID | 621020 |
| playerName | Dansby Swanson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.305 |
| sl_xwoba | 0.294 |
| sl_xba | 0.201 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 41.0 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 44.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.200 | 1.000 | -0.200 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 3.200 | 2.000 | -1.200 | 0.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.000 | 4.000 | 0.000 | 1.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.520 | 6.000 | -0.320 | -1.800 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 6.200 | 5.000 | -1.200 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 2.0000 -> 5.0000 (boost 3.0000, worse) |
| 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 | starter_quality_floor | 1 | 1 | 0 | 0 | 1 | predicted_H: 2.0000 -> 5.0000 (boost 3.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": "571510",
"player_name": "Matthew Boyd",
"position": "Starter",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"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.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"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": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.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": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 2.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"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": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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 | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| 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 | 2.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -0.800 |
| predicted_SO | 5.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 | 2.000 | 0.000 |
| predicted_H | 5.000 | 3.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | 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 | 24.000 | 16.000 | 25.000 | 6.000 | 31.000 | 2.000 | 6.0000 | 1.2917 | 0.6667 | 1.0417 | 0.2500 | 1.2917 | 0.0833 |
| last_10 | 0.35 | 5 | 24.000 | 16.000 | 25.000 | 6.000 | 31.000 | 2.000 | 6.0000 | 1.2917 | 0.6667 | 1.0417 | 0.2500 | 1.2917 | 0.0833 |
| season | 0.20 | 5 | 24.000 | 16.000 | 25.000 | 6.000 | 31.000 | 2.000 | 6.0000 | 1.2917 | 0.6667 | 1.0417 | 0.2500 | 1.2917 | 0.0833 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4750 |
| predicted_ER | 2.8190 |
| predicted_ERA | 5.2484 |
| predicted_H | 4.8600 |
| predicted_HR | 0.5550 |
| predicted_IP | 5.0000 |
| predicted_SO | 5.4110 |
| predicted_WHIP | 1.3106 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4750 | 1.2084 | model_form_blend |
| predicted_ER | 2.0000 | 2.8190 | 2.3593 | model_form_blend |
| predicted_ERA | - | 5.2484 | 5.2484 | form_only |
| predicted_H | 2.0000 | 4.8600 | 3.2548 | model_form_blend |
| predicted_HR | 0.0000 | 0.5550 | 0.2435 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 5.0000 | 5.4110 | 5.1803 | model_form_blend |
| predicted_WHIP | - | 1.3106 | 1.3106 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 20 |
| Pitches | 89 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 2 |
| Pitching_ERA | 6.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 94 |
| Pitching_R | 2 |
| Pitching_SO | 5 |
| Pitching_Strikes | 65 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260503_ARI@CHC |
| game_type | full |
| mlbID | 571510 |
| playerID | 571510 |
| playerName | Matthew Boyd |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-03 |
| game_pk | 824687.0 |
| sl_k_percent | 31.0 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.314 |
| sl_xwoba | 0.322 |
| sl_sweet_spot_percent | 42.9 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 50.8 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 50.7 |
| sv_pitch_count | 94.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 84.14148936170213 |
| sv_release_spin_rate | 2153.8829787234044 |
| sv_effective_speed | 83.93404255319149 |
| sv_launch_speed | 77.40285714285714 |
| sv_launch_angle | 24.257142857142856 |
| sv_woba_value | 6.1 |
| sv_woba_denom | 22.0 |
| sv_delta_run_exp | -0.873 |
| sv_delta_home_win_exp | 0.103 |
| sl_avg_best_speed | 75.455159688 |
| sl_avg_hyper_speed | 95.821121905 |
| 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.458 | 0.000 | 0.542 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.667 | 1.000 | -0.667 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.700 | 1.000 | 0.300 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.042 | 2.000 | 0.958 | 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": "573204",
"player_name": "Caleb Thielbar",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 4.000 | 3.000 | 3.000 | 6.000 | 1.000 | 7.7143 | 1.2857 | 0.8571 | 0.6429 | 0.6429 | 1.2857 | 0.2143 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 7.000 | 5.000 | 12.000 | 3.000 | 6.7500 | 1.2857 | 0.7500 | 0.7500 | 0.5357 | 1.2857 | 0.3214 |
| season | 0.20 | 23 | 21.000 | 10.000 | 15.000 | 10.000 | 25.000 | 4.000 | 4.2857 | 1.1905 | 0.4762 | 0.7143 | 0.4762 | 1.1905 | 0.1905 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4560 |
| predicted_ER | 0.6100 |
| predicted_ERA | 5.4930 |
| predicted_H | 0.8450 |
| predicted_HR | 0.1920 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0920 |
| predicted_WHIP | 1.3010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4560 | 0.7719 | model_form_blend |
| predicted_ER | 0.0000 | 0.6100 | 0.2558 | model_form_blend |
| predicted_ERA | - | 5.4930 | 5.4930 | form_only |
| predicted_H | 0.0000 | 0.8450 | 0.3543 | model_form_blend |
| predicted_HR | 0.0000 | 0.1920 | 0.0805 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0920 | 1.6193 | model_form_blend |
| predicted_WHIP | - | 1.3010 | 1.3010 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.71 |
| 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 | 19 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_CHC@NYM |
| game_type | full |
| mlbID | 573204 |
| playerID | 573204 |
| playerName | Caleb Thielbar |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.307 |
| sl_xwoba | 0.324 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 13.2 |
| sl_hard_hit_percent | 35.2 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 51.7 |
| sl_avg_best_speed | 75.177501538 |
| sl_avg_hyper_speed | 94.177716923 |
| 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.237 | 1.000 | 0.763 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.342 | 0.000 | -0.342 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.816 | 1.000 | 0.184 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.779 | 1.000 | 0.321 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.474 | 1.000 | 0.526 | 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": "571948",
"player_name": "Hoby Milner",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 3.000 | 2.000 | 3.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.5625 | 0.3750 | 0.5625 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 6.000 | 11.000 | 3.000 | 5.000 | 1.000 | 6.2308 | 1.6154 | 0.6923 | 1.2692 | 0.3462 | 0.5769 | 0.1154 |
| season | 0.20 | 37 | 35.200 | 13.000 | 31.000 | 9.000 | 18.000 | 3.000 | 3.2804 | 1.1215 | 0.3645 | 0.8692 | 0.2523 | 0.5047 | 0.0841 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3490 |
| predicted_ER | 0.3920 |
| predicted_ERA | 3.5249 |
| predicted_H | 0.9120 |
| predicted_HR | 0.0940 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7180 |
| predicted_WHIP | 1.2605 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3490 | 0.6909 | model_form_blend |
| predicted_ER | 0.0000 | 0.3920 | 0.1862 | model_form_blend |
| predicted_ERA | - | 3.5249 | 3.5249 | form_only |
| predicted_H | 1.0000 | 0.9120 | 0.9582 | model_form_blend |
| predicted_HR | 0.0000 | 0.0940 | 0.0446 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7180 | 0.8661 | model_form_blend |
| predicted_WHIP | - | 1.2605 | 1.2605 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.28 |
| 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 | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 571948 |
| playerID | 571948 |
| playerName | Hoby Milner |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 12.3 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.29 |
| sl_xwoba | 0.342 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 37.1 |
| sl_whiff_percent | 17.5 |
| sl_swing_percent | 45.4 |
| sl_avg_best_speed | 77.664061404 |
| sl_avg_hyper_speed | 93.57238115 |
| 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.353 | 2.000 | -0.353 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.412 | 0.000 | -0.412 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.871 | 1.000 | 0.129 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.176 | 1.000 | -0.176 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 3.0000 -> 0.0000 (deboost -3.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 1 | 0 | - | predicted_H: 3.0000 -> 0.0000 (deboost -3.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "657097",
"player_name": "Jacob Webb",
"position": "Middle Reliever",
"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": 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": 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": 3.0,
"after": 0.0,
"delta": -3.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.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 3.0,
"after": 0.0,
"delta": -3.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": 3.0,
"after": 0.0,
"delta": -3.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.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 3.0,
"after": 0.0,
"delta": -3.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 | 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.000 | 5.000 | 5.000 | 2.000 | 5.000 | 2.000 | 11.2500 | 1.7500 | 1.2500 | 1.2500 | 0.5000 | 1.2500 | 0.5000 |
| last_10 | 0.35 | 10 | 9.200 | 7.000 | 10.000 | 4.000 | 10.000 | 3.000 | 6.5172 | 1.4483 | 0.7241 | 1.0345 | 0.4138 | 1.0345 | 0.3103 |
| season | 0.20 | 34 | 33.100 | 14.000 | 34.000 | 12.000 | 40.000 | 6.000 | 3.7800 | 1.3800 | 0.4200 | 1.0200 | 0.3600 | 1.2000 | 0.1800 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3720 |
| predicted_ER | 0.6650 |
| predicted_ERA | 6.5467 |
| predicted_H | 0.9690 |
| predicted_HR | 0.2500 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9790 |
| predicted_WHIP | 1.4666 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3720 | 0.1741 | model_form_blend |
| predicted_ER | 0.0000 | 0.6650 | 0.3112 | model_form_blend |
| predicted_ERA | - | 6.5467 | 6.5467 | form_only |
| predicted_H | 3.0000 | 0.9690 | 2.0497 | model_form_blend |
| predicted_HR | 0.0000 | 0.2500 | 0.1170 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9790 | 0.9902 | model_form_blend |
| predicted_WHIP | - | 1.4666 | 1.4666 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.78 |
| Pitching_Flyouts | 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 | 26 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 657097 |
| playerID | 657097 |
| playerName | Jacob Webb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-24 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.32 |
| sl_xwoba | 0.326 |
| sl_sweet_spot_percent | 40.9 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 49.5 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 51.9 |
| sl_avg_best_speed | 80.444301087 |
| sl_avg_hyper_speed | 95.09671044 |
| 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.517 | 1.000 | 0.483 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.586 | 1.000 | -0.586 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.034 | 1.000 | 0.966 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.697 | 1.000 | 0.303 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 2.000 | -1.000 | -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": "664208",
"player_name": "Phil Maton",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 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 | 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.100 | 1.000 | 4.000 | 4.000 | 5.000 | 1.000 | 2.0769 | 1.8462 | 0.2308 | 0.9231 | 0.9231 | 1.1539 | 0.2308 |
| last_10 | 0.35 | 10 | 8.100 | 3.000 | 11.000 | 5.000 | 9.000 | 1.000 | 3.2400 | 1.9200 | 0.3600 | 1.3200 | 0.6000 | 1.0800 | 0.1200 |
| season | 0.20 | 29 | 25.100 | 17.000 | 30.000 | 15.000 | 29.000 | 4.000 | 6.0395 | 1.7763 | 0.6711 | 1.1842 | 0.5921 | 1.1447 | 0.1579 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5200 |
| predicted_ER | 0.4070 |
| predicted_ERA | 3.8856 |
| predicted_H | 0.9810 |
| predicted_HR | 0.1520 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9760 |
| predicted_WHIP | 1.5942 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5200 | 0.7892 | model_form_blend |
| predicted_ER | 0.0000 | 0.4070 | 0.1787 | model_form_blend |
| predicted_ERA | - | 3.8856 | 3.8856 | form_only |
| predicted_H | 2.0000 | 0.9810 | 1.5526 | model_form_blend |
| predicted_HR | 0.0000 | 0.1520 | 0.0667 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9760 | 0.4285 | model_form_blend |
| predicted_WHIP | - | 1.5942 | 1.5942 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.04 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_CHC@NYM |
| game_type | full |
| mlbID | 664208 |
| playerID | 664208 |
| playerName | Phil Maton |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-23 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.391 |
| sl_xwoba | 0.377 |
| sl_sweet_spot_percent | 41.3 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 44.0 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 77.021731892 |
| sl_avg_hyper_speed | 94.552097808 |
| Field | Value |
|---|---|
| Pitcher | Freddy Peralta |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1150 |
| ESPN Rank | 263 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0241 |
| Avg Velo | 89.3207 |
| Avg Spin | 2278.1465 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 4.8327 |
| Season WHIP | 1.3891 |
| Role Avg IP | 5.3540 |
| Recent Avg IP | 4.8670 |
| Last Start IP | 2.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"opponent": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"edges": {
"quality_edge": -0.3627,
"offense_edge": -0.1346,
"opponent_offense_edge": 0.1051,
"defense_strength": 0.0137,
"opponent_defense_weakness": -0.0034,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9817,
"run_prevention": 1.0336,
"strikeout": 0.9807
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642547",
"profile": {
"available": true,
"pitcher_id": "642547",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 262.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.332,
"xwoba": 0.306,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 39.6,
"avg_best_speed": 76.3289,
"avg_hyper_speed": 93.8252,
"whiff_percent": 26.7,
"swing_percent": 46.9
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.072,
"command_and_miss": 0.0089,
"regression_edge": 0.7429,
"xwoba_edge": 0.2429,
"barrel_edge": 0.3667,
"hard_hit_edge": -0.1857,
"whiff_edge": 0.1214,
"bb_edge": 0.025,
"pitch_design_score": -0.0241
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642547",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 108,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 89.32068356695842,
"release_spin_rate": 2278.146503687079,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 89.32068356695842,
"release_spin_rate": 2278.146503687079,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3207,
"release_spin_rate": 2278.1465,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0241,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1722,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.115,
"sample_weight": 1.0,
"run_prevention_factor": 0.9902,
"strikeout_factor": 1.0014,
"walk_factor": 0.998,
"homer_factor": 0.9708,
"woba_minus_xwoba": 0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642547",
"espn_id": 39825,
"player_name": "Freddy Peralta",
"team": "NYM",
"role": "pitcher",
"espn_rank": 263,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 263,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 4.0,
"qs_rank": 80,
"era_value": 4.8326,
"era_rank": 56.0,
"w_value": 5.0,
"w_rank": 51,
"l_value": 6.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 85.2,
"ip_rank": 40,
"h_value": 85.0,
"h_rank": 20,
"er_value": 46.0,
"er_rank": 13,
"hr_value": 12.0,
"hr_rank": 35,
"bb_value": 34.0,
"bb_rank": 17,
"k_value": 83.0,
"k_rank": 38,
"k_per_9_value": 8.719845,
"k_per_9_rank": 25,
"whip_value": 1.3891,
"whip_rank": 56.0,
"war_value": 0.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 0.9902,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 0.9902,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.998,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9708,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0014,
"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": 53.1,
"ER": 32,
"H": 59,
"BB": 21,
"SO": 47,
"HR": 8,
"ERA": 5.4,
"WHIP": 1.5000000000000002,
"K9": 7.93125,
"HR9": 1.35,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-20T00:00:00"
}{
"available": true,
"pitcher_id": "642547",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 108,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 89.32068356695842,
"release_spin_rate": 2278.146503687079,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 89.32068356695842,
"release_spin_rate": 2278.146503687079,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3207,
"release_spin_rate": 2278.1465,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0241,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1722,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "642547",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.1,
"ER": 22.0,
"R": 22.0,
"H": 34.0,
"BB": 7.0,
"SO": 20.0,
"HR": 4.0,
"BF": 113.0,
"Pitches": 463.0
},
"per_game": {
"IP": 5.0,
"ER": 4.4,
"R": 4.4,
"H": 6.8,
"BB": 1.4,
"SO": 4.0,
"HR": 0.8,
"BF": 22.6,
"Pitches": 92.6
},
"rates": {
"ERA": 8.137,
"WHIP": 1.6849,
"ER_per_IP": 0.90411,
"H_per_IP": 1.39726,
"BB_per_IP": 0.28767,
"SO_per_IP": 0.82192,
"HR_per_IP": 0.16438
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.1,
"ER": 32.0,
"R": 34.0,
"H": 59.0,
"BB": 21.0,
"SO": 47.0,
"HR": 8.0,
"BF": 237.0,
"Pitches": 948.0
},
"per_game": {
"IP": 5.1,
"ER": 3.2,
"R": 3.4,
"H": 5.9,
"BB": 2.1,
"SO": 4.7,
"HR": 0.8,
"BF": 23.7,
"Pitches": 94.8
},
"rates": {
"ERA": 5.4,
"WHIP": 1.5,
"ER_per_IP": 0.6,
"H_per_IP": 1.10625,
"BB_per_IP": 0.39375,
"SO_per_IP": 0.88125,
"HR_per_IP": 0.15
}
},
"season": {
"games": 16,
"totals": {
"IP": 85.2,
"ER": 46.0,
"R": 48.0,
"H": 85.0,
"BB": 34.0,
"SO": 83.0,
"HR": 12.0,
"BF": 376.0,
"Pitches": 1509.0
},
"per_game": {
"IP": 5.1,
"ER": 2.875,
"R": 3.0,
"H": 5.3125,
"BB": 2.125,
"SO": 5.1875,
"HR": 0.75,
"BF": 23.5,
"Pitches": 94.3125
},
"rates": {
"ERA": 4.8327,
"WHIP": 1.3891,
"ER_per_IP": 0.53696,
"H_per_IP": 0.99222,
"BB_per_IP": 0.39689,
"SO_per_IP": 0.96887,
"HR_per_IP": 0.14008
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.448,
"predicted_H": 5.942,
"predicted_BB": 1.798,
"predicted_SO": 4.574,
"predicted_HR": 0.784,
"predicted_ERA": 6.0369,
"predicted_WHIP": 1.5059
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 3.448,
"final": 3.2461,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.942,
"final": 5.5175,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.798,
"final": 1.889,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.574,
"final": 4.766,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.784,
"final": 0.8813,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0369,
"final": 6.0369,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5059,
"final": 1.5059,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brooks Raley |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0519 |
| ESPN Rank | 130 |
| 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.4828 |
| Season WHIP | 1.3103 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"opponent": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"edges": {
"quality_edge": -0.3627,
"offense_edge": -0.1346,
"opponent_offense_edge": 0.1051,
"defense_strength": 0.0137,
"opponent_defense_weakness": -0.0034,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9817,
"run_prevention": 1.0336,
"strikeout": 0.9807
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "548384",
"profile": {
"available": true,
"pitcher_id": "548384",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 24.4,
"bb_percent": 10.2,
"woba": 0.305,
"xwoba": 0.307,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 31.3,
"avg_best_speed": 76.1301,
"avg_hyper_speed": 93.0062,
"whiff_percent": 23.6,
"swing_percent": 46.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2433,
"command_and_miss": -0.0582,
"regression_edge": -0.0571,
"xwoba_edge": 0.2143,
"barrel_edge": 0.1889,
"hard_hit_edge": 1.0,
"whiff_edge": -0.3214,
"bb_edge": -0.275,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "548384",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0519,
"sample_weight": 0.45,
"run_prevention_factor": 0.9956,
"strikeout_factor": 0.9986,
"walk_factor": 1.0099,
"homer_factor": 0.9723,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "548384",
"espn_id": 32005,
"player_name": "Brooks Raley",
"team": "NYM",
"role": "pitcher",
"espn_rank": 130,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 130,
"gp_value": 32.0,
"gp_rank": 66,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.4827,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 10.0,
"hld_rank": 25,
"ip_value": 29.0,
"ip_rank": 308,
"h_value": 25.0,
"h_rank": 287,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 13.0,
"bb_rank": 244,
"k_value": 31.0,
"k_rank": 264,
"k_per_9_value": 9.620689,
"k_per_9_rank": 23,
"whip_value": 1.3103,
"whip_rank": null,
"war_value": 0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0045,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9875,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9994,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 5,
"H": 10,
"BB": 4,
"SO": 8,
"HR": 1,
"ERA": 5.0,
"WHIP": 1.5555555555555556,
"K9": 8.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-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "548384",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.742,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5345,
"prior_weight": 0.4655
},
"role": "pitcher",
"player_id": "548384",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.4,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 4.8,
"Pitches": 19.4
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.9286,
"ER_per_IP": 0.85714,
"H_per_IP": 1.5,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 4.0,
"SO": 8.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 175.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.0,
"BB": 0.4,
"SO": 0.8,
"HR": 0.1,
"BF": 4.3,
"Pitches": 17.5
},
"rates": {
"ERA": 5.0,
"WHIP": 1.5556,
"ER_per_IP": 0.55556,
"H_per_IP": 1.11111,
"BB_per_IP": 0.44444,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 32,
"totals": {
"IP": 29.0,
"ER": 8.0,
"R": 9.0,
"H": 25.0,
"BB": 13.0,
"SO": 31.0,
"HR": 2.0,
"BF": 127.0,
"Pitches": 489.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.2812,
"H": 0.7812,
"BB": 0.4062,
"SO": 0.9688,
"HR": 0.0625,
"BF": 3.9688,
"Pitches": 15.2812
},
"rates": {
"ERA": 2.4828,
"WHIP": 1.3103,
"ER_per_IP": 0.27586,
"H_per_IP": 0.86207,
"BB_per_IP": 0.44828,
"SO_per_IP": 1.06897,
"HR_per_IP": 0.06897
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.572,
"predicted_H": 1.112,
"predicted_BB": 0.402,
"predicted_SO": 0.825,
"predicted_HR": 0.096,
"predicted_ERA": 5.1495,
"predicted_WHIP": 1.5139
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5467,
"form_weight": 0.4533,
"form_reliability": 0.5345,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.742,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5345,
"prior_weight": 0.4655
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.572,
"final": 0.2593,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.112,
"final": 1.0508,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.402,
"final": 0.1822,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.825,
"final": 0.9207,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.096,
"final": 0.0435,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1495,
"final": 5.1495,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5139,
"final": 1.5139,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Devin Williams |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3158 |
| ESPN Rank | 650 |
| 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 | 3 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.9079 |
| Season WHIP | 1.4211 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"opponent": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"edges": {
"quality_edge": -0.3627,
"offense_edge": -0.1346,
"opponent_offense_edge": 0.1051,
"defense_strength": 0.0137,
"opponent_defense_weakness": -0.0034,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9817,
"run_prevention": 1.0336,
"strikeout": 0.9807
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642207",
"profile": {
"available": true,
"pitcher_id": "642207",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 33.6,
"bb_percent": 12.9,
"woba": 0.328,
"xwoba": 0.277,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 27.4,
"avg_best_speed": 79.4174,
"avg_hyper_speed": 93.0004,
"whiff_percent": 38.2,
"swing_percent": 50.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4691,
"command_and_miss": 1.1282,
"regression_edge": 1.4571,
"xwoba_edge": 1.0714,
"barrel_edge": 0.1444,
"hard_hit_edge": 1.5571,
"whiff_edge": 1.7643,
"bb_edge": -0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642207",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3158,
"sample_weight": 0.45,
"run_prevention_factor": 0.9732,
"strikeout_factor": 1.0598,
"walk_factor": 1.0342,
"homer_factor": 0.9523,
"woba_minus_xwoba": 0.051,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642207",
"espn_id": 33224,
"player_name": "Devin Williams",
"team": "NYM",
"role": "pitcher",
"espn_rank": 650,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 650,
"gp_value": 28.0,
"gp_rank": 119,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.6184,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 11.0,
"sv_rank": 16,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 25.1,
"ip_rank": 341,
"h_value": 25.0,
"h_rank": 287,
"er_value": 13.0,
"er_rank": 270,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 15.0,
"bb_rank": 214,
"k_value": 39.0,
"k_rank": 180,
"k_per_9_value": 13.855263,
"k_per_9_rank": 14,
"whip_value": 1.5789,
"whip_rank": null,
"war_value": -0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0154,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9785,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0269,
"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": 5,
"H": 10,
"BB": 7,
"SO": 15,
"HR": 1,
"ERA": 4.655172413793104,
"WHIP": 1.7586206896551726,
"K9": 13.965517241379311,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "642207",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.016,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5008,
"prior_weight": 0.4992
},
"role": "pitcher",
"player_id": "642207",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 116.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 1.0,
"H": 1.4,
"BB": 0.4,
"SO": 1.6,
"HR": 0.0,
"BF": 5.4,
"Pitches": 23.2
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.6875,
"ER_per_IP": 0.1875,
"H_per_IP": 1.3125,
"BB_per_IP": 0.375,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 5.0,
"R": 9.0,
"H": 10.0,
"BB": 7.0,
"SO": 15.0,
"HR": 1.0,
"BF": 48.0,
"Pitches": 202.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.9,
"H": 1.0,
"BB": 0.7,
"SO": 1.5,
"HR": 0.1,
"BF": 4.8,
"Pitches": 20.2
},
"rates": {
"ERA": 4.6552,
"WHIP": 1.7586,
"ER_per_IP": 0.51724,
"H_per_IP": 1.03448,
"BB_per_IP": 0.72414,
"SO_per_IP": 1.55172,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 27,
"totals": {
"IP": 25.1,
"ER": 11.0,
"R": 15.0,
"H": 24.0,
"BB": 12.0,
"SO": 39.0,
"HR": 2.0,
"BF": 111.0,
"Pitches": 455.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4074,
"R": 0.5556,
"H": 0.8889,
"BB": 0.4444,
"SO": 1.4444,
"HR": 0.0741,
"BF": 4.1111,
"Pitches": 16.8519
},
"rates": {
"ERA": 3.9079,
"WHIP": 1.4211,
"ER_per_IP": 0.43421,
"H_per_IP": 0.94737,
"BB_per_IP": 0.47368,
"SO_per_IP": 1.53947,
"HR_per_IP": 0.07895
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.426,
"predicted_H": 1.056,
"predicted_BB": 0.439,
"predicted_SO": 1.237,
"predicted_HR": 0.099,
"predicted_ERA": 3.8324,
"predicted_WHIP": 1.4946
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5609,
"form_weight": 0.4391,
"form_reliability": 0.5008,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.016,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5008,
"prior_weight": 0.4992
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.426,
"final": 1.3089,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 1.056,
"final": 2.1464,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.439,
"final": 0.1928,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.237,
"final": 1.1041,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.099,
"final": 0.0435,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8324,
"final": 3.8324,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4946,
"final": 1.4946,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Huascar Brazobán |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4403 |
| ESPN Rank | 49 |
| 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 | 1.8151 |
| Season WHIP | 0.9076 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"opponent": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"edges": {
"quality_edge": -0.3627,
"offense_edge": -0.1346,
"opponent_offense_edge": 0.1051,
"defense_strength": 0.0137,
"opponent_defense_weakness": -0.0034,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9817,
"run_prevention": 1.0336,
"strikeout": 0.9807
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623211",
"profile": {
"available": true,
"pitcher_id": "623211",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 104.0,
"k_percent": 24.2,
"bb_percent": 11.1,
"woba": 0.224,
"xwoba": 0.248,
"sweet_spot_percent": 23.5,
"barrel_batted_rate": 2.1,
"hard_hit_percent": 21.4,
"avg_best_speed": 71.8122,
"avg_hyper_speed": 91.8295,
"whiff_percent": 26.4,
"swing_percent": 49.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.8587,
"command_and_miss": 0.0239,
"regression_edge": -0.6857,
"xwoba_edge": 1.9,
"barrel_edge": 1.1222,
"hard_hit_edge": 2.4143,
"whiff_edge": 0.0786,
"bb_edge": -0.5,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623211",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4403,
"sample_weight": 0.45,
"run_prevention_factor": 0.9626,
"strikeout_factor": 1.0053,
"walk_factor": 1.018,
"homer_factor": 0.8905,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623211",
"espn_id": 4916509,
"player_name": "Huascar Brazoban",
"team": "NYM",
"role": "pitcher",
"espn_rank": 49,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 49,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 6.0,
"gs_rank": 156,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.8151,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 5.0,
"hld_rank": 97,
"ip_value": 39.2,
"ip_rank": 176,
"h_value": 19.0,
"h_rank": 379,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 17.0,
"bb_rank": 183,
"k_value": 37.0,
"k_rank": 202,
"k_per_9_value": 8.3949585,
"k_per_9_rank": 30,
"whip_value": 0.9075,
"whip_rank": null,
"war_value": 1.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0081,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9507,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0024,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.2,
"ER": 3,
"H": 4,
"BB": 6,
"SO": 16,
"HR": 1,
"ERA": 2.131578947368421,
"WHIP": 0.7894736842105262,
"K9": 11.368421052631579,
"HR9": 0.7105263157894737,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "623211",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.854,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.611,
"prior_weight": 0.389
},
"role": "pitcher",
"player_id": "623211",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 2.0,
"SO": 11.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 99.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.4,
"SO": 2.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 19.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.3,
"SO_per_IP": 1.65,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.2,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 6.0,
"SO": 16.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 198.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.3,
"H": 0.4,
"BB": 0.6,
"SO": 1.6,
"HR": 0.1,
"BF": 4.6,
"Pitches": 19.8
},
"rates": {
"ERA": 2.1316,
"WHIP": 0.7895,
"ER_per_IP": 0.23684,
"H_per_IP": 0.31579,
"BB_per_IP": 0.47368,
"SO_per_IP": 1.26316,
"HR_per_IP": 0.07895
}
},
"season": {
"games": 33,
"totals": {
"IP": 39.2,
"ER": 8.0,
"R": 9.0,
"H": 19.0,
"BB": 17.0,
"SO": 37.0,
"HR": 2.0,
"BF": 153.0,
"Pitches": 602.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2424,
"R": 0.2727,
"H": 0.5758,
"BB": 0.5152,
"SO": 1.1212,
"HR": 0.0606,
"BF": 4.6364,
"Pitches": 18.2424
},
"rates": {
"ERA": 1.8151,
"WHIP": 0.9076,
"ER_per_IP": 0.20168,
"H_per_IP": 0.47899,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.93277,
"HR_per_IP": 0.05042
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.325,
"predicted_H": 0.606,
"predicted_BB": 0.453,
"predicted_SO": 1.452,
"predicted_HR": 0.096,
"predicted_ERA": 2.4269,
"predicted_WHIP": 0.8794
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5144,
"form_weight": 0.4856,
"form_reliability": 0.611,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.854,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.611,
"prior_weight": 0.389
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.325,
"final": 0.1578,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.606,
"final": 0.2943,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.453,
"final": 0.22,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.452,
"final": 0.7052,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.096,
"final": 0.0466,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4269,
"final": 2.4269,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8794,
"final": 0.8794,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Luke Weaver |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2249 |
| ESPN Rank | 70 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.1818 |
| Season WHIP | 0.8788 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 88,
"wins": 35,
"losses": 53,
"win_pct": 0.3977,
"runs_scored": 343.0,
"runs_allowed": 391.0,
"run_differential": -48.0,
"run_differential_per_game": -0.5455,
"avg_runs_scored": 3.8977,
"avg_runs_allowed": 4.4432,
"offense_index": 0.8654,
"defense_index": 1.0137,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.2,
"run_differential": -35.0
},
"available": true,
"quality_score": -0.2586
},
"opponent": {
"team": "CHC",
"games": 90,
"wins": 46,
"losses": 44,
"win_pct": 0.5111,
"runs_scored": 448.0,
"runs_allowed": 404.0,
"run_differential": 44.0,
"run_differential_per_game": 0.4889,
"avg_runs_scored": 4.9778,
"avg_runs_allowed": 4.4889,
"offense_index": 1.1051,
"defense_index": 1.0034,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.6,
"avg_runs_allowed": 3.9,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.1041
},
"edges": {
"quality_edge": -0.3627,
"offense_edge": -0.1346,
"opponent_offense_edge": 0.1051,
"defense_strength": 0.0137,
"opponent_defense_weakness": -0.0034,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9817,
"run_prevention": 1.0336,
"strikeout": 0.9807
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596133",
"profile": {
"available": true,
"pitcher_id": "596133",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 26.4,
"bb_percent": 7.0,
"woba": 0.221,
"xwoba": 0.272,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 31.8,
"avg_best_speed": 79.3942,
"avg_hyper_speed": 93.1291,
"whiff_percent": 28.0,
"swing_percent": 52.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9436,
"command_and_miss": 0.4504,
"regression_edge": -1.4571,
"xwoba_edge": 1.2143,
"barrel_edge": -0.5,
"hard_hit_edge": 0.9286,
"whiff_edge": 0.3071,
"bb_edge": 0.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "596133",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2249,
"sample_weight": 0.45,
"run_prevention_factor": 0.9809,
"strikeout_factor": 1.015,
"walk_factor": 0.9811,
"homer_factor": 0.9849,
"woba_minus_xwoba": -0.051,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "596133",
"espn_id": 33770,
"player_name": "Luke Weaver",
"team": "NYM",
"role": "pitcher",
"espn_rank": 70,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 70,
"gp_value": 31.0,
"gp_rank": 85,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.1818,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 9.0,
"hld_rank": 38,
"ip_value": 33.0,
"ip_rank": 240,
"h_value": 20.0,
"h_rank": 363,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 9.0,
"bb_rank": 355,
"k_value": 34.0,
"k_rank": 230,
"k_per_9_value": 9.272727,
"k_per_9_rank": 25,
"whip_value": 0.8787,
"whip_rank": null,
"war_value": 1.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9914,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9914,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9932,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0068,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 0,
"H": 4,
"BB": 1,
"SO": 11,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.46875,
"K9": 9.28125,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "596133",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.534,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"role": "pitcher",
"player_id": "596133",
"report_date": "20260625_C",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.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": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 11.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 129.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.8,
"Pitches": 12.9
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4688,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.09375,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 31,
"totals": {
"IP": 33.0,
"ER": 8.0,
"R": 8.0,
"H": 20.0,
"BB": 9.0,
"SO": 34.0,
"HR": 2.0,
"BF": 129.0,
"Pitches": 487.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2581,
"R": 0.2581,
"H": 0.6452,
"BB": 0.2903,
"SO": 1.0968,
"HR": 0.0645,
"BF": 4.1613,
"Pitches": 15.7097
},
"rates": {
"ERA": 2.1818,
"WHIP": 0.8788,
"ER_per_IP": 0.24242,
"H_per_IP": 0.60606,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.0303,
"HR_per_IP": 0.06061
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.244,
"predicted_H": 0.614,
"predicted_BB": 0.257,
"predicted_SO": 1.089,
"predicted_HR": 0.07,
"predicted_ERA": 2.1965,
"predicted_WHIP": 0.8709
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5332,
"form_weight": 0.4668,
"form_reliability": 0.5665,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.534,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.244,
"final": 0.1139,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.614,
"final": 0.2866,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.257,
"final": 0.12,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.089,
"final": 0.5084,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0327,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1965,
"final": 2.1965,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8709,
"final": 0.8709,
"source": "form_only"
}
}
}{
"available": false,
"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.117 | 1.000 | 0.000 | Hitting_2B | 0.113 | 0.000 | 0.887 | 1.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 4.040 | 5.000 | 4.000 | Hitting_AB | 3.753 | 2.000 | 1.247 | 3.000 |
| predicted_AVG | 0.275 | 0.200 | 0.250 | Hitting_AVG | 0.302 | 0.000 | -0.102 | 0.200 |
| predicted_BB | 0.583 | 0.000 | 1.000 | Hitting_BB | 0.634 | 0.000 | -0.634 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 1.110 | 1.000 | 1.000 | Hitting_H | 1.134 | 0.000 | -0.134 | 1.000 |
| predicted_HR | 0.260 | 0.000 | 0.000 | Hitting_HR | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_OBP | 0.393 | 0.200 | 0.400 | Hitting_OBP | 0.401 | 0.000 | -0.201 | 0.200 |
| predicted_R | 0.600 | 0.000 | 1.000 | Hitting_R | 0.602 | 0.000 | -0.602 | 0.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.629 | 0.000 | -0.629 | 0.000 |
| predicted_SLG | 0.557 | 0.400 | 0.250 | Hitting_SLG | 0.559 | 0.000 | -0.159 | 0.400 |
| predicted_SO | 0.550 | 0.000 | 1.000 | Hitting_SO | 0.651 | 0.000 | -0.651 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| 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 | 3 | 1 | 3 | 1 | predicted_SLG: 0.5570 -> 0.5902 (boost 0.0332, better) | predicted_AB: 4.0400 -> 3.8371 (deboost -0.2029, worse) | Final model input calibrated with local 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.5902 -> 0.5366 (deboost -0.0536, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_SO: 0.5317 -> 1.0000 (boost 0.4683, worse) | predicted_HR: 0.2647 -> 0.0000 (deboost -0.2647, worse) | AB rounded to 4 (raw=4.04), rates preserved: AVG=0.273 HR/AB=0.066 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5687 -> 1.0000 (boost 0.4313, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3790 -> 0.4000 (boost 0.0210, better) | predicted_SLG: 0.5366 -> 0.2500 (deboost -0.2866, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.5366 (boost 0.2866, better) | predicted_OBP: 0.4000 -> 0.3790 (deboost -0.0210, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665742",
"player_name": "Juan Soto",
"position": "DH",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.117,
"predicted_3B": 0.017,
"predicted_AB": 4.04,
"predicted_AVG": 0.275,
"predicted_BB": 0.583,
"predicted_H": 1.11,
"predicted_HR": 0.26,
"predicted_OBP": 0.393,
"predicted_R": 0.6,
"predicted_RBI": 0.68,
"predicted_SLG": 0.557,
"predicted_SO": 0.55
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1333,
"predicted_3B": 0.0141,
"predicted_AB": 3.8371,
"predicted_AVG": 0.3016,
"predicted_BB": 0.575,
"predicted_H": 1.1494,
"predicted_HBP": 0.003,
"predicted_HR": 0.2742,
"predicted_OBP": 0.4073,
"predicted_R": 0.6122,
"predicted_RBI": 0.6746,
"predicted_SLG": 0.5902,
"predicted_SO": 0.5232
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 0.1333,
"delta": 0.0163,
"percent_delta": 0.1393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0141,
"delta": -0.0029,
"percent_delta": -0.1706,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 3.8371,
"delta": -0.2029,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.3016,
"delta": 0.0266,
"percent_delta": 0.0967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.583,
"after": 0.575,
"delta": -0.008,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.1494,
"delta": 0.0394,
"percent_delta": 0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.2742,
"delta": 0.0142,
"percent_delta": 0.0546,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.393,
"after": 0.4073,
"delta": 0.0143,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 0.6122,
"delta": 0.0122,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.6746,
"delta": -0.0054,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.557,
"after": 0.5902,
"delta": 0.0332,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.55,
"after": 0.5232,
"delta": -0.0268,
"percent_delta": -0.0487,
"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.557,
"after": 0.5902,
"delta": 0.0332,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 3.8371,
"delta": -0.2029,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1333,
"predicted_3B": 0.0141,
"predicted_AB": 3.8371,
"predicted_AVG": 0.2875,
"predicted_BB": 0.5656,
"predicted_H": 1.1032,
"predicted_HBP": 0.003,
"predicted_HR": 0.2647,
"predicted_OBP": 0.379,
"predicted_R": 0.5687,
"predicted_RBI": 0.6267,
"predicted_SLG": 0.5366,
"predicted_SO": 0.5317
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1333,
"after": 0.1333,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0141,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8371,
"after": 3.8371,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3016,
"after": 0.2875,
"delta": -0.0141,
"percent_delta": -0.0468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.575,
"after": 0.5656,
"delta": -0.0094,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1494,
"after": 1.1032,
"delta": -0.0462,
"percent_delta": -0.0402,
"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.2742,
"after": 0.2647,
"delta": -0.0095,
"percent_delta": -0.0346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4073,
"after": 0.379,
"delta": -0.0283,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6122,
"after": 0.5687,
"delta": -0.0435,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6746,
"after": 0.6267,
"delta": -0.0479,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5902,
"after": 0.5366,
"delta": -0.0536,
"percent_delta": -0.0908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5232,
"after": 0.5317,
"delta": 0.0085,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.5902,
"after": 0.5366,
"delta": -0.0536,
"percent_delta": -0.0908,
"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.273 HR/AB=0.066",
"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.1333,
"after": 0.0,
"delta": -0.1333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0,
"delta": -0.0141,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8371,
"after": 4.0,
"delta": 0.1629,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5656,
"after": 1.0,
"delta": 0.4344,
"percent_delta": 0.768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1032,
"after": 1.0,
"delta": -0.1032,
"percent_delta": -0.0935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2647,
"after": 0.0,
"delta": -0.2647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6267,
"after": 1.0,
"delta": 0.3733,
"percent_delta": 0.5957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5317,
"after": 1.0,
"delta": 0.4683,
"percent_delta": 0.8808,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5317,
"after": 1.0,
"delta": 0.4683,
"percent_delta": 0.8808,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2647,
"after": 0.0,
"delta": -0.2647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9,
"bvp": 0.1
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5687,
"after": 1.0,
"delta": 0.4313,
"percent_delta": 0.7584,
"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.5687,
"after": 1.0,
"delta": 0.4313,
"percent_delta": 0.7584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2875,
"after": 0.25,
"delta": -0.0375,
"percent_delta": -0.1304,
"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.379,
"after": 0.4,
"delta": 0.021,
"percent_delta": 0.0554,
"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.5366,
"after": 0.25,
"delta": -0.2866,
"percent_delta": -0.5341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.379,
"after": 0.4,
"delta": 0.021,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5366,
"after": 0.25,
"delta": -0.2866,
"percent_delta": -0.5341,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"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_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": 5.0,
"predicted_AVG": 0.2875,
"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.379,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5366,
"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.25,
"after": 0.2875,
"delta": 0.0375,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.379,
"delta": -0.021,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5366,
"delta": 0.2866,
"percent_delta": 1.1462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5366,
"delta": 0.2866,
"percent_delta": 1.1462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.379,
"delta": -0.021,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 1.0,
"delta": 0.883,
"percent_delta": 7.547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"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.275,
"after": 0.2875,
"delta": 0.0125,
"percent_delta": 0.0455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0,
"delta": -0.11,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.393,
"after": 0.379,
"delta": -0.014,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"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.557,
"after": 0.5366,
"delta": -0.0204,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.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.117 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 4.040 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.583 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.393 | - |
| predicted_R | 0.600 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.557 | - |
| predicted_SO | 0.550 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.016 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.837 | -0.203 |
| predicted_AVG | 0.302 | 0.027 |
| predicted_BB | 0.575 | -0.008 |
| predicted_H | 1.149 | 0.039 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.274 | 0.014 |
| predicted_OBP | 0.407 | 0.014 |
| predicted_R | 0.612 | 0.012 |
| predicted_RBI | 0.675 | -0.005 |
| predicted_SLG | 0.590 | 0.033 |
| predicted_SO | 0.523 | -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.133 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.837 | 0.000 |
| predicted_AVG | 0.287 | -0.014 |
| predicted_BB | 0.566 | -0.009 |
| predicted_H | 1.103 | -0.046 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.265 | -0.010 |
| predicted_OBP | 0.379 | -0.028 |
| predicted_R | 0.569 | -0.043 |
| predicted_RBI | 0.627 | -0.048 |
| predicted_SLG | 0.537 | -0.054 |
| predicted_SO | 0.532 | 0.008 |
AB rounded to 4 (raw=4.04), rates preserved: AVG=0.273 HR/AB=0.066
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.133 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 4.000 | 0.163 |
| predicted_AVG | 0.250 | -0.037 |
| predicted_BB | 1.000 | 0.434 |
| predicted_H | 1.000 | -0.103 |
| predicted_HR | 0.000 | -0.265 |
| predicted_OBP | 0.400 | 0.021 |
| predicted_R | 1.000 | 0.431 |
| predicted_RBI | 1.000 | 0.373 |
| predicted_SLG | 0.250 | -0.287 |
| predicted_SO | 1.000 | 0.468 |
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 | -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 | 7.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 2.000 | 1.000 | 0.4118 | 0.4737 | 0.8235 | 0.4118 | 0.1177 | 0.2353 | 0.1177 | 0.0588 |
| last_10 | 0.20 | 10 | - | 33.000 | 14.000 | 2.000 | 0.000 | 3.000 | 7.000 | 6.000 | 8.000 | 4.000 | 0.4242 | 0.5366 | 0.7576 | 0.4242 | 0.0909 | 0.2121 | 0.2424 | 0.1212 |
| season | 0.60 | 60 | - | 218.000 | 66.000 | 7.000 | 1.000 | 17.000 | 38.000 | 36.000 | 35.000 | 33.000 | 0.3028 | 0.3976 | 0.5780 | 0.3028 | 0.0780 | 0.1743 | 0.1605 | 0.1514 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1560 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.5560 |
| predicted_AVG | 0.3385 |
| predicted_BB | 0.5640 |
| predicted_H | 1.2040 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.2940 |
| predicted_OBP | 0.4272 |
| predicted_R | 0.6290 |
| predicted_RBI | 0.6670 |
| predicted_SLG | 0.6363 |
| predicted_SO | 0.4860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1170 | 0.1560 | 0.1333 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0141 | model_form_blend |
| predicted_AB | 4.0400 | 3.5560 | 3.8371 | model_form_blend |
| predicted_AVG | 0.2750 | 0.3385 | 0.3016 | model_form_blend |
| predicted_BB | 0.5830 | 0.5640 | 0.5750 | model_form_blend |
| predicted_H | 1.1100 | 1.2040 | 1.1494 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.2600 | 0.2940 | 0.2742 | model_form_blend |
| predicted_OBP | 0.3930 | 0.4272 | 0.4073 | model_form_blend |
| predicted_R | 0.6000 | 0.6290 | 0.6122 | model_form_blend |
| predicted_RBI | 0.6800 | 0.6670 | 0.6746 | model_form_blend |
| predicted_SLG | 0.5570 | 0.6363 | 0.5902 | model_form_blend |
| predicted_SO | 0.5500 | 0.4860 | 0.5232 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 186 |
| Season rows before report date | 186 |
| Report year | 2026 |
| Profile rows used | 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 | 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.303 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260623_CHC@NYM |
| game_type | full |
| mlbID | 665742 |
| playerID | 665742 |
| playerName | Juan Soto |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-23 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.408 |
| sl_xwoba | 0.42 |
| sl_xba | 0.303 |
| sl_xslg | 0.605 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 14.5 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 19.8 |
| sl_swing_percent | 39.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 0.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 4.290 | 5.000 | 4.000 | Hitting_AB | 3.831 | 4.000 | 1.169 | 1.000 |
| predicted_AVG | 0.243 | 0.000 | 0.250 | Hitting_AVG | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_BB | 0.293 | 0.000 | 0.000 | Hitting_BB | 0.311 | 1.000 | -0.311 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 1.040 | 0.000 | 1.000 | Hitting_H | 1.013 | 0.000 | -1.013 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_OBP | 0.326 | 0.000 | 0.250 | Hitting_OBP | 0.332 | 0.200 | -0.332 | -0.200 |
| predicted_R | 0.573 | 0.000 | 1.000 | Hitting_R | 0.587 | 0.000 | -0.587 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 0.000 | Hitting_RBI | 0.471 | 0.000 | -0.471 | 0.000 |
| predicted_SLG | 0.437 | 0.000 | 0.250 | Hitting_SLG | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_SO | 0.907 | 3.000 | 1.000 | Hitting_SO | 0.844 | 1.000 | 2.156 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9070 -> 3.0000 (boost 2.0930, worse) |
| Biggest Deboost | predicted_H: 1.0400 -> 0.0000 (deboost -1.0400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4370 -> 0.4471 (boost 0.0101, better) | predicted_AB: 4.2900 -> 4.1170 (deboost -0.1730, worse) | Final model input calibrated with local 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.4471 -> 0.4128 (deboost -0.0343, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 0 | 5 | 0 | 5 | - | predicted_RBI: 0.4639 -> 0.0000 (deboost -0.4639, worse) | AB rounded to 4 (raw=4.29), rates preserved: AVG=0.230 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5552 -> 1.0000 (boost 0.4448, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2402 -> 0.2500 (boost 0.0098, better) | predicted_SLG: 0.4128 -> 0.2500 (deboost -0.1628, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4128 (boost 0.1628, better) | predicted_AVG: 0.2500 -> 0.2402 (deboost -0.0098, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.027,
"predicted_AB": 4.29,
"predicted_AVG": 0.243,
"predicted_BB": 0.293,
"predicted_H": 1.04,
"predicted_HR": 0.17,
"predicted_OBP": 0.326,
"predicted_R": 0.573,
"predicted_RBI": 0.51,
"predicted_SLG": 0.437,
"predicted_SO": 0.907
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1385,
"predicted_3B": 0.0295,
"predicted_AB": 4.117,
"predicted_AVG": 0.2511,
"predicted_BB": 0.3252,
"predicted_H": 1.0302,
"predicted_HBP": 0.033,
"predicted_HR": 0.1772,
"predicted_OBP": 0.3282,
"predicted_R": 0.5976,
"predicted_RBI": 0.4994,
"predicted_SLG": 0.4471,
"predicted_SO": 0.9354
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1385,
"delta": 0.0055,
"percent_delta": 0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0295,
"delta": 0.0025,
"percent_delta": 0.0926,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.117,
"delta": -0.173,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2511,
"delta": 0.0081,
"percent_delta": 0.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.293,
"after": 0.3252,
"delta": 0.0322,
"percent_delta": 0.1099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0302,
"delta": -0.0098,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1772,
"delta": 0.0072,
"percent_delta": 0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3282,
"delta": 0.0022,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 0.5976,
"delta": 0.0246,
"percent_delta": 0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.4994,
"delta": -0.0106,
"percent_delta": -0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4471,
"delta": 0.0101,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.907,
"after": 0.9354,
"delta": 0.0284,
"percent_delta": 0.0313,
"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.437,
"after": 0.4471,
"delta": 0.0101,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.29,
"after": 4.117,
"delta": -0.173,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1385,
"predicted_3B": 0.0295,
"predicted_AB": 4.117,
"predicted_AVG": 0.2402,
"predicted_BB": 0.3199,
"predicted_H": 0.9888,
"predicted_HBP": 0.033,
"predicted_HR": 0.1711,
"predicted_OBP": 0.295,
"predicted_R": 0.5552,
"predicted_RBI": 0.4639,
"predicted_SLG": 0.4128,
"predicted_SO": 0.9506
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1385,
"after": 0.1385,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0295,
"after": 0.0295,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.117,
"after": 4.117,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2511,
"after": 0.2402,
"delta": -0.0109,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3252,
"after": 0.3199,
"delta": -0.0053,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0302,
"after": 0.9888,
"delta": -0.0414,
"percent_delta": -0.0402,
"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.1772,
"after": 0.1711,
"delta": -0.0061,
"percent_delta": -0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3282,
"after": 0.295,
"delta": -0.0332,
"percent_delta": -0.1012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5976,
"after": 0.5552,
"delta": -0.0424,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4994,
"after": 0.4639,
"delta": -0.0355,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4471,
"after": 0.4128,
"delta": -0.0343,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9354,
"after": 0.9506,
"delta": 0.0152,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4471,
"after": 0.4128,
"delta": -0.0343,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.29), rates preserved: AVG=0.230 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1385,
"after": 0.0,
"delta": -0.1385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0295,
"after": 0.0,
"delta": -0.0295,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.117,
"after": 4.0,
"delta": -0.117,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3199,
"after": 0.0,
"delta": -0.3199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9888,
"after": 1.0,
"delta": 0.0112,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1711,
"after": 0.0,
"delta": -0.1711,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4639,
"after": 0.0,
"delta": -0.4639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9506,
"after": 1.0,
"delta": 0.0494,
"percent_delta": 0.052,
"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_RBI",
"before": 0.4639,
"after": 0.0,
"delta": -0.4639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5552,
"after": 1.0,
"delta": 0.4448,
"percent_delta": 0.8012,
"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.5552,
"after": 1.0,
"delta": 0.4448,
"percent_delta": 0.8012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2402,
"after": 0.25,
"delta": 0.0098,
"percent_delta": 0.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.25,
"delta": -0.045,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4128,
"after": 0.25,
"delta": -0.1628,
"percent_delta": -0.3944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2402,
"after": 0.25,
"delta": 0.0098,
"percent_delta": 0.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4128,
"after": 0.25,
"delta": -0.1628,
"percent_delta": -0.3944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2402,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4128,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2402,
"delta": -0.0098,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.295,
"delta": 0.045,
"percent_delta": 0.1798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4128,
"delta": 0.1628,
"percent_delta": 0.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4128,
"delta": 0.1628,
"percent_delta": 0.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2402,
"delta": -0.0098,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 5.0,
"delta": 0.71,
"percent_delta": 0.1655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2402,
"delta": -0.0028,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.293,
"after": 0.0,
"delta": -0.293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.295,
"delta": -0.031,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 0.0,
"delta": -0.573,
"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.437,
"after": 0.4128,
"delta": -0.0242,
"percent_delta": -0.0554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.907,
"after": 3.0,
"delta": 2.093,
"percent_delta": 2.3076,
"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.907,
"after": 3.0,
"delta": 2.093,
"percent_delta": 2.3076,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.293 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.573 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.437 | - |
| predicted_SO | 0.907 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | 0.006 |
| predicted_3B | 0.029 | 0.002 |
| predicted_AB | 4.117 | -0.173 |
| predicted_AVG | 0.251 | 0.008 |
| predicted_BB | 0.325 | 0.032 |
| predicted_H | 1.030 | -0.010 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.177 | 0.007 |
| predicted_OBP | 0.328 | 0.002 |
| predicted_R | 0.598 | 0.025 |
| predicted_RBI | 0.499 | -0.011 |
| predicted_SLG | 0.447 | 0.010 |
| predicted_SO | 0.935 | 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.139 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 4.117 | 0.000 |
| predicted_AVG | 0.240 | -0.011 |
| predicted_BB | 0.320 | -0.005 |
| predicted_H | 0.989 | -0.041 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.171 | -0.006 |
| predicted_OBP | 0.295 | -0.033 |
| predicted_R | 0.555 | -0.042 |
| predicted_RBI | 0.464 | -0.036 |
| predicted_SLG | 0.413 | -0.034 |
| predicted_SO | 0.951 | 0.015 |
AB rounded to 4 (raw=4.29), rates preserved: AVG=0.230 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.139 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 4.000 | -0.117 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.000 | -0.320 |
| predicted_H | 1.000 | 0.011 |
| predicted_HR | 0.000 | -0.171 |
| predicted_OBP | 0.250 | -0.045 |
| predicted_R | 1.000 | 0.445 |
| predicted_RBI | 0.000 | -0.464 |
| predicted_SLG | 0.250 | -0.163 |
| 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 | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 3.000 | 6.000 | 0.2632 | 0.3636 | 0.6316 | 0.2632 | 0.1053 | 0.2105 | 0.1579 | 0.3158 |
| last_10 | 0.20 | 10 | - | 43.000 | 12.000 | 1.000 | 1.000 | 2.000 | 4.000 | 7.000 | 4.000 | 10.000 | 0.2791 | 0.3404 | 0.4884 | 0.2791 | 0.0465 | 0.0930 | 0.0930 | 0.2326 |
| season | 0.60 | 75 | - | 283.000 | 73.000 | 10.000 | 2.000 | 9.000 | 30.000 | 43.000 | 22.000 | 68.000 | 0.2580 | 0.3204 | 0.4028 | 0.2580 | 0.0318 | 0.1060 | 0.0777 | 0.2403 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0330 |
| predicted_AB | 3.8820 |
| predicted_AVG | 0.2621 |
| predicted_BB | 0.3690 |
| predicted_H | 1.0170 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1870 |
| predicted_OBP | 0.3313 |
| predicted_R | 0.6310 |
| predicted_RBI | 0.4850 |
| predicted_SLG | 0.4608 |
| predicted_SO | 0.9740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1460 | 0.1385 | model_form_blend |
| predicted_3B | 0.0270 | 0.0330 | 0.0295 | model_form_blend |
| predicted_AB | 4.2900 | 3.8820 | 4.1170 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2621 | 0.2511 | model_form_blend |
| predicted_BB | 0.2930 | 0.3690 | 0.3252 | model_form_blend |
| predicted_H | 1.0400 | 1.0170 | 1.0302 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1700 | 0.1870 | 0.1772 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3313 | 0.3282 | model_form_blend |
| predicted_R | 0.5730 | 0.6310 | 0.5976 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4850 | 0.4994 | model_form_blend |
| predicted_SLG | 0.4370 | 0.4608 | 0.4471 | model_form_blend |
| predicted_SO | 0.9070 | 0.9740 | 0.9354 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 225 |
| Season rows before report date | 225 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.258 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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-RF |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 701807 |
| playerID | 701807 |
| playerName | Carson Benge |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.319 |
| sl_xwoba | 0.347 |
| sl_xba | 0.283 |
| sl_xslg | 0.452 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 42.6 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 21.5 |
| 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_2B | 0.152 | 0.000 | 0.000 | Hitting_2B | 0.132 | 1.000 | -0.132 | -1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.590 | 5.000 | 5.000 | Hitting_AB | 4.135 | 4.000 | 0.865 | 1.000 |
| predicted_AVG | 0.248 | 0.400 | 0.200 | Hitting_AVG | 0.236 | 0.500 | 0.164 | -0.100 |
| predicted_BB | 0.253 | 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 | 1.140 | 2.000 | 1.000 | Hitting_H | 0.977 | 2.000 | 1.023 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.109 | 1.000 | -0.109 | -1.000 |
| predicted_OBP | 0.322 | 0.400 | 0.200 | Hitting_OBP | 0.282 | 0.500 | 0.118 | -0.100 |
| predicted_R | 0.532 | 0.000 | 1.000 | Hitting_R | 0.485 | 1.000 | -0.485 | -1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.560 | 1.000 | -0.560 | -1.000 |
| predicted_SLG | 0.446 | 0.400 | 0.200 | Hitting_SLG | 0.349 | 1.500 | 0.051 | -1.100 |
| predicted_SO | 0.785 | 0.000 | 1.000 | Hitting_SO | 0.786 | 1.000 | -0.786 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 1.1400 -> 2.0000 (boost 0.8600, better) |
| Biggest Deboost | predicted_SO: 0.7850 -> 0.0000 (deboost -0.7850, 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_SO: 0.7850 -> 0.8383 (boost 0.0533, worse) | predicted_AB: 4.5900 -> 4.3532 (deboost -0.2368, worse) | Final model input calibrated with local 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.4611 -> 0.4198 (deboost -0.0413, 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.3532 -> 5.0000 (boost 0.6468, better) | predicted_BB: 0.2426 -> 0.0000 (deboost -0.2426, worse) | AB rounded to 5 (raw=4.59), rates preserved: AVG=0.240 HR/AB=0.039 |
| 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 | 1 | 0 | 1 | 0 | predicted_R: 0.5172 -> 1.0000 (boost 0.4828, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4198 -> 0.2000 (deboost -0.2198, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_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.2000 -> 0.4198 (boost 0.2198, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666182",
"player_name": "Bo Bichette",
"position": "3B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.152,
"predicted_3B": 0.013,
"predicted_AB": 4.59,
"predicted_AVG": 0.248,
"predicted_BB": 0.253,
"predicted_H": 1.14,
"predicted_HR": 0.18,
"predicted_OBP": 0.322,
"predicted_R": 0.532,
"predicted_RBI": 0.58,
"predicted_SLG": 0.446,
"predicted_SO": 0.785
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1682,
"predicted_3B": 0.0109,
"predicted_AB": 4.3532,
"predicted_AVG": 0.2643,
"predicted_BB": 0.2466,
"predicted_H": 1.1464,
"predicted_HBP": 0.01,
"predicted_HR": 0.1855,
"predicted_OBP": 0.3238,
"predicted_R": 0.5567,
"predicted_RBI": 0.571,
"predicted_SLG": 0.4611,
"predicted_SO": 0.8383
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1682,
"delta": 0.0162,
"percent_delta": 0.1066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.59,
"after": 4.3532,
"delta": -0.2368,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2643,
"delta": 0.0163,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.253,
"after": 0.2466,
"delta": -0.0064,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.1464,
"delta": 0.0064,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1855,
"delta": 0.0055,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3238,
"delta": 0.0018,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 0.5567,
"delta": 0.0247,
"percent_delta": 0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.571,
"delta": -0.009,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.446,
"after": 0.4611,
"delta": 0.0151,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.785,
"after": 0.8383,
"delta": 0.0533,
"percent_delta": 0.0679,
"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.785,
"after": 0.8383,
"delta": 0.0533,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.59,
"after": 4.3532,
"delta": -0.2368,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1682,
"predicted_3B": 0.0109,
"predicted_AB": 4.3532,
"predicted_AVG": 0.2528,
"predicted_BB": 0.2426,
"predicted_H": 1.1003,
"predicted_HBP": 0.01,
"predicted_HR": 0.1791,
"predicted_OBP": 0.2922,
"predicted_R": 0.5172,
"predicted_RBI": 0.5305,
"predicted_SLG": 0.4198,
"predicted_SO": 0.852
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1682,
"after": 0.1682,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3532,
"after": 4.3532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2643,
"after": 0.2528,
"delta": -0.0115,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2466,
"after": 0.2426,
"delta": -0.004,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1464,
"after": 1.1003,
"delta": -0.0461,
"percent_delta": -0.0402,
"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.1855,
"after": 0.1791,
"delta": -0.0064,
"percent_delta": -0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3238,
"after": 0.2922,
"delta": -0.0316,
"percent_delta": -0.0976,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5567,
"after": 0.5172,
"delta": -0.0395,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.571,
"after": 0.5305,
"delta": -0.0405,
"percent_delta": -0.0709,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4611,
"after": 0.4198,
"delta": -0.0413,
"percent_delta": -0.0896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8383,
"after": 0.852,
"delta": 0.0137,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4611,
"after": 0.4198,
"delta": -0.0413,
"percent_delta": -0.0896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.59), rates preserved: AVG=0.240 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1682,
"after": 0.0,
"delta": -0.1682,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3532,
"after": 5.0,
"delta": 0.6468,
"percent_delta": 0.1486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2426,
"after": 0.0,
"delta": -0.2426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1003,
"after": 1.0,
"delta": -0.1003,
"percent_delta": -0.0912,
"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.1791,
"after": 0.0,
"delta": -0.1791,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5305,
"after": 1.0,
"delta": 0.4695,
"percent_delta": 0.885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 1.0,
"delta": 0.148,
"percent_delta": 0.1737,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3532,
"after": 5.0,
"delta": 0.6468,
"percent_delta": 0.1486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2426,
"after": 0.0,
"delta": -0.2426,
"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": 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.5172,
"after": 1.0,
"delta": 0.4828,
"percent_delta": 0.9335,
"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.5172,
"after": 1.0,
"delta": 0.4828,
"percent_delta": 0.9335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2528,
"after": 0.2,
"delta": -0.0528,
"percent_delta": -0.2089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2,
"delta": -0.0922,
"percent_delta": -0.3155,
"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.4198,
"after": 0.2,
"delta": -0.2198,
"percent_delta": -0.5236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4198,
"after": 0.2,
"delta": -0.2198,
"percent_delta": -0.5236,
"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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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_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.2528,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.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.4198,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2528,
"delta": 0.0528,
"percent_delta": 0.2638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2922,
"delta": 0.0922,
"percent_delta": 0.461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4198,
"delta": 0.2198,
"percent_delta": 1.0991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4198,
"delta": 0.2198,
"percent_delta": 1.0991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.59,
"after": 5.0,
"delta": 0.41,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2528,
"delta": 0.0048,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 2.0,
"delta": 0.86,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.2922,
"delta": -0.0298,
"percent_delta": -0.0925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.446,
"after": 0.4198,
"delta": -0.0262,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.785,
"after": 0.0,
"delta": -0.785,
"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_H",
"before": 1.14,
"after": 2.0,
"delta": 0.86,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.785,
"after": 0.0,
"delta": -0.785,
"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.013 | - |
| predicted_AB | 4.590 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.253 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.532 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.446 | - |
| predicted_SO | 0.785 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | 0.016 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 4.353 | -0.237 |
| predicted_AVG | 0.264 | 0.016 |
| predicted_BB | 0.247 | -0.006 |
| predicted_H | 1.146 | 0.006 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.185 | 0.006 |
| predicted_OBP | 0.324 | 0.002 |
| predicted_R | 0.557 | 0.025 |
| predicted_RBI | 0.571 | -0.009 |
| predicted_SLG | 0.461 | 0.015 |
| predicted_SO | 0.838 | 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.168 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 4.353 | 0.000 |
| predicted_AVG | 0.253 | -0.011 |
| predicted_BB | 0.243 | -0.004 |
| predicted_H | 1.100 | -0.046 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.179 | -0.006 |
| predicted_OBP | 0.292 | -0.032 |
| predicted_R | 0.517 | -0.039 |
| predicted_RBI | 0.530 | -0.040 |
| predicted_SLG | 0.420 | -0.041 |
| predicted_SO | 0.852 | 0.014 |
AB rounded to 5 (raw=4.59), rates preserved: AVG=0.240 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.168 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 5.000 | 0.647 |
| predicted_AVG | 0.200 | -0.053 |
| predicted_BB | 0.000 | -0.243 |
| predicted_H | 1.000 | -0.100 |
| predicted_HR | 0.000 | -0.179 |
| predicted_OBP | 0.200 | -0.092 |
| predicted_R | 1.000 | 0.483 |
| predicted_RBI | 1.000 | 0.470 |
| predicted_SLG | 0.200 | -0.220 |
| predicted_SO | 1.000 | 0.148 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 1.000 | 0.000 | 2.000 | 3.000 | 3.000 | 1.000 | 6.000 | 0.3158 | 0.3500 | 0.6842 | 0.3158 | 0.1053 | 0.1579 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 43.000 | 16.000 | 3.000 | 0.000 | 2.000 | 5.000 | 8.000 | 2.000 | 10.000 | 0.3721 | 0.4000 | 0.5814 | 0.3721 | 0.0465 | 0.1163 | 0.0465 | 0.2326 |
| season | 0.60 | 79 | - | 320.000 | 81.000 | 12.000 | 1.000 | 10.000 | 45.000 | 42.000 | 20.000 | 62.000 | 0.2531 | 0.2957 | 0.3906 | 0.2531 | 0.0312 | 0.1406 | 0.0625 | 0.1938 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1900 |
| predicted_3B | 0.0080 |
| predicted_AB | 4.0350 |
| predicted_AVG | 0.2863 |
| predicted_BB | 0.2380 |
| predicted_H | 1.1550 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1930 |
| predicted_OBP | 0.3263 |
| predicted_R | 0.5900 |
| predicted_RBI | 0.5590 |
| predicted_SLG | 0.4813 |
| predicted_SO | 0.9100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.1900 | 0.1682 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.5900 | 4.0350 | 4.3532 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2863 | 0.2643 | model_form_blend |
| predicted_BB | 0.2530 | 0.2380 | 0.2466 | model_form_blend |
| predicted_H | 1.1400 | 1.1550 | 1.1464 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1800 | 0.1930 | 0.1855 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3263 | 0.3238 | model_form_blend |
| predicted_R | 0.5320 | 0.5900 | 0.5567 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5590 | 0.5710 | model_form_blend |
| predicted_SLG | 0.4460 | 0.4813 | 0.4611 | model_form_blend |
| predicted_SO | 0.7850 | 0.9100 | 0.8383 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 266 |
| Season rows before report date | 266 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.253 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | 3B |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 666182 |
| playerID | 666182 |
| playerName | Bo Bichette |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.302 |
| sl_xwoba | 0.336 |
| sl_xba | 0.289 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 18.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.136 | 0.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.303 | 3.000 | 3.000 | Hitting_AB | 3.631 | 4.000 | -0.631 | -1.000 |
| predicted_AVG | 0.229 | 0.333 | 0.333 | Hitting_AVG | 0.226 | 0.250 | 0.107 | 0.083 |
| predicted_BB | 0.152 | 1.000 | 0.000 | Hitting_BB | 0.169 | 0.000 | 0.831 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.350 | 1.000 | 1.000 | Hitting_H | 0.821 | 1.000 | 0.179 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.144 | 1.000 | -0.144 | -1.000 |
| predicted_OBP | 0.284 | 0.500 | 0.333 | Hitting_OBP | 0.267 | 0.250 | 0.233 | 0.250 |
| predicted_R | 0.364 | 0.000 | 0.000 | Hitting_R | 0.379 | 1.000 | -0.379 | -1.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.538 | 1.000 | -0.538 | -1.000 |
| predicted_SLG | 0.455 | 0.333 | 0.333 | Hitting_SLG | 0.386 | 1.000 | -0.052 | -0.667 |
| predicted_SO | 0.818 | 1.000 | 1.000 | Hitting_SO | 0.856 | 0.000 | 0.144 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.1520 -> 1.0000 (boost 0.8480, better) |
| Biggest Deboost | predicted_R: 0.3640 -> 0.0000 (deboost -0.3640, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 7 | 1 | 7 | 1 | predicted_H: 0.3500 -> 0.5099 (boost 0.1599, better) | predicted_AB: 3.3030 -> 3.2039 (deboost -0.0991, worse) | Final model input calibrated with local 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.4759 -> 0.3273 (deboost -0.1486, 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.8580 -> 1.0000 (boost 0.1420, worse) | predicted_H: 0.4894 -> 0.0000 (deboost -0.4894, worse) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.148 HR/AB=0.045 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3962 -> 0.0000 (deboost -0.3962, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1528 -> 0.3330 (boost 0.1802, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1528 (deboost -0.1802, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668901",
"player_name": "Mark Vientos",
"position": "1B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.0,
"predicted_AB": 3.303,
"predicted_AVG": 0.229,
"predicted_BB": 0.152,
"predicted_H": 0.35,
"predicted_HR": 0.09,
"predicted_OBP": 0.284,
"predicted_R": 0.364,
"predicted_RBI": 0.26,
"predicted_SLG": 0.455,
"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.1143,
"predicted_3B": 0.0004,
"predicted_AB": 3.2039,
"predicted_AVG": 0.2334,
"predicted_BB": 0.2145,
"predicted_H": 0.5099,
"predicted_HBP": 0.018,
"predicted_HR": 0.1533,
"predicted_OBP": 0.2928,
"predicted_R": 0.4265,
"predicted_RBI": 0.3745,
"predicted_SLG": 0.4759,
"predicted_SO": 0.8442
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1143,
"delta": -0.0217,
"percent_delta": -0.1596,
"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.303,
"after": 3.2039,
"delta": -0.0991,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2334,
"delta": 0.0044,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.152,
"after": 0.2145,
"delta": 0.0625,
"percent_delta": 0.4112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.5099,
"delta": 0.1599,
"percent_delta": 0.4569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1533,
"delta": 0.0633,
"percent_delta": 0.7033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2928,
"delta": 0.0088,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.4265,
"delta": 0.0625,
"percent_delta": 0.1717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.3745,
"delta": 0.1145,
"percent_delta": 0.4404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4759,
"delta": 0.0209,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 0.8442,
"delta": 0.0262,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 7,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.35,
"after": 0.5099,
"delta": 0.1599,
"percent_delta": 0.4569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.303,
"after": 3.2039,
"delta": -0.0991,
"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": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1143,
"predicted_3B": 0.0004,
"predicted_AB": 3.2039,
"predicted_AVG": 0.1528,
"predicted_BB": 0.211,
"predicted_H": 0.4894,
"predicted_HBP": 0.018,
"predicted_HR": 0.148,
"predicted_OBP": 0.2051,
"predicted_R": 0.3962,
"predicted_RBI": 0.3479,
"predicted_SLG": 0.3273,
"predicted_SO": 0.858
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1143,
"after": 0.1143,
"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.2039,
"after": 3.2039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2334,
"after": 0.1528,
"delta": -0.0806,
"percent_delta": -0.3453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2145,
"after": 0.211,
"delta": -0.0035,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5099,
"after": 0.4894,
"delta": -0.0205,
"percent_delta": -0.0402,
"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.1533,
"after": 0.148,
"delta": -0.0053,
"percent_delta": -0.0346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2928,
"after": 0.2051,
"delta": -0.0877,
"percent_delta": -0.2995,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4265,
"after": 0.3962,
"delta": -0.0303,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3745,
"after": 0.3479,
"delta": -0.0266,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4759,
"after": 0.3273,
"delta": -0.1486,
"percent_delta": -0.3123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8442,
"after": 0.858,
"delta": 0.0138,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4759,
"after": 0.3273,
"delta": -0.1486,
"percent_delta": -0.3123,
"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.148 HR/AB=0.045",
"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.1143,
"after": 0.0,
"delta": -0.1143,
"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.2039,
"after": 3.0,
"delta": -0.2039,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4894,
"after": 0.0,
"delta": -0.4894,
"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.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3479,
"after": 0.0,
"delta": -0.3479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.858,
"after": 1.0,
"delta": 0.142,
"percent_delta": 0.1655,
"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.858,
"after": 1.0,
"delta": 0.142,
"percent_delta": 0.1655,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4894,
"after": 0.0,
"delta": -0.4894,
"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": 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.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": 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.3962,
"after": 0.0,
"delta": -0.3962,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3962,
"after": 0.0,
"delta": -0.3962,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1528,
"after": 0.333,
"delta": 0.1802,
"percent_delta": 1.1793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2051,
"after": 0.333,
"delta": 0.1279,
"percent_delta": 0.6236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3273,
"after": 0.333,
"delta": 0.0057,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1528,
"after": 0.333,
"delta": 0.1802,
"percent_delta": 1.1793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.1528,
"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.2051,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3273,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1528,
"delta": -0.1802,
"percent_delta": -0.5413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2051,
"delta": -0.1279,
"percent_delta": -0.3841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3273,
"delta": -0.0057,
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1528,
"delta": -0.1802,
"percent_delta": -0.5413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.303,
"after": 3.0,
"delta": -0.303,
"percent_delta": -0.0917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.1528,
"delta": -0.0762,
"percent_delta": -0.3328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.152,
"after": 1.0,
"delta": 0.848,
"percent_delta": 5.5789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2051,
"delta": -0.0789,
"percent_delta": -0.2778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.3273,
"delta": -0.1277,
"percent_delta": -0.2807,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 1.0,
"delta": 0.182,
"percent_delta": 0.2225,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.152,
"after": 1.0,
"delta": 0.848,
"percent_delta": 5.5789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.303 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.152 | - |
| predicted_H | 0.350 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.364 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.455 | - |
| 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.114 | -0.022 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.204 | -0.099 |
| predicted_AVG | 0.233 | 0.004 |
| predicted_BB | 0.214 | 0.062 |
| predicted_H | 0.510 | 0.160 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.153 | 0.063 |
| predicted_OBP | 0.293 | 0.009 |
| predicted_R | 0.426 | 0.062 |
| predicted_RBI | 0.374 | 0.114 |
| predicted_SLG | 0.476 | 0.021 |
| predicted_SO | 0.844 | 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.114 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.204 | 0.000 |
| predicted_AVG | 0.153 | -0.081 |
| predicted_BB | 0.211 | -0.004 |
| predicted_H | 0.489 | -0.021 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.148 | -0.005 |
| predicted_OBP | 0.205 | -0.088 |
| predicted_R | 0.396 | -0.030 |
| predicted_RBI | 0.348 | -0.027 |
| predicted_SLG | 0.327 | -0.149 |
| predicted_SO | 0.858 | 0.014 |
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.148 HR/AB=0.045
| 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 | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.114 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.204 |
| predicted_AVG | 0.333 | 0.180 |
| predicted_BB | 0.000 | -0.211 |
| predicted_H | 1.000 | 0.511 |
| predicted_HR | 0.000 | -0.148 |
| predicted_OBP | 0.333 | 0.128 |
| predicted_R | 0.000 | -0.396 |
| predicted_RBI | 0.000 | -0.348 |
| predicted_SLG | 0.333 | 0.006 |
| predicted_SO | 1.000 | 0.142 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 3.000 | 0.000 | 0.000 | 2.000 | 2.000 | 4.000 | 3.000 | 5.000 | 0.2500 | 0.4000 | 0.7500 | 0.2500 | 0.1667 | 0.1667 | 0.2500 | 0.4167 |
| last_10 | 0.20 | 10 | - | 25.000 | 7.000 | 0.000 | 0.000 | 3.000 | 7.000 | 5.000 | 3.000 | 8.000 | 0.2800 | 0.3448 | 0.6400 | 0.2800 | 0.1200 | 0.2800 | 0.1200 | 0.3200 |
| season | 0.60 | 66 | - | 218.000 | 48.000 | 9.000 | 0.000 | 10.000 | 33.000 | 24.000 | 10.000 | 54.000 | 0.2202 | 0.2586 | 0.3991 | 0.2202 | 0.0459 | 0.1514 | 0.0459 | 0.2477 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0840 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0650 |
| predicted_AVG | 0.2395 |
| predicted_BB | 0.3020 |
| predicted_H | 0.7340 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.2420 |
| predicted_OBP | 0.3052 |
| predicted_R | 0.5140 |
| predicted_RBI | 0.5350 |
| predicted_SLG | 0.5052 |
| predicted_SO | 0.8810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.0840 | 0.1143 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3030 | 3.0650 | 3.2039 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2395 | 0.2334 | model_form_blend |
| predicted_BB | 0.1520 | 0.3020 | 0.2145 | model_form_blend |
| predicted_H | 0.3500 | 0.7340 | 0.5099 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0900 | 0.2420 | 0.1533 | model_form_blend |
| predicted_OBP | 0.2840 | 0.3052 | 0.2928 | model_form_blend |
| predicted_R | 0.3640 | 0.5140 | 0.4265 | model_form_blend |
| predicted_RBI | 0.2600 | 0.5350 | 0.3745 | model_form_blend |
| predicted_SLG | 0.4550 | 0.5052 | 0.4759 | model_form_blend |
| predicted_SO | 0.8180 | 0.8810 | 0.8442 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 195 |
| Season rows before report date | 195 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 2 |
| 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 | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 668901 |
| playerID | 668901 |
| playerName | Mark Vientos |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 4.3 |
| sl_woba | 0.285 |
| sl_xwoba | 0.318 |
| sl_xba | 0.245 |
| sl_xslg | 0.464 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 55.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 3.200 | 4.000 | 3.000 | Hitting_AB | 3.438 | 3.000 | 0.562 | 1.000 |
| predicted_AVG | 0.219 | 0.250 | 0.333 | Hitting_AVG | 0.182 | 0.333 | 0.068 | -0.083 |
| 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.300 | 1.000 | 1.000 | Hitting_H | 0.625 | 1.000 | 0.375 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.244 | 0.250 | 0.333 | Hitting_OBP | 0.182 | 0.333 | 0.068 | -0.083 |
| predicted_R | 0.300 | 0.000 | 0.000 | Hitting_R | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_SLG | 0.358 | 0.500 | 0.333 | Hitting_SLG | 0.264 | 0.333 | 0.236 | 0.167 |
| predicted_SO | 1.200 | 0.000 | 1.000 | Hitting_SO | 1.344 | 2.000 | -1.344 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 1.2000 -> 0.0000 (deboost -1.2000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_H: 0.3000 -> 0.4542 (boost 0.1542, 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.3602 -> 0.2081 (deboost -0.1521, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 0 | 5 | 1 | 4 | - | predicted_H: 0.4359 -> 0.0000 (deboost -0.4359, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.131 HR/AB=0.023 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3128 -> 0.0000 (deboost -0.3128, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1309 -> 0.3330 (boost 0.2021, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1309 (deboost -0.2021, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677595",
"player_name": "Ronny Mauricio",
"position": "SS",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.2,
"predicted_AVG": 0.219,
"predicted_BB": 0.0,
"predicted_H": 0.3,
"predicted_HR": 0.05,
"predicted_OBP": 0.244,
"predicted_R": 0.3,
"predicted_RBI": 0.17,
"predicted_SLG": 0.358,
"predicted_SO": 1.2
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0265,
"predicted_3B": 0.0022,
"predicted_AB": 3.3308,
"predicted_AVG": 0.2195,
"predicted_BB": 0.0413,
"predicted_H": 0.4542,
"predicted_HBP": 0.016,
"predicted_HR": 0.0781,
"predicted_OBP": 0.2462,
"predicted_R": 0.3367,
"predicted_RBI": 0.2227,
"predicted_SLG": 0.3602,
"predicted_SO": 1.1698
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0265,
"delta": 0.0265,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0022,
"delta": 0.0022,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2,
"after": 3.3308,
"delta": 0.1308,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2195,
"delta": 0.0005,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0413,
"delta": 0.0413,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.4542,
"delta": 0.1542,
"percent_delta": 0.514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0781,
"delta": 0.0281,
"percent_delta": 0.562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.244,
"after": 0.2462,
"delta": 0.0022,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 0.3367,
"delta": 0.0367,
"percent_delta": 0.1223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2227,
"delta": 0.0527,
"percent_delta": 0.31,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3602,
"delta": 0.0022,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2,
"after": 1.1698,
"delta": -0.0302,
"percent_delta": -0.0252,
"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.3,
"after": 0.4542,
"delta": 0.1542,
"percent_delta": 0.514,
"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": 10
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0265,
"predicted_3B": 0.0022,
"predicted_AB": 3.3308,
"predicted_AVG": 0.1309,
"predicted_BB": 0.0406,
"predicted_H": 0.4359,
"predicted_HBP": 0.016,
"predicted_HR": 0.0754,
"predicted_OBP": 0.1414,
"predicted_R": 0.3128,
"predicted_RBI": 0.2069,
"predicted_SLG": 0.2081,
"predicted_SO": 1.1889
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0265,
"after": 0.0265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0022,
"after": 0.0022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3308,
"after": 3.3308,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2195,
"after": 0.1309,
"delta": -0.0886,
"percent_delta": -0.4036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0413,
"after": 0.0406,
"delta": -0.0007,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4542,
"after": 0.4359,
"delta": -0.0183,
"percent_delta": -0.0403,
"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.0781,
"after": 0.0754,
"delta": -0.0027,
"percent_delta": -0.0346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2462,
"after": 0.1414,
"delta": -0.1048,
"percent_delta": -0.4257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3367,
"after": 0.3128,
"delta": -0.0239,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2227,
"after": 0.2069,
"delta": -0.0158,
"percent_delta": -0.0709,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3602,
"after": 0.2081,
"delta": -0.1521,
"percent_delta": -0.4223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1698,
"after": 1.1889,
"delta": 0.0191,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3602,
"after": 0.2081,
"delta": -0.1521,
"percent_delta": -0.4223,
"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.131 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0265,
"after": 0.0,
"delta": -0.0265,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0022,
"after": 0.0,
"delta": -0.0022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3308,
"after": 3.0,
"delta": -0.3308,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0406,
"after": 0.0,
"delta": -0.0406,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4359,
"after": 0.0,
"delta": -0.4359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0754,
"after": 0.0,
"delta": -0.0754,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2069,
"after": 0.0,
"delta": -0.2069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1889,
"after": 1.0,
"delta": -0.1889,
"percent_delta": -0.1589,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4359,
"after": 0.0,
"delta": -0.4359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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.3128,
"after": 0.0,
"delta": -0.3128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3128,
"after": 0.0,
"delta": -0.3128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1309,
"after": 0.333,
"delta": 0.2021,
"percent_delta": 1.5439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1414,
"after": 0.333,
"delta": 0.1916,
"percent_delta": 1.355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2081,
"after": 0.333,
"delta": 0.1249,
"percent_delta": 0.6002,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1309,
"after": 0.333,
"delta": 0.2021,
"percent_delta": 1.5439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1309,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1414,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2081,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1309,
"delta": -0.2021,
"percent_delta": -0.607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1414,
"delta": -0.1916,
"percent_delta": -0.5755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2081,
"delta": -0.1249,
"percent_delta": -0.3752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1309,
"delta": -0.2021,
"percent_delta": -0.607,
"direction": "deboost",
"projection_effect": "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": 3.2,
"after": 4.0,
"delta": 0.8,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.1309,
"delta": -0.0881,
"percent_delta": -0.4023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.244,
"after": 0.1414,
"delta": -0.1026,
"percent_delta": -0.4205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.2081,
"delta": -0.1499,
"percent_delta": -0.4187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2,
"after": 0.0,
"delta": -1.2,
"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_SO",
"before": 1.2,
"after": 0.0,
"delta": -1.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.200 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.244 | - |
| predicted_R | 0.300 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 1.200 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.026 | 0.026 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.331 | 0.131 |
| predicted_AVG | 0.220 | 0.001 |
| predicted_BB | 0.041 | 0.041 |
| predicted_H | 0.454 | 0.154 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.078 | 0.028 |
| predicted_OBP | 0.246 | 0.002 |
| predicted_R | 0.337 | 0.037 |
| predicted_RBI | 0.223 | 0.053 |
| predicted_SLG | 0.360 | 0.002 |
| predicted_SO | 1.170 | -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.026 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.331 | 0.000 |
| predicted_AVG | 0.131 | -0.089 |
| predicted_BB | 0.041 | -0.001 |
| predicted_H | 0.436 | -0.018 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.075 | -0.003 |
| predicted_OBP | 0.141 | -0.105 |
| predicted_R | 0.313 | -0.024 |
| predicted_RBI | 0.207 | -0.016 |
| predicted_SLG | 0.208 | -0.152 |
| predicted_SO | 1.189 | 0.019 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.131 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.026 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.331 |
| predicted_AVG | 0.333 | 0.202 |
| predicted_BB | 0.000 | -0.041 |
| predicted_H | 1.000 | 0.564 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.333 | 0.192 |
| predicted_R | 0.000 | -0.313 |
| predicted_RBI | 0.000 | -0.207 |
| predicted_SLG | 0.333 | 0.125 |
| predicted_SO | 1.000 | -0.189 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.000 | 7.000 | 0.1667 | 0.1667 | 0.3333 | 0.1667 | 0.0556 | 0.0556 | 0.0000 | 0.3889 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 12.000 | 0.2188 | 0.2188 | 0.3125 | 0.2188 | 0.0312 | 0.0625 | 0.0000 | 0.3750 |
| season | 0.60 | 10 | - | 32.000 | 7.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 12.000 | 0.2188 | 0.2188 | 0.3125 | 0.2188 | 0.0312 | 0.0625 | 0.0000 | 0.3750 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.6240 |
| predicted_AVG | 0.2207 |
| predicted_BB | 0.1340 |
| predicted_H | 0.8000 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1410 |
| predicted_OBP | 0.2510 |
| predicted_R | 0.4190 |
| predicted_RBI | 0.3410 |
| predicted_SLG | 0.3651 |
| predicted_SO | 1.1020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0860 | 0.0265 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0022 | model_form_blend |
| predicted_AB | 3.2000 | 3.6240 | 3.3308 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2207 | 0.2195 | model_form_blend |
| predicted_BB | 0.0000 | 0.1340 | 0.0413 | model_form_blend |
| predicted_H | 0.3000 | 0.8000 | 0.4542 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0500 | 0.1410 | 0.0781 | model_form_blend |
| predicted_OBP | 0.2440 | 0.2510 | 0.2462 | model_form_blend |
| predicted_R | 0.3000 | 0.4190 | 0.3367 | model_form_blend |
| predicted_RBI | 0.1700 | 0.3410 | 0.2227 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3651 | 0.3602 | model_form_blend |
| predicted_SO | 1.2000 | 1.1020 | 1.1698 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 10 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.219 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260502_NYM@LAA |
| game_type | full |
| mlbID | 677595 |
| playerID | 677595 |
| playerName | Ronny Mauricio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-02 |
| game_pk | 824042.0 |
| sl_k_percent | 37.5 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.231 |
| sl_xwoba | 0.224 |
| sl_xba | 0.197 |
| sl_xslg | 0.33 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 35.0 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 4.9 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 63.9 |
| at_bat_number | 54.0 |
| ab_pitcher | 672282.0 |
| ab_pitcher_name | Detmers, Reid |
| ab_home_team | LAA |
| ab_away_team | NYM |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 596103.0 |
| ab_on_2b_start | 621438.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 3.0 |
| ab_event | single |
| ab_event_description | Mets challenged (play at 1st), call on the field was overturned: Ronny Mauricio singles on a ground ball to first baseman Nolan Schanuel. Tyrone Taylor to 3rd. Austin Slater to 2nd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 87.8 |
| ab_launch_angle_last | -58.0 |
| ab_hit_distance_last | 2.0 |
| ab_estimated_ba_last | 0.317 |
| ab_estimated_woba_last | 0.311 |
| ab_estimated_slg_last | 0.319 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 77.3 |
| ab_release_spin_rate_avg | 2443.75 |
| ab_effective_speed_avg | 76.95 |
| ab_launch_speed_avg | 72.9 |
| ab_launch_angle_avg | -38.0 |
| ab_delta_run_exp_avg | 0.1195 |
| ab_delta_home_win_exp_avg | -0.02375 |
| ab_delta_pitcher_run_exp_avg | -0.1195 |
| ab_bat_speed_avg | 75.83333333333333 |
| ab_swing_length_avg | 7.566666666666667 |
| ab_launch_speed_max | 87.8 |
| ab_hit_distance_sc_max | 8.0 |
| ab_release_speed_max | 86.1 |
| ab_release_spin_rate_max | 2532.0 |
| ab_release_speed_min | 69.3 |
| ab_release_spin_rate_min | 2313.0 |
| ab_delta_run_exp_sum | 0.478 |
| ab_delta_home_win_exp_sum | -0.095 |
| ab_delta_pitcher_run_exp_sum | -0.478 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.175 | 0.000 | 0.000 | Hitting_2B | 0.083 | 1.000 | -0.083 | -1.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_AB | 3.440 | 3.000 | 3.000 | Hitting_AB | 3.417 | 3.000 | -0.417 | 0.000 |
| predicted_AVG | 0.253 | 0.333 | 0.333 | Hitting_AVG | 0.265 | 0.667 | 0.069 | -0.333 |
| predicted_BB | 0.425 | 1.000 | 0.000 | Hitting_BB | 0.560 | 1.000 | 0.440 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.905 | 2.000 | 0.095 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.071 | 1.000 | -0.071 | -1.000 |
| predicted_OBP | 0.335 | 0.500 | 0.333 | Hitting_OBP | 0.367 | 0.750 | 0.133 | -0.250 |
| predicted_R | 0.375 | 1.000 | 0.000 | Hitting_R | 0.452 | 1.000 | 0.548 | 0.000 |
| predicted_RBI | 0.500 | 1.000 | 0.000 | Hitting_RBI | 0.369 | 2.000 | 0.631 | -1.000 |
| predicted_SLG | 0.431 | 0.333 | 0.333 | Hitting_SLG | 0.387 | 2.000 | -0.053 | -1.667 |
| predicted_SO | 1.025 | 1.000 | 1.000 | Hitting_SO | 1.155 | 0.000 | -0.155 | 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_R: 0.3750 -> 1.0000 (boost 0.6250, better) |
| Biggest Deboost | predicted_AB: 3.4400 -> 3.0000 (deboost -0.4400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 3 | 0 | predicted_SLG: 0.4310 -> 0.4399 (boost 0.0089, better) | predicted_SO: 1.0250 -> 0.9197 (deboost -0.1053, 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.4399 -> 0.4209 (deboost -0.0190, 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.8466 -> 1.0000 (boost 0.1534, better) | predicted_RBI: 0.4678 -> 0.0000 (deboost -0.4678, worse) | AB rounded to 3 (raw=3.44), rates preserved: AVG=0.246 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3391 -> 0.0000 (deboost -0.3391, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2477 -> 0.3330 (boost 0.0853, better) | predicted_SLG: 0.4209 -> 0.3330 (deboost -0.0879, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4209 (boost 0.0879, better) | predicted_AVG: 0.3330 -> 0.2477 (deboost -0.0853, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805999",
"player_name": "A.J. Ewing",
"position": "CF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.175,
"predicted_3B": 0.025,
"predicted_AB": 3.44,
"predicted_AVG": 0.253,
"predicted_BB": 0.425,
"predicted_H": 0.87,
"predicted_HR": 0.12,
"predicted_OBP": 0.335,
"predicted_R": 0.375,
"predicted_RBI": 0.5,
"predicted_SLG": 0.431,
"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.1931,
"predicted_3B": 0.021,
"predicted_AB": 3.4179,
"predicted_AVG": 0.2582,
"predicted_BB": 0.4214,
"predicted_H": 0.8821,
"predicted_HBP": 0.005,
"predicted_HR": 0.1232,
"predicted_OBP": 0.3395,
"predicted_R": 0.365,
"predicted_RBI": 0.5036,
"predicted_SLG": 0.4399,
"predicted_SO": 0.9197
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.175,
"after": 0.1931,
"delta": 0.0181,
"percent_delta": 0.1034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.021,
"delta": -0.004,
"percent_delta": -0.16,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.44,
"after": 3.4179,
"delta": -0.0221,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2582,
"delta": 0.0052,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 0.4214,
"delta": -0.0036,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8821,
"delta": 0.0121,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1232,
"delta": 0.0032,
"percent_delta": 0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3395,
"delta": 0.0045,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.365,
"delta": -0.01,
"percent_delta": -0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5036,
"delta": 0.0036,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4399,
"delta": 0.0089,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.025,
"after": 0.9197,
"delta": -0.1053,
"percent_delta": -0.1027,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4399,
"delta": 0.0089,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.025,
"after": 0.9197,
"delta": -0.1053,
"percent_delta": -0.1027,
"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": 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.1931,
"predicted_3B": 0.021,
"predicted_AB": 3.4179,
"predicted_AVG": 0.2477,
"predicted_BB": 0.4145,
"predicted_H": 0.8466,
"predicted_HBP": 0.005,
"predicted_HR": 0.1189,
"predicted_OBP": 0.3291,
"predicted_R": 0.3391,
"predicted_RBI": 0.4678,
"predicted_SLG": 0.4209,
"predicted_SO": 0.9347
},
"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.021,
"after": 0.021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4179,
"after": 3.4179,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2582,
"after": 0.2477,
"delta": -0.0105,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4214,
"after": 0.4145,
"delta": -0.0069,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8821,
"after": 0.8466,
"delta": -0.0355,
"percent_delta": -0.0402,
"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.1232,
"after": 0.1189,
"delta": -0.0043,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3395,
"after": 0.3291,
"delta": -0.0104,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.365,
"after": 0.3391,
"delta": -0.0259,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5036,
"after": 0.4678,
"delta": -0.0358,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4399,
"after": 0.4209,
"delta": -0.019,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9197,
"after": 0.9347,
"delta": 0.015,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4399,
"after": 0.4209,
"delta": -0.019,
"percent_delta": -0.0432,
"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.246 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.1931,
"after": 0.0,
"delta": -0.1931,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4179,
"after": 3.0,
"delta": -0.4179,
"percent_delta": -0.1223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4145,
"after": 0.0,
"delta": -0.4145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8466,
"after": 1.0,
"delta": 0.1534,
"percent_delta": 0.1812,
"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.1189,
"after": 0.0,
"delta": -0.1189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4678,
"after": 0.0,
"delta": -0.4678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9347,
"after": 1.0,
"delta": 0.0653,
"percent_delta": 0.0699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8466,
"after": 1.0,
"delta": 0.1534,
"percent_delta": 0.1812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4678,
"after": 0.0,
"delta": -0.4678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3391,
"after": 0.0,
"delta": -0.3391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3391,
"after": 0.0,
"delta": -0.3391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2477,
"after": 0.333,
"delta": 0.0853,
"percent_delta": 0.3444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3291,
"after": 0.333,
"delta": 0.0039,
"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.4209,
"after": 0.333,
"delta": -0.0879,
"percent_delta": -0.2088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2477,
"after": 0.333,
"delta": 0.0853,
"percent_delta": 0.3444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4209,
"after": 0.333,
"delta": -0.0879,
"percent_delta": -0.2088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2477,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3291,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4209,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2477,
"delta": -0.0853,
"percent_delta": -0.2561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3291,
"delta": -0.0039,
"percent_delta": -0.0118,
"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.333,
"after": 0.4209,
"delta": 0.0879,
"percent_delta": 0.2639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4209,
"delta": 0.0879,
"percent_delta": 0.2639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2477,
"delta": -0.0853,
"percent_delta": -0.2561,
"direction": "deboost",
"projection_effect": "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.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.44,
"after": 3.0,
"delta": -0.44,
"percent_delta": -0.1279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2477,
"delta": -0.0053,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 1.0,
"delta": 0.575,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"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.335,
"after": 0.3291,
"delta": -0.0059,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4209,
"delta": -0.0101,
"percent_delta": -0.0234,
"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": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.44,
"after": 3.0,
"delta": -0.44,
"percent_delta": -0.1279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.025 | - |
| predicted_AB | 3.440 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.425 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.375 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.431 | - |
| 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.193 | 0.018 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.418 | -0.022 |
| predicted_AVG | 0.258 | 0.005 |
| predicted_BB | 0.421 | -0.004 |
| predicted_H | 0.882 | 0.012 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.123 | 0.003 |
| predicted_OBP | 0.340 | 0.005 |
| predicted_R | 0.365 | -0.010 |
| predicted_RBI | 0.504 | 0.004 |
| predicted_SLG | 0.440 | 0.009 |
| predicted_SO | 0.920 | -0.105 |
Step 3: 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.021 | 0.000 |
| predicted_AB | 3.418 | 0.000 |
| predicted_AVG | 0.248 | -0.010 |
| predicted_BB | 0.414 | -0.007 |
| predicted_H | 0.847 | -0.035 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.119 | -0.004 |
| predicted_OBP | 0.329 | -0.010 |
| predicted_R | 0.339 | -0.026 |
| predicted_RBI | 0.468 | -0.036 |
| predicted_SLG | 0.421 | -0.019 |
| predicted_SO | 0.935 | 0.015 |
AB rounded to 3 (raw=3.44), rates preserved: AVG=0.246 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.193 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | -0.418 |
| predicted_AVG | 0.333 | 0.085 |
| predicted_BB | 0.000 | -0.414 |
| predicted_H | 1.000 | 0.153 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.333 | 0.004 |
| predicted_R | 0.000 | -0.339 |
| predicted_RBI | 0.000 | -0.468 |
| predicted_SLG | 0.333 | -0.088 |
| predicted_SO | 1.000 | 0.065 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 1.000 | 0.2667 | 0.3529 | 0.5333 | 0.2667 | 0.0667 | 0.2000 | 0.1333 | 0.0667 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 4.000 | 0.000 | 2.000 | 8.000 | 3.000 | 5.000 | 5.000 | 0.2941 | 0.3846 | 0.5882 | 0.2941 | 0.0588 | 0.2353 | 0.1471 | 0.1471 |
| season | 0.60 | 40 | - | 134.000 | 35.000 | 7.000 | 1.000 | 3.000 | 15.000 | 15.000 | 17.000 | 41.000 | 0.2612 | 0.3421 | 0.3955 | 0.2612 | 0.0224 | 0.1119 | 0.1269 | 0.3060 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.3850 |
| predicted_AVG | 0.2659 |
| predicted_BB | 0.4160 |
| predicted_H | 0.9000 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1280 |
| predicted_OBP | 0.3462 |
| predicted_R | 0.3500 |
| predicted_RBI | 0.5090 |
| predicted_SLG | 0.4531 |
| predicted_SO | 0.7630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1750 | 0.2200 | 0.1931 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0210 | model_form_blend |
| predicted_AB | 3.4400 | 3.3850 | 3.4179 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2659 | 0.2582 | model_form_blend |
| predicted_BB | 0.4250 | 0.4160 | 0.4214 | model_form_blend |
| predicted_H | 0.8700 | 0.9000 | 0.8821 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1200 | 0.1280 | 0.1232 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3462 | 0.3395 | model_form_blend |
| predicted_R | 0.3750 | 0.3500 | 0.3650 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5090 | 0.5036 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4531 | 0.4399 | model_form_blend |
| predicted_SO | 1.0250 | 0.7630 | 0.9197 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 84 |
| Season rows before report date | 84 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 1 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| 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 | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 805999 |
| playerID | 805999 |
| playerName | A.J. Ewing |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.328 |
| sl_xwoba | 0.344 |
| sl_xba | 0.277 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 14.2 |
| sl_whiff_percent | 22.1 |
| 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.104 | 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.410 | 4.000 | 3.000 | Hitting_AB | 3.399 | 4.000 | 0.601 | 0.000 |
| predicted_AVG | 0.259 | 0.500 | 0.333 | Hitting_AVG | 0.243 | 0.250 | 0.257 | 0.250 |
| predicted_BB | 0.292 | 0.000 | 0.000 | Hitting_BB | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 2.000 | 1.000 | Hitting_H | 0.825 | 1.000 | 1.175 | 1.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.161 | 1.000 | -0.161 | -1.000 |
| predicted_OBP | 0.331 | 0.500 | 0.333 | Hitting_OBP | 0.317 | 0.250 | 0.183 | 0.250 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.371 | 1.000 | 0.629 | 0.000 |
| predicted_RBI | 0.500 | 1.000 | 0.000 | Hitting_RBI | 0.357 | 1.000 | 0.643 | 0.000 |
| predicted_SLG | 0.480 | 0.500 | 0.333 | Hitting_SLG | 0.416 | 1.000 | 0.084 | -0.500 |
| predicted_SO | 0.896 | 1.000 | 1.000 | Hitting_SO | 0.860 | 2.000 | 0.140 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.8900 -> 2.0000 (boost 1.1100, better) |
| Biggest Deboost | predicted_BB: 0.2920 -> 0.0000 (deboost -0.2920, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4800 -> 0.4988 (boost 0.0188, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4988 -> 0.4791 (deboost -0.0197, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.8918 -> 1.0000 (boost 0.1082, better) | predicted_RBI: 0.4773 -> 0.0000 (deboost -0.4773, worse) | AB rounded to 3 (raw=3.45), rates preserved: AVG=0.259 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3393 -> 0.0000 (deboost -0.3393, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2588 -> 0.3330 (boost 0.0742, better) | predicted_SLG: 0.4791 -> 0.3330 (deboost -0.1461, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4791 (boost 0.1461, better) | predicted_AVG: 0.3330 -> 0.2588 (deboost -0.0742, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682626",
"player_name": "Francisco Alvarez",
"position": "C",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.104,
"predicted_3B": 0.0,
"predicted_AB": 3.41,
"predicted_AVG": 0.259,
"predicted_BB": 0.292,
"predicted_H": 0.89,
"predicted_HR": 0.21,
"predicted_OBP": 0.331,
"predicted_R": 0.333,
"predicted_RBI": 0.5,
"predicted_SLG": 0.48,
"predicted_SO": 0.896
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.095,
"predicted_3B": 0.0008,
"predicted_AB": 3.4458,
"predicted_AVG": 0.2683,
"predicted_BB": 0.2871,
"predicted_H": 0.9291,
"predicted_HBP": 0.027,
"predicted_HR": 0.2287,
"predicted_OBP": 0.3345,
"predicted_R": 0.3652,
"predicted_RBI": 0.5138,
"predicted_SLG": 0.4988,
"predicted_SO": 0.9424
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.095,
"delta": -0.009,
"percent_delta": -0.0865,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.41,
"after": 3.4458,
"delta": 0.0358,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2683,
"delta": 0.0093,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.2871,
"delta": -0.0049,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9291,
"delta": 0.0391,
"percent_delta": 0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.2287,
"delta": 0.0187,
"percent_delta": 0.089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3345,
"delta": 0.0035,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3652,
"delta": 0.0322,
"percent_delta": 0.0967,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5138,
"delta": 0.0138,
"percent_delta": 0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4988,
"delta": 0.0188,
"percent_delta": 0.0392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.896,
"after": 0.9424,
"delta": 0.0464,
"percent_delta": 0.0518,
"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.48,
"after": 0.4988,
"delta": 0.0188,
"percent_delta": 0.0392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 48
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.095,
"predicted_3B": 0.0008,
"predicted_AB": 3.4458,
"predicted_AVG": 0.2588,
"predicted_BB": 0.2824,
"predicted_H": 0.8918,
"predicted_HBP": 0.027,
"predicted_HR": 0.2208,
"predicted_OBP": 0.3149,
"predicted_R": 0.3393,
"predicted_RBI": 0.4773,
"predicted_SLG": 0.4791,
"predicted_SO": 0.9578
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.095,
"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.4458,
"after": 3.4458,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2683,
"after": 0.2588,
"delta": -0.0095,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2871,
"after": 0.2824,
"delta": -0.0047,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9291,
"after": 0.8918,
"delta": -0.0373,
"percent_delta": -0.0401,
"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.2287,
"after": 0.2208,
"delta": -0.0079,
"percent_delta": -0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3345,
"after": 0.3149,
"delta": -0.0196,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3652,
"after": 0.3393,
"delta": -0.0259,
"percent_delta": -0.0709,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5138,
"after": 0.4773,
"delta": -0.0365,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4988,
"after": 0.4791,
"delta": -0.0197,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9424,
"after": 0.9578,
"delta": 0.0154,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4988,
"after": 0.4791,
"delta": -0.0197,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.45), rates preserved: AVG=0.259 HR/AB=0.064",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"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.4458,
"after": 3.0,
"delta": -0.4458,
"percent_delta": -0.1294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2824,
"after": 0.0,
"delta": -0.2824,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8918,
"after": 1.0,
"delta": 0.1082,
"percent_delta": 0.1213,
"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.2208,
"after": 0.0,
"delta": -0.2208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4773,
"after": 0.0,
"delta": -0.4773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9578,
"after": 1.0,
"delta": 0.0422,
"percent_delta": 0.0441,
"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.8918,
"after": 1.0,
"delta": 0.1082,
"percent_delta": 0.1213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4773,
"after": 0.0,
"delta": -0.4773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3393,
"after": 0.0,
"delta": -0.3393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3393,
"after": 0.0,
"delta": -0.3393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2588,
"after": 0.333,
"delta": 0.0742,
"percent_delta": 0.2867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3149,
"after": 0.333,
"delta": 0.0181,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4791,
"after": 0.333,
"delta": -0.1461,
"percent_delta": -0.3049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2588,
"after": 0.333,
"delta": 0.0742,
"percent_delta": 0.2867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4791,
"after": 0.333,
"delta": -0.1461,
"percent_delta": -0.3049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2588,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3149,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4791,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2588,
"delta": -0.0742,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.3149,
"delta": -0.0181,
"percent_delta": -0.0542,
"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.4791,
"delta": 0.1461,
"percent_delta": 0.4386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4791,
"delta": 0.1461,
"percent_delta": 0.4386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2588,
"delta": -0.0742,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.41,
"after": 4.0,
"delta": 0.59,
"percent_delta": 0.173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2588,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"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.331,
"after": 0.3149,
"delta": -0.0161,
"percent_delta": -0.0486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4791,
"delta": -0.0009,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.896,
"after": 1.0,
"delta": 0.104,
"percent_delta": 0.1161,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.410 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.292 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.480 | - |
| predicted_SO | 0.896 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.009 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.446 | 0.036 |
| predicted_AVG | 0.268 | 0.009 |
| predicted_BB | 0.287 | -0.005 |
| predicted_H | 0.929 | 0.039 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.229 | 0.019 |
| predicted_OBP | 0.335 | 0.004 |
| predicted_R | 0.365 | 0.032 |
| predicted_RBI | 0.514 | 0.014 |
| predicted_SLG | 0.499 | 0.019 |
| predicted_SO | 0.942 | 0.046 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.095 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.446 | 0.000 |
| predicted_AVG | 0.259 | -0.010 |
| predicted_BB | 0.282 | -0.005 |
| predicted_H | 0.892 | -0.037 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.221 | -0.008 |
| predicted_OBP | 0.315 | -0.020 |
| predicted_R | 0.339 | -0.026 |
| predicted_RBI | 0.477 | -0.037 |
| predicted_SLG | 0.479 | -0.020 |
| predicted_SO | 0.958 | 0.015 |
AB rounded to 3 (raw=3.45), rates preserved: AVG=0.259 HR/AB=0.064
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.095 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.446 |
| predicted_AVG | 0.333 | 0.074 |
| predicted_BB | 0.000 | -0.282 |
| predicted_H | 1.000 | 0.108 |
| predicted_HR | 0.000 | -0.221 |
| predicted_OBP | 0.333 | 0.018 |
| predicted_R | 0.000 | -0.339 |
| predicted_RBI | 0.000 | -0.477 |
| predicted_SLG | 0.333 | -0.146 |
| 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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 0.000 | 0.000 | 3.000 | 5.000 | 3.000 | 1.000 | 7.000 | 0.3333 | 0.3684 | 0.8333 | 0.3333 | 0.1667 | 0.2778 | 0.0556 | 0.3889 |
| last_10 | 0.20 | 10 | - | 37.000 | 12.000 | 0.000 | 0.000 | 3.000 | 6.000 | 4.000 | 3.000 | 11.000 | 0.3243 | 0.3750 | 0.5676 | 0.3243 | 0.0811 | 0.1622 | 0.0811 | 0.2973 |
| season | 0.60 | 48 | - | 158.000 | 41.000 | 5.000 | 0.000 | 8.000 | 18.000 | 16.000 | 14.000 | 43.000 | 0.2595 | 0.3257 | 0.4430 | 0.2595 | 0.0506 | 0.1139 | 0.0886 | 0.2722 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0820 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4980 |
| predicted_AVG | 0.2819 |
| predicted_BB | 0.2800 |
| predicted_H | 0.9860 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.2560 |
| predicted_OBP | 0.3396 |
| predicted_R | 0.4120 |
| predicted_RBI | 0.5340 |
| predicted_SLG | 0.5261 |
| predicted_SO | 1.0100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1040 | 0.0820 | 0.0950 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.4100 | 3.4980 | 3.4458 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2819 | 0.2683 | model_form_blend |
| predicted_BB | 0.2920 | 0.2800 | 0.2871 | model_form_blend |
| predicted_H | 0.8900 | 0.9860 | 0.9291 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.2100 | 0.2560 | 0.2287 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3396 | 0.3345 | model_form_blend |
| predicted_R | 0.3330 | 0.4120 | 0.3652 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5340 | 0.5138 | model_form_blend |
| predicted_SLG | 0.4800 | 0.5261 | 0.4988 | model_form_blend |
| predicted_SO | 0.8960 | 1.0100 | 0.9424 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 143 |
| Season rows before report date | 143 |
| Report year | 2026 |
| Profile rows used | 48 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 1 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | C |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 682626 |
| playerID | 682626 |
| playerName | Francisco Alvarez |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.34 |
| sl_xwoba | 0.353 |
| sl_xba | 0.261 |
| sl_xslg | 0.491 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 17.1 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 31.7 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.107 | 0.000 | 0.000 | Hitting_2B | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.519 | 0.000 | 0.481 | 3.000 |
| predicted_AVG | 0.247 | 0.000 | 0.333 | Hitting_AVG | 0.224 | - | -0.224 | - |
| predicted_BB | 0.321 | 1.000 | 0.000 | Hitting_BB | 0.333 | 1.000 | 0.667 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.500 | 0.000 | 1.000 | Hitting_H | 0.565 | 0.000 | -0.565 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_OBP | 0.297 | 0.250 | 0.333 | Hitting_OBP | 0.348 | 1.000 | -0.098 | -0.750 |
| predicted_R | 0.299 | 0.000 | 0.000 | Hitting_R | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_SLG | 0.315 | 0.000 | 0.333 | Hitting_SLG | 0.401 | - | -0.401 | - |
| predicted_SO | 1.047 | 2.000 | 1.000 | Hitting_SO | 1.065 | 0.000 | 0.935 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.0470 -> 2.0000 (boost 0.9530, worse) |
| Biggest Deboost | predicted_H: 0.5000 -> 0.0000 (deboost -0.5000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2470 -> 0.2174 (deboost -0.0296, worse) | Final model input calibrated with local 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.3043 -> 0.3110 (boost 0.0067, better) | predicted_AVG: 0.2174 -> 0.1812 (deboost -0.0362, 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.4596 -> 1.0000 (boost 0.5404, better) | predicted_BB: 0.3393 -> 0.0000 (deboost -0.3393, worse) | AB rounded to 3 (raw=2.54), rates preserved: AVG=0.181 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2663 -> 0.0000 (deboost -0.2663, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1812 -> 0.3330 (boost 0.1518, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1812 (deboost -0.1518, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669004",
"player_name": "MJ Melendez",
"position": "LF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.107,
"predicted_3B": 0.021,
"predicted_AB": 2.5,
"predicted_AVG": 0.247,
"predicted_BB": 0.321,
"predicted_H": 0.5,
"predicted_HR": 0.07,
"predicted_OBP": 0.297,
"predicted_R": 0.299,
"predicted_RBI": 0.24,
"predicted_SLG": 0.315,
"predicted_SO": 1.047
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1026,
"predicted_3B": 0.0178,
"predicted_AB": 2.537,
"predicted_AVG": 0.2174,
"predicted_BB": 0.3449,
"predicted_H": 0.4789,
"predicted_HBP": 0.059,
"predicted_HR": 0.066,
"predicted_OBP": 0.2951,
"predicted_R": 0.2867,
"predicted_RBI": 0.2165,
"predicted_SLG": 0.3043,
"predicted_SO": 1.0788
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.1026,
"delta": -0.0044,
"percent_delta": -0.0411,
"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": 2.5,
"after": 2.537,
"delta": 0.037,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2174,
"delta": -0.0296,
"percent_delta": -0.1198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.3449,
"delta": 0.0239,
"percent_delta": 0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.4789,
"delta": -0.0211,
"percent_delta": -0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.066,
"delta": -0.004,
"percent_delta": -0.0571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2951,
"delta": -0.0019,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.2867,
"delta": -0.0123,
"percent_delta": -0.0411,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2165,
"delta": -0.0235,
"percent_delta": -0.0979,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.3043,
"delta": -0.0107,
"percent_delta": -0.034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.047,
"after": 1.0788,
"delta": 0.0318,
"percent_delta": 0.0304,
"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.247,
"after": 0.2174,
"delta": -0.0296,
"percent_delta": -0.1198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1026,
"predicted_3B": 0.0178,
"predicted_AB": 2.537,
"predicted_AVG": 0.1812,
"predicted_BB": 0.3393,
"predicted_H": 0.4596,
"predicted_HBP": 0.059,
"predicted_HR": 0.0637,
"predicted_OBP": 0.2778,
"predicted_R": 0.2663,
"predicted_RBI": 0.2011,
"predicted_SLG": 0.311,
"predicted_SO": 1.0964
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1026,
"after": 0.1026,
"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": 2.537,
"after": 2.537,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2174,
"after": 0.1812,
"delta": -0.0362,
"percent_delta": -0.1665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3449,
"after": 0.3393,
"delta": -0.0056,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4789,
"after": 0.4596,
"delta": -0.0193,
"percent_delta": -0.0403,
"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.066,
"after": 0.0637,
"delta": -0.0023,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2951,
"after": 0.2778,
"delta": -0.0173,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2867,
"after": 0.2663,
"delta": -0.0204,
"percent_delta": -0.0712,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2165,
"after": 0.2011,
"delta": -0.0154,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3043,
"after": 0.311,
"delta": 0.0067,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0788,
"after": 1.0964,
"delta": 0.0176,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_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.3043,
"after": 0.311,
"delta": 0.0067,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2174,
"after": 0.1812,
"delta": -0.0362,
"percent_delta": -0.1665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.54), 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.1026,
"after": 0.0,
"delta": -0.1026,
"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": 2.537,
"after": 3.0,
"delta": 0.463,
"percent_delta": 0.1825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3393,
"after": 0.0,
"delta": -0.3393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4596,
"after": 1.0,
"delta": 0.5404,
"percent_delta": 1.1758,
"direction": "boost",
"projection_effect": "better",
"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.0637,
"after": 0.0,
"delta": -0.0637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2011,
"after": 0.0,
"delta": -0.2011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0964,
"after": 1.0,
"delta": -0.0964,
"percent_delta": -0.0879,
"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.4596,
"after": 1.0,
"delta": 0.5404,
"percent_delta": 1.1758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3393,
"after": 0.0,
"delta": -0.3393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2663,
"after": 0.0,
"delta": -0.2663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2663,
"after": 0.0,
"delta": -0.2663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1812,
"after": 0.333,
"delta": 0.1518,
"percent_delta": 0.8377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2778,
"after": 0.333,
"delta": 0.0552,
"percent_delta": 0.1987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.311,
"after": 0.333,
"delta": 0.022,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1812,
"after": 0.333,
"delta": 0.1518,
"percent_delta": 0.8377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1812,
"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.2778,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.311,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1812,
"delta": -0.1518,
"percent_delta": -0.4559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2778,
"delta": -0.0552,
"percent_delta": -0.1659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.311,
"delta": -0.022,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1812,
"delta": -0.1518,
"percent_delta": -0.4559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.1812,
"delta": -0.0658,
"percent_delta": -0.2664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 1.0,
"delta": 0.679,
"percent_delta": 2.1153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"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.297,
"after": 0.2778,
"delta": -0.0192,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.0,
"delta": -0.299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.311,
"delta": -0.004,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.047,
"after": 2.0,
"delta": 0.953,
"percent_delta": 0.9102,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.047,
"after": 2.0,
"delta": 0.953,
"percent_delta": 0.9102,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"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.107 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.321 | - |
| predicted_H | 0.500 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.299 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.315 | - |
| predicted_SO | 1.047 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.004 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 2.537 | 0.037 |
| predicted_AVG | 0.217 | -0.030 |
| predicted_BB | 0.345 | 0.024 |
| predicted_H | 0.479 | -0.021 |
| predicted_HBP | 0.059 | - |
| predicted_HR | 0.066 | -0.004 |
| predicted_OBP | 0.295 | -0.002 |
| predicted_R | 0.287 | -0.012 |
| predicted_RBI | 0.216 | -0.023 |
| predicted_SLG | 0.304 | -0.011 |
| predicted_SO | 1.079 | 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.103 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 2.537 | 0.000 |
| predicted_AVG | 0.181 | -0.036 |
| predicted_BB | 0.339 | -0.006 |
| predicted_H | 0.460 | -0.019 |
| predicted_HBP | 0.059 | 0.000 |
| predicted_HR | 0.064 | -0.002 |
| predicted_OBP | 0.278 | -0.017 |
| predicted_R | 0.266 | -0.020 |
| predicted_RBI | 0.201 | -0.015 |
| predicted_SLG | 0.311 | 0.007 |
| predicted_SO | 1.096 | 0.018 |
AB rounded to 3 (raw=2.54), 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 |
Player 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.018 |
| predicted_AB | 3.000 | 0.463 |
| predicted_AVG | 0.333 | 0.152 |
| predicted_BB | 0.000 | -0.339 |
| predicted_H | 1.000 | 0.540 |
| predicted_HR | 0.000 | -0.064 |
| predicted_OBP | 0.333 | 0.055 |
| predicted_R | 0.000 | -0.266 |
| predicted_RBI | 0.000 | -0.201 |
| predicted_SLG | 0.333 | 0.022 |
| predicted_SO | 1.000 | -0.096 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 7.000 | 0.0833 | 0.2143 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.1667 | 0.5833 |
| last_10 | 0.20 | 10 | - | 23.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 6.000 | 13.000 | 0.1304 | 0.3103 | 0.1739 | 0.1304 | 0.0000 | 0.0000 | 0.2609 | 0.5652 |
| season | 0.60 | 51 | - | 117.000 | 22.000 | 5.000 | 1.000 | 4.000 | 11.000 | 14.000 | 15.000 | 49.000 | 0.1880 | 0.3043 | 0.3504 | 0.1880 | 0.0342 | 0.0940 | 0.1282 | 0.4188 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0960 |
| predicted_3B | 0.0130 |
| predicted_AB | 2.5930 |
| predicted_AVG | 0.1725 |
| predicted_BB | 0.3810 |
| predicted_H | 0.4470 |
| predicted_HBP | 0.0590 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.2921 |
| predicted_R | 0.2680 |
| predicted_RBI | 0.1810 |
| predicted_SLG | 0.2882 |
| predicted_SO | 1.1270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1070 | 0.0960 | 0.1026 | model_form_blend |
| predicted_3B | 0.0210 | 0.0130 | 0.0178 | model_form_blend |
| predicted_AB | 2.5000 | 2.5930 | 2.5370 | model_form_blend |
| predicted_AVG | 0.2470 | 0.1725 | 0.2174 | model_form_blend |
| predicted_BB | 0.3210 | 0.3810 | 0.3449 | model_form_blend |
| predicted_H | 0.5000 | 0.4470 | 0.4789 | model_form_blend |
| predicted_HBP | - | 0.0590 | 0.0590 | form_only |
| predicted_HR | 0.0700 | 0.0600 | 0.0660 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2921 | 0.2951 | model_form_blend |
| predicted_R | 0.2990 | 0.2680 | 0.2867 | model_form_blend |
| predicted_RBI | 0.2400 | 0.1810 | 0.2165 | model_form_blend |
| predicted_SLG | 0.3150 | 0.2882 | 0.3043 | model_form_blend |
| predicted_SO | 1.0470 | 1.1270 | 1.0788 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 51 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.188 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR-LF |
| gameID | 20260624_CHC@NYM_2 |
| game_type | ph |
| mlbID | 669004 |
| note | Ran for Torrens in the 7th. |
| playerID | 669004 |
| playerName | MJ Melendez |
| pos | DH |
| started | False |
| startingPosition | PR |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 35.2 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.301 |
| sl_xwoba | 0.278 |
| sl_xba | 0.162 |
| sl_xslg | 0.311 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 55.7 |
| sl_exit_velocity_avg | 94.1 |
| sl_launch_angle_avg | 23.8 |
| sl_whiff_percent | 34.7 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.129 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 3.229 | 3.000 | 3.000 | Hitting_AB | 3.428 | 2.000 | -0.428 | 1.000 |
| predicted_AVG | 0.230 | 0.000 | 0.333 | Hitting_AVG | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_BB | 0.300 | 1.000 | 0.000 | Hitting_BB | 0.341 | 0.000 | 0.659 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.630 | 0.000 | 1.000 | Hitting_H | 0.832 | 0.000 | -0.832 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_OBP | 0.301 | 0.250 | 0.333 | Hitting_OBP | 0.315 | 0.000 | -0.065 | 0.250 |
| predicted_R | 0.357 | 0.000 | 0.000 | Hitting_R | 0.476 | 0.000 | -0.476 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_SLG | 0.301 | 0.000 | 0.333 | Hitting_SLG | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 1.043 | 1.000 | -0.043 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.3000 -> 1.0000 (boost 0.7000, better) |
| Biggest Deboost | predicted_H: 0.6300 -> 0.0000 (deboost -0.6300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 3.2290 -> 3.0883 (deboost -0.1407, worse) | Final model input calibrated with local 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.2994 -> 0.2635 (deboost -0.0359, 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.5693 -> 1.0000 (boost 0.4307, better) | predicted_BB: 0.3322 -> 0.0000 (deboost -0.3322, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.176 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3363 -> 0.0000 (deboost -0.3363, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1843 -> 0.3330 (boost 0.1487, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1843 (deboost -0.1487, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683146",
"player_name": "Brett Baty",
"position": "2B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.129,
"predicted_3B": 0.014,
"predicted_AB": 3.229,
"predicted_AVG": 0.23,
"predicted_BB": 0.3,
"predicted_H": 0.63,
"predicted_HR": 0.06,
"predicted_OBP": 0.301,
"predicted_R": 0.357,
"predicted_RBI": 0.29,
"predicted_SLG": 0.301,
"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.1072,
"predicted_3B": 0.0115,
"predicted_AB": 3.0883,
"predicted_AVG": 0.2122,
"predicted_BB": 0.3377,
"predicted_H": 0.5931,
"predicted_HBP": 0.066,
"predicted_HR": 0.0479,
"predicted_OBP": 0.2994,
"predicted_R": 0.362,
"predicted_RBI": 0.2691,
"predicted_SLG": 0.2804,
"predicted_SO": 0.9401
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1072,
"delta": -0.0218,
"percent_delta": -0.169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0115,
"delta": -0.0025,
"percent_delta": -0.1786,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.229,
"after": 3.0883,
"delta": -0.1407,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2122,
"delta": -0.0178,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.3377,
"delta": 0.0377,
"percent_delta": 0.1257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.5931,
"delta": -0.0369,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0479,
"delta": -0.0121,
"percent_delta": -0.2017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2994,
"delta": -0.0016,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.362,
"delta": 0.005,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2691,
"delta": -0.0209,
"percent_delta": -0.0721,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2804,
"delta": -0.0206,
"percent_delta": -0.0684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9401,
"delta": -0.0599,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.229,
"after": 3.0883,
"delta": -0.1407,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1072,
"predicted_3B": 0.0115,
"predicted_AB": 3.0883,
"predicted_AVG": 0.1843,
"predicted_BB": 0.3322,
"predicted_H": 0.5693,
"predicted_HBP": 0.066,
"predicted_HR": 0.0462,
"predicted_OBP": 0.2635,
"predicted_R": 0.3363,
"predicted_RBI": 0.25,
"predicted_SLG": 0.2714,
"predicted_SO": 0.9554
},
"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.0115,
"after": 0.0115,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0883,
"after": 3.0883,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2122,
"after": 0.1843,
"delta": -0.0279,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3377,
"after": 0.3322,
"delta": -0.0055,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5931,
"after": 0.5693,
"delta": -0.0238,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0479,
"after": 0.0462,
"delta": -0.0017,
"percent_delta": -0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2994,
"after": 0.2635,
"delta": -0.0359,
"percent_delta": -0.1199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.362,
"after": 0.3363,
"delta": -0.0257,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2691,
"after": 0.25,
"delta": -0.0191,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2804,
"after": 0.2714,
"delta": -0.009,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9401,
"after": 0.9554,
"delta": 0.0153,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2994,
"after": 0.2635,
"delta": -0.0359,
"percent_delta": -0.1199,
"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.176 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.1072,
"after": 0.0,
"delta": -0.1072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0115,
"after": 0.0,
"delta": -0.0115,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0883,
"after": 3.0,
"delta": -0.0883,
"percent_delta": -0.0286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3322,
"after": 0.0,
"delta": -0.3322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5693,
"after": 1.0,
"delta": 0.4307,
"percent_delta": 0.7565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.0,
"delta": -0.066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0462,
"after": 0.0,
"delta": -0.0462,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9554,
"after": 1.0,
"delta": 0.0446,
"percent_delta": 0.0467,
"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.5693,
"after": 1.0,
"delta": 0.4307,
"percent_delta": 0.7565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3322,
"after": 0.0,
"delta": -0.3322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3363,
"after": 0.0,
"delta": -0.3363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3363,
"after": 0.0,
"delta": -0.3363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1843,
"after": 0.333,
"delta": 0.1487,
"percent_delta": 0.8068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2635,
"after": 0.333,
"delta": 0.0695,
"percent_delta": 0.2638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2714,
"after": 0.333,
"delta": 0.0616,
"percent_delta": 0.227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1843,
"after": 0.333,
"delta": 0.1487,
"percent_delta": 0.8068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1843,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2635,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2714,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1843,
"delta": -0.1487,
"percent_delta": -0.4465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2635,
"delta": -0.0695,
"percent_delta": -0.2086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2714,
"delta": -0.0616,
"percent_delta": -0.185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1843,
"delta": -0.1487,
"percent_delta": -0.4465,
"direction": "deboost",
"projection_effect": "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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.229,
"after": 3.0,
"delta": -0.229,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.1843,
"delta": -0.0457,
"percent_delta": -0.1987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2635,
"delta": -0.0375,
"percent_delta": -0.1246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2714,
"delta": -0.0296,
"percent_delta": -0.0983,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.229 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.357 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.301 | - |
| 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.107 | -0.022 |
| predicted_3B | 0.011 | -0.003 |
| predicted_AB | 3.088 | -0.141 |
| predicted_AVG | 0.212 | -0.018 |
| predicted_BB | 0.338 | 0.038 |
| predicted_H | 0.593 | -0.037 |
| predicted_HBP | 0.066 | - |
| predicted_HR | 0.048 | -0.012 |
| predicted_OBP | 0.299 | -0.002 |
| predicted_R | 0.362 | 0.005 |
| predicted_RBI | 0.269 | -0.021 |
| predicted_SLG | 0.280 | -0.021 |
| 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.107 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.088 | 0.000 |
| predicted_AVG | 0.184 | -0.028 |
| predicted_BB | 0.332 | -0.006 |
| predicted_H | 0.569 | -0.024 |
| predicted_HBP | 0.066 | 0.000 |
| predicted_HR | 0.046 | -0.002 |
| predicted_OBP | 0.264 | -0.036 |
| predicted_R | 0.336 | -0.026 |
| predicted_RBI | 0.250 | -0.019 |
| predicted_SLG | 0.271 | -0.009 |
| predicted_SO | 0.955 | 0.015 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.176 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.107 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | -0.088 |
| predicted_AVG | 0.333 | 0.149 |
| predicted_BB | 0.000 | -0.332 |
| predicted_H | 1.000 | 0.431 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | 0.070 |
| predicted_R | 0.000 | -0.336 |
| predicted_RBI | 0.000 | -0.250 |
| predicted_SLG | 0.333 | 0.062 |
| predicted_SO | 1.000 | 0.045 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 9.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.1111 | 0.2727 | 0.1111 | 0.1111 | 0.0000 | 0.0000 | 0.2222 | 0.2222 |
| last_10 | 0.20 | 10 | - | 24.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 9.000 | 0.1250 | 0.3226 | 0.1250 | 0.1250 | 0.0000 | 0.0417 | 0.2083 | 0.3750 |
| season | 0.60 | 70 | - | 226.000 | 50.000 | 9.000 | 1.000 | 3.000 | 26.000 | 25.000 | 21.000 | 70.000 | 0.2212 | 0.2937 | 0.3097 | 0.2212 | 0.0133 | 0.1150 | 0.0929 | 0.3097 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0770 |
| predicted_3B | 0.0080 |
| predicted_AB | 2.8930 |
| predicted_AVG | 0.1874 |
| predicted_BB | 0.3900 |
| predicted_H | 0.5420 |
| predicted_HBP | 0.0660 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.2972 |
| predicted_R | 0.3690 |
| predicted_RBI | 0.2400 |
| predicted_SLG | 0.2519 |
| predicted_SO | 0.8570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.0770 | 0.1072 | model_form_blend |
| predicted_3B | 0.0140 | 0.0080 | 0.0115 | model_form_blend |
| predicted_AB | 3.2290 | 2.8930 | 3.0883 | model_form_blend |
| predicted_AVG | 0.2300 | 0.1874 | 0.2122 | model_form_blend |
| predicted_BB | 0.3000 | 0.3900 | 0.3377 | model_form_blend |
| predicted_H | 0.6300 | 0.5420 | 0.5931 | model_form_blend |
| predicted_HBP | - | 0.0660 | 0.0660 | form_only |
| predicted_HR | 0.0600 | 0.0310 | 0.0479 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2972 | 0.2994 | model_form_blend |
| predicted_R | 0.3570 | 0.3690 | 0.3620 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2400 | 0.2691 | model_form_blend |
| predicted_SLG | 0.3010 | 0.2519 | 0.2804 | model_form_blend |
| predicted_SO | 1.0000 | 0.8570 | 0.9401 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 208 |
| Season rows before report date | 208 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.221 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 683146 |
| playerID | 683146 |
| playerName | Brett Baty |
| pos | 3B |
| started | True |
| startingPosition | RF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.275 |
| sl_xwoba | 0.293 |
| sl_xba | 0.223 |
| sl_xslg | 0.354 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 9.9 |
| sl_whiff_percent | 28.7 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.125 | 1.000 | -0.125 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.875 | 10.000 | 0.125 | -7.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.312 | 10.000 | -0.312 | -5.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.194 | 2.200 | -0.194 | 2.800 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.188 | 2.000 | -0.188 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642547",
"player_name": "Freddy Peralta",
"position": "Starter",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 24.100 | 22.000 | 34.000 | 7.000 | 20.000 | 4.000 | 8.1370 | 1.6849 | 0.9041 | 1.3973 | 0.2877 | 0.8219 | 0.1644 |
| last_10 | 0.35 | 10 | 53.100 | 32.000 | 59.000 | 21.000 | 47.000 | 8.000 | 5.4000 | 1.5000 | 0.6000 | 1.1062 | 0.3937 | 0.8812 | 0.1500 |
| season | 0.20 | 16 | 85.200 | 46.000 | 85.000 | 34.000 | 83.000 | 12.000 | 4.8327 | 1.3891 | 0.5370 | 0.9922 | 0.3969 | 0.9689 | 0.1401 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7980 |
| predicted_ER | 3.4480 |
| predicted_ERA | 6.0369 |
| predicted_H | 5.9420 |
| predicted_HR | 0.7840 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.5740 |
| predicted_WHIP | 1.5059 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.7980 | 1.8890 | model_form_blend |
| predicted_ER | 3.0000 | 3.4480 | 3.2461 | model_form_blend |
| predicted_ERA | - | 6.0369 | 6.0369 | form_only |
| predicted_H | 5.0000 | 5.9420 | 5.5175 | model_form_blend |
| predicted_HR | 1.0000 | 0.7840 | 0.8813 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 5.0000 | 4.5740 | 4.7660 | model_form_blend |
| predicted_WHIP | - | 1.5059 | 1.5059 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 5 |
| HR | 1 |
| BF | 23 |
| Pitches | 95 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 19 |
| Pitching_ER | 10 |
| Pitching_ERA | 4.83 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 0 |
| Pitching_H | 10 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.2 |
| Pitching_Pitches | 80 |
| Pitching_R | 10 |
| Pitching_SO | 2 |
| Pitching_Strikes | 52 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260620_NYM@PHI |
| game_type | full |
| mlbID | 642547 |
| playerID | 642547 |
| playerName | Freddy Peralta |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-20 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.332 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 39.6 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 46.9 |
| sl_avg_best_speed | 76.328935952 |
| sl_avg_hyper_speed | 93.825243294 |
| 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.406 | 1.000 | -0.406 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 2.000 | -0.250 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.781 | 2.000 | 0.219 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.753 | 1.000 | 0.247 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.969 | 0.000 | 0.031 | 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": "548384",
"player_name": "Brooks Raley",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 4.000 | 7.000 | 2.000 | 2.000 | 0.000 | 7.7143 | 1.9286 | 0.8571 | 1.5000 | 0.4286 | 0.4286 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 10.000 | 4.000 | 8.000 | 1.000 | 5.0000 | 1.5556 | 0.5556 | 1.1111 | 0.4444 | 0.8889 | 0.1111 |
| season | 0.20 | 32 | 29.000 | 8.000 | 25.000 | 13.000 | 31.000 | 2.000 | 2.4828 | 1.3103 | 0.2759 | 0.8621 | 0.4483 | 1.0690 | 0.0690 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4020 |
| predicted_ER | 0.5720 |
| predicted_ERA | 5.1495 |
| predicted_H | 1.1120 |
| predicted_HR | 0.0960 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8250 |
| predicted_WHIP | 1.5139 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4020 | 0.1822 | model_form_blend |
| predicted_ER | 0.0000 | 0.5720 | 0.2593 | model_form_blend |
| predicted_ERA | - | 5.1495 | 5.1495 | form_only |
| predicted_H | 1.0000 | 1.1120 | 1.0508 | model_form_blend |
| predicted_HR | 0.0000 | 0.0960 | 0.0435 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8250 | 0.9207 | model_form_blend |
| predicted_WHIP | - | 1.5139 | 1.5139 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.48 |
| 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 | 20 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 548384 |
| playerID | 548384 |
| playerName | Brooks Raley |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.305 |
| sl_xwoba | 0.307 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 31.3 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 46.0 |
| sl_avg_best_speed | 76.130092308 |
| sl_avg_hyper_speed | 93.006177662 |
| 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.536 | 0.000 | -0.536 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.464 | 0.000 | 1.536 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.893 | 3.000 | 2.107 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.846 | 1.000 | 0.154 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.393 | 1.000 | -0.393 | 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": "642207",
"player_name": "Devin Williams",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.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": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 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 | 7.000 | 2.000 | 8.000 | 0.000 | 1.6875 | 1.6875 | 0.1875 | 1.3125 | 0.3750 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 5.000 | 10.000 | 7.000 | 15.000 | 1.000 | 4.6552 | 1.7586 | 0.5172 | 1.0345 | 0.7241 | 1.5517 | 0.1035 |
| season | 0.20 | 27 | 25.100 | 11.000 | 24.000 | 12.000 | 39.000 | 2.000 | 3.9079 | 1.4211 | 0.4342 | 0.9474 | 0.4737 | 1.5395 | 0.0790 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4390 |
| predicted_ER | 0.4260 |
| predicted_ERA | 3.8324 |
| predicted_H | 1.0560 |
| predicted_HR | 0.0990 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2370 |
| predicted_WHIP | 1.4946 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4390 | 0.1928 | model_form_blend |
| predicted_ER | 2.0000 | 0.4260 | 1.3089 | model_form_blend |
| predicted_ERA | - | 3.8324 | 3.8324 | form_only |
| predicted_H | 3.0000 | 1.0560 | 2.1464 | model_form_blend |
| predicted_HR | 0.0000 | 0.0990 | 0.0435 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2370 | 1.1041 | model_form_blend |
| predicted_WHIP | - | 1.4946 | 1.4946 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 6 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.62 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 642207 |
| playerID | 642207 |
| playerName | Devin Williams |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 33.6 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.328 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 27.4 |
| sl_whiff_percent | 38.2 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 79.417419333 |
| sl_avg_hyper_speed | 93.0004225 |
| 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.515 | 0.000 | -0.515 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.576 | 0.000 | -0.576 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.018 | 2.000 | -0.018 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.121 | 4.000 | -1.121 | -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": "623211",
"player_name": "Huascar Brazobán",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 0.000 | 0.000 | 2.000 | 11.000 | 0.000 | 0.0000 | 0.3000 | 0.0000 | 0.0000 | 0.3000 | 1.6500 | 0.0000 |
| last_10 | 0.35 | 10 | 12.200 | 3.000 | 4.000 | 6.000 | 16.000 | 1.000 | 2.1316 | 0.7895 | 0.2368 | 0.3158 | 0.4737 | 1.2632 | 0.0790 |
| season | 0.20 | 33 | 39.200 | 8.000 | 19.000 | 17.000 | 37.000 | 2.000 | 1.8151 | 0.9076 | 0.2017 | 0.4790 | 0.4286 | 0.9328 | 0.0504 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4530 |
| predicted_ER | 0.3250 |
| predicted_ERA | 2.4269 |
| predicted_H | 0.6060 |
| predicted_HR | 0.0960 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4520 |
| predicted_WHIP | 0.8794 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4530 | 0.2200 | model_form_blend |
| predicted_ER | 0.0000 | 0.3250 | 0.1578 | model_form_blend |
| predicted_ERA | - | 2.4269 | 2.4269 | form_only |
| predicted_H | 0.0000 | 0.6060 | 0.2943 | model_form_blend |
| predicted_HR | 0.0000 | 0.0960 | 0.0466 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.2000 | model_form_blend |
| predicted_SO | 0.0000 | 1.4520 | 0.7052 | model_form_blend |
| predicted_WHIP | - | 0.8794 | 0.8794 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.82 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 34 |
| Pitching_R | 0 |
| Pitching_SO | 4 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 623211 |
| playerID | 623211 |
| playerName | Huascar Brazobán |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.224 |
| sl_xwoba | 0.248 |
| sl_sweet_spot_percent | 23.5 |
| sl_barrel_batted_rate | 2.1 |
| sl_hard_hit_percent | 21.4 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 71.812220625 |
| sl_avg_hyper_speed | 91.829455521 |
| 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 | 1.000 | -0.290 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.645 | 0.000 | -0.645 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.997 | 1.000 | 0.003 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.097 | 1.000 | -1.097 | -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": "596133",
"player_name": "Luke Weaver",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 1.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.2000 | 0.2000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 0.000 | 4.000 | 1.000 | 11.000 | 0.000 | 0.0000 | 0.4688 | 0.0000 | 0.3750 | 0.0938 | 1.0312 | 0.0000 |
| season | 0.20 | 31 | 33.000 | 8.000 | 20.000 | 9.000 | 34.000 | 2.000 | 2.1818 | 0.8788 | 0.2424 | 0.6061 | 0.2727 | 1.0303 | 0.0606 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2570 |
| predicted_ER | 0.2440 |
| predicted_ERA | 2.1965 |
| predicted_H | 0.6140 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0890 |
| predicted_WHIP | 0.8709 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2570 | 0.1200 | model_form_blend |
| predicted_ER | 0.0000 | 0.2440 | 0.1139 | model_form_blend |
| predicted_ERA | - | 2.1965 | 2.1965 | form_only |
| predicted_H | 0.0000 | 0.6140 | 0.2866 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0327 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0890 | 0.5084 | model_form_blend |
| predicted_WHIP | - | 0.8709 | 0.8709 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.18 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260624_CHC@NYM_2 |
| game_type | full |
| mlbID | 596133 |
| playerID | 596133 |
| playerName | Luke Weaver |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.221 |
| sl_xwoba | 0.272 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 31.8 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 52.2 |
| sl_avg_best_speed | 79.394152857 |
| sl_avg_hyper_speed | 93.129083976 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | HOU 2 - 4 DET | DET | 0.525 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | HOU 3 - 4 DET | DET | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5250 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.873 | 6.820 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 4 | 0.5250 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 4 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4755553846153847,
"base_low_score_probability": 0.4238461538461539,
"low_score_signal_threshold": 0.5038461538461538,
"low_score_signal_strength": 0.05170923076923084,
"confidence": 0.661,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.122
},
"prediction": "normal_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 12,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 2,
"wide_bucket_sample_size": 12,
"global_sample_size": 12,
"bucket_scope": "sparse_pooled_0.12",
"sparse_bucket": true,
"empirical_hit_rate": 0.3333,
"bayesian_hit_rate": 0.45,
"sample_weight": 0.255,
"prior_strength": 28.0,
"reliability": 0.3,
"confidence_cap": 0.525,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.525,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "DET",
"games": 80,
"wins": 34,
"losses": 46,
"win_pct": 0.425,
"runs_scored": 324,
"runs_allowed": 330,
"run_differential": -6,
"run_differential_per_game": -0.075,
"available": true
},
"away": {
"team": "HOU",
"games": 82,
"wins": 39,
"losses": 43,
"win_pct": 0.47560975609756095,
"runs_scored": 370,
"runs_allowed": 409,
"run_differential": -39,
"run_differential_per_game": -0.47560975609756095,
"available": true
},
"run_differential_edge_per_game": 0.4006,
"win_pct_edge": -0.0506,
"quality_edge": 0.3247,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "DET",
"guardrail_predicted_team": "DET",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "DET",
"output_opponent_team": "HOU",
"final_score_winner": "DET",
"pre_simulation_winner": "DET",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "HOU 2 - 4 DET",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "HOU 3 - 4 DET",
"winner": "DET"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "DET",
"games": 80,
"wins": 34,
"losses": 46,
"win_pct": 0.425,
"runs_scored": 324,
"runs_allowed": 330,
"run_differential": -6,
"run_differential_per_game": -0.075,
"available": true
},
"away": {
"team": "HOU",
"games": 82,
"wins": 39,
"losses": 43,
"win_pct": 0.47560975609756095,
"runs_scored": 370,
"runs_allowed": 409,
"run_differential": -39,
"run_differential_per_game": -0.47560975609756095,
"available": true
}
}
}{
"applied": true,
"raw_margin": 3.1885,
"final_margin": 1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.3247,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 2.06,
"home_runs": 3.56
}
}{
"applied": false,
"raw_confidence": 0.525,
"final_confidence": 0.525,
"confidence_cap": 0.525,
"score_gap": 1.5,
"calibration_sample_size": 12,
"calibration_empirical_hit_rate": 0.3333,
"calibration_bayesian_hit_rate": 0.45,
"calibration_sparse_bucket": true,
"season_quality_edge": 0.3247,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"historical confidence bucket is sparse",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "HOU 2 - 4 DET",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "HOU 3 - 4 DET",
"winner": "DET"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 2,
"home_runs": 4,
"confidence": 0.525,
"home_win_probability": 0.525,
"away_win_probability": 0.475,
"predicted_score_text": "HOU 2 - 4 DET",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "HOU",
"original_runs": 2,
"run_delta": 0.1111,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.17187776467233112,
"contact": 0.04628622448922154,
"power": 0.05028027143593411,
"discipline": 0.12787126908179555,
"xwoba": 0.32825,
"recent_xwoba": 0.32825,
"barrel": 8.49375,
"ab_hard_contact": 0.2644524804595384,
"ab_bat_speed": 70.30554249272764,
"ab_strikeout_rate": 0.20667510988645857,
"available_players": 9,
"top_players": [
{
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"weight": 4.0,
"quality": 1.8547687036732168,
"contact": 2.0,
"power": 2.0,
"discipline": 1.231187950937951,
"xwoba": 0.48299999999999993,
"recent_xwoba": 0.483,
"barrel": 18.9,
"ab_hard_contact": 1.7580145091649457,
"ab_bat_speed": 75.27407611832611,
"ab_strikeout_rate": 0.17303030303030303,
"available": 1.0
},
{
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"weight": 3.0,
"quality": -0.6315506414337813,
"contact": -1.4120261528743072,
"power": -1.4923372149252796,
"discipline": 0.27474206349206365,
"xwoba": 0.237,
"recent_xwoba": 0.237,
"barrel": 1.6,
"ab_hard_contact": -0.9861728699341691,
"ab_bat_speed": 62.39205555555556,
"ab_strikeout_rate": 0.19047619047619047,
"available": 1.0
},
{
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"weight": 3.0,
"quality": 0.4641025941709617,
"contact": 0.33754742974783236,
"power": 0.7663679925578144,
"discipline": -0.298303391053391,
"xwoba": 0.335,
"recent_xwoba": 0.335,
"barrel": 12.0,
"ab_hard_contact": 1.1098360416324782,
"ab_bat_speed": 75.12562626262627,
"ab_strikeout_rate": 0.2678787878787879,
"available": 1.0
},
{
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"weight": 4.0,
"quality": -0.26731495475731876,
"contact": -0.3672490553686385,
"power": -0.42280549904858045,
"discipline": 0.11534523809523824,
"xwoba": 0.303,
"recent_xwoba": 0.303,
"barrel": 7.1,
"ab_hard_contact": -0.33115760001923045,
"ab_bat_speed": 66.86883267195768,
"ab_strikeout_rate": 0.1908730158730159,
"available": 1.0
},
{
"player_id": "666211",
"player_name": "Taylor Trammell",
"position": "CF",
"weight": 3.0,
"quality": -0.1832388559131791,
"contact": -1.19723412764755,
"power": -0.5410718729153696,
"discipline": -1.2551626984126982,
"xwoba": 0.259,
"recent_xwoba": 0.259,
"barrel": 6.1,
"ab_hard_contact": -0.21572317259311052,
"ab_bat_speed": 71.8291087962963,
"ab_strikeout_rate": 0.30416666666666664,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "675512",
"player_name": "Troy Melton",
"quality": -0.0049450425732370995,
"contact": 0.2000618925099208,
"command": -0.5407857142857143,
"movement": 0.4951175429033633,
"xwoba": 0.305,
"whiff": 20.4,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "DET",
"original_runs": 4,
"run_delta": 0.0707,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": 0.25187215912566335,
"contact": -0.003778678285452841,
"power": 0.21056619903948606,
"discipline": -0.08439242883548527,
"xwoba": 0.3186333333333333,
"recent_xwoba": 0.3186333333333333,
"barrel": 9.026666666666667,
"ab_hard_contact": 0.19740652047225918,
"ab_bat_speed": 70.67976001054541,
"ab_strikeout_rate": 0.2582868732799299,
"available_players": 9,
"top_players": [
{
"player_id": "693307",
"player_name": "Dillon Dingler",
"position": "C",
"weight": 4.0,
"quality": 1.1429714260602821,
"contact": 1.481120867857795,
"power": 1.4902575290309679,
"discipline": -0.05824319727891139,
"xwoba": 0.394,
"recent_xwoba": 0.394,
"barrel": 12.8,
"ab_hard_contact": 0.8626743901431659,
"ab_bat_speed": 70.76914492225461,
"ab_strikeout_rate": 0.22267573696145126,
"available": 1.0
},
{
"player_id": "682985",
"player_name": "Riley Greene",
"position": "LF",
"weight": 4.0,
"quality": 0.7302252197836799,
"contact": 0.7284589955486975,
"power": 1.0420180405596582,
"discipline": 0.15464682539682548,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 13.1,
"ab_hard_contact": 0.7058846207169738,
"ab_bat_speed": 73.88058946608946,
"ab_strikeout_rate": 0.275,
"available": 1.0
},
{
"player_id": "656716",
"player_name": "Zach McKinstry",
"position": "SS",
"weight": 3.0,
"quality": -0.49860491803212487,
"contact": -1.2366388592943758,
"power": -1.4434189989327684,
"discipline": 0.6860843253968256,
"xwoba": 0.26,
"recent_xwoba": 0.26,
"barrel": 2.3,
"ab_hard_contact": -0.7079990262744135,
"ab_bat_speed": 67.8376129032258,
"ab_strikeout_rate": 0.1765625,
"available": 1.0
},
{
"player_id": "681546",
"player_name": "James Outman",
"position": "CF",
"weight": 3.0,
"quality": -0.4526130789512769,
"contact": -2.0,
"power": -1.4258521266634596,
"discipline": -1.3015467563837124,
"xwoba": 0.212,
"recent_xwoba": 0.212,
"barrel": 2.4,
"ab_hard_contact": -1.220280628507295,
"ab_bat_speed": 70.11527777777778,
"ab_strikeout_rate": 0.39855072463768115,
"available": 1.0
},
{
"player_id": "805808",
"player_name": "Kevin McGonigle",
"position": "DH",
"weight": 4.0,
"quality": 0.6232198651920356,
"contact": 0.8034958232733848,
"power": 0.2803786442336025,
"discipline": 1.3455045672356993,
"xwoba": 0.368,
"recent_xwoba": 0.368,
"barrel": 8.2,
"ab_hard_contact": 0.4487157418148951,
"ab_bat_speed": 70.23888689228312,
"ab_strikeout_rate": 0.13228511530398324,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "837227",
"player_name": "Tatsuya Imai",
"quality": -0.08739357805726448,
"contact": -0.660062526444524,
"command": 0.3585000000000001,
"movement": 0.22196865178560754,
"xwoba": 0.33,
"whiff": 32.0,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 4,
"predicted_score_text": "HOU 2 - 4 DET",
"confidence": 0.525,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "HOU 2 - 4 DET",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "HOU 3 - 4 DET",
"winner": "DET"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away HOU | True | 1.0159 | 1.0159 | 1 | 9 | 0 |
| Home DET | True | 1.0252 | 1.0252 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Yordan Alvarez | 6 | 1.1500 | 2 | positive_batter_regression | 0.4830 | 0.3430 | 0.7200 | 18.90 | 53.60 | 94.40 | 19.10 | 18.80 | 16.70 | 15.50 | 1.0857 |
| 3B | Isaac Paredes | 104 | 1.0007 | 0.0093 | neutral | 0.3210 | 0.2410 | 0.3690 | 6.40 | 31.50 | 87.10 | 24.10 | 17.20 | 16.90 | 9.90 | -0.5429 |
| 2B | Jose Altuve | 391 | 0.9909 | -0.1214 | neutral | 0.3030 | 0.2430 | 0.3640 | 7.10 | 34.30 | 85.90 | 8.40 | 24.90 | 22.10 | 9.50 | -0.3143 |
| SS | Jeremy Peña | 58 | 1.0178 | 0.2378 | neutral | 0.3500 | 0.2970 | 0.4310 | 4.40 | 36.50 | 86.80 | 13 | 26.90 | 15.80 | 8.20 | -0.0857 |
| 1B | Christian Walker | 89 | 1.0106 | 0.1408 | neutral | 0.3080 | 0.2300 | 0.4030 | 10.60 | 45.40 | 90.30 | 14.90 | 29.90 | 22.20 | 8.40 | -0.7143 |
| LF | Joey Loperfido | 316 | 1.0042 | 0.0555 | neutral | 0.3170 | 0.2470 | 0.3650 | 7.70 | 35.40 | 89.20 | 11.30 | 30.70 | 22.30 | 12.60 | -0.0857 |
| RF | Cam Smith | 141 | 1.0575 | 0.7670 | positive_batter_regression | 0.3350 | 0.2480 | 0.4450 | 12 | 45.80 | 89.70 | 10.70 | 30.70 | 26 | 9.20 | 1.1143 |
| CF | Taylor Trammell | 295 | 0.9656 | -0.4582 | negative_batter_regression | 0.2590 | 0.1990 | 0.3130 | 6.10 | 34.70 | 89.50 | 12.20 | 41 | 36.40 | 6.80 | -1.8857 |
| C | Christian Vázquez | 200 | 0.9455 | -0.7271 | negative_batter_regression | 0.2370 | 0.1960 | 0.2660 | 1.60 | 23.40 | 85.70 | 14.10 | 18.20 | 16.10 | 7.70 | -1.0286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Kevin McGonigle | 3 | 1.0676 | 0.9020 | neutral | 0.3680 | 0.2750 | 0.4520 | 8.20 | 36.70 | 87.90 | 21.60 | 14.40 | 12.90 | 14.10 | 0.0857 |
| RF | Kerry Carpenter | 284 | 1.0021 | 0.0274 | negative_batter_regression | 0.3020 | 0.2070 | 0.3890 | 9.90 | 48.50 | 91.30 | 21.60 | 30.90 | 31.50 | 8.40 | -0.8571 |
| LF | Riley Greene | 99 | 1.0765 | 1.0203 | neutral | 0.3580 | 0.2560 | 0.4560 | 13.10 | 50.50 | 91.60 | 17.80 | 30.60 | 27.20 | 13.10 | -0.2286 |
| C | Dillon Dingler | 24 | 1.1195 | 1.5929 | neutral | 0.3940 | 0.3000 | 0.5550 | 12.80 | 50 | 90.80 | 16.80 | 21.70 | 20.70 | 7.20 | 0.6286 |
| 3B | Colt Keith | 278 | 1.0248 | 0.3301 | neutral | 0.3190 | 0.2660 | 0.4230 | 7.80 | 41.70 | 88.70 | 12.60 | 22 | 19.50 | 4.90 | 0.6286 |
| 1B | Spencer Torkelson | 504 | 1.0350 | 0.4671 | neutral | 0.3180 | 0.2140 | 0.4060 | 13.80 | 44.60 | 90.10 | 20.50 | 31.10 | 32.20 | 11.40 | -0.0286 |
| SS | Zach McKinstry | 514 | 0.9636 | -0.4848 | neutral | 0.2600 | 0.2050 | 0.2770 | 2.30 | 20.90 | 84.80 | 13.40 | 16.40 | 18.60 | 10.90 | 0.3714 |
| CF | James Outman | 440 | 0.9456 | -0.7252 | neutral | 0.2120 | 0.1490 | 0.2310 | 2.40 | 34.10 | 86.70 | 18.30 | 41.80 | 44.30 | 8 | -0.6286 |
| 2B | Hao-Yu Lee | 454 | 0.9924 | -0.1012 | neutral | 0.2820 | 0.2310 | 0.3850 | 8.60 | 32.10 | 88.40 | 18.10 | 30.40 | 27.10 | 4.20 | -0.0857 |
{
"home": {
"applied": true,
"offense_factor": 1.0252,
"raw_average_factor": 1.0252,
"team_espn_average_rank": 288.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "805808",
"player_name": "Kevin McGonigle",
"offense_factor": 1.0676,
"quality_score": 0.902,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805808",
"espn_id": 5149072,
"player_name": "Kevin McGonigle",
"team": "DET",
"role": "batter",
"espn_rank": 3,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 3,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 290.0,
"ab_rank": 41,
"r_value": 47.0,
"r_rank": 29,
"h_value": 82.0,
"h_rank": 25,
"avg_value": 0.2827586,
"avg_rank": 30.0,
"2b_value": 18.0,
"2b_rank": 17,
"3b_value": 3.0,
"3b_rank": 8,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 28.0,
"rbi_rank": 152,
"tb_value": 124.0,
"tb_rank": 565,
"bb_value": 48.0,
"bb_rank": 10,
"so_value": 44.0,
"so_rank": 183,
"sb_value": 9.0,
"sb_rank": 50,
"obp_value": 0.3882352,
"obp_rank": "11",
"slg_value": 0.4275862,
"slg_rank": "79",
"ops_value": 0.8158214,
"ops_rank": 68.0,
"war_value": 3.98,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 12.9,
"bb_percent": 14.1,
"woba": 0.365,
"xwoba": 0.368,
"xba": 0.275,
"xslg": 0.452,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 36.7,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 21.6,
"whiff_percent": 14.4,
"swing_percent": 41.8
},
"components": {
"expected_quality": 1.0349,
"regression_edge": 0.0857,
"xwoba_edge": 1.8286,
"xba_edge": 1.0,
"xslg_edge": 1.1143,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.2286,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "681481",
"player_name": "Kerry Carpenter",
"offense_factor": 1.0021,
"quality_score": 0.0274,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "681481",
"espn_id": 42714,
"player_name": "Kerry Carpenter",
"team": "DET",
"role": "batter",
"espn_rank": 284,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 284,
"gp_value": 57.0,
"gp_rank": 217,
"ab_value": 156.0,
"ab_rank": 250,
"r_value": 18.0,
"r_rank": 254,
"h_value": 35.0,
"h_rank": 256,
"avg_value": 0.2243589,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 29.0,
"rbi_rank": 142,
"tb_value": 73.0,
"tb_rank": 867,
"bb_value": 15.0,
"bb_rank": 222,
"so_value": 56.0,
"so_rank": 126,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3033707,
"obp_rank": "-",
"slg_value": 0.4679487,
"slg_rank": "-",
"ops_value": 0.7713194,
"ops_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 116.0,
"k_percent": 31.5,
"bb_percent": 8.4,
"woba": 0.332,
"xwoba": 0.302,
"xba": 0.207,
"xslg": 0.389,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 48.5,
"exit_velocity_avg": 91.3,
"launch_angle_avg": 21.6,
"whiff_percent": 30.9,
"swing_percent": 50.1
},
"components": {
"expected_quality": 0.1999,
"regression_edge": -0.8571,
"xwoba_edge": -0.0571,
"xba_edge": -0.9429,
"xslg_edge": 0.2143,
"barrel_edge": 0.6444,
"hard_hit_edge": 1.4571,
"exit_velocity_edge": 1.0,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "682985",
"player_name": "Riley Greene",
"offense_factor": 1.0765,
"quality_score": 1.0203,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682985",
"espn_id": 42179,
"player_name": "Riley Greene",
"team": "DET",
"role": "batter",
"espn_rank": 99,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 99,
"gp_value": 80.0,
"gp_rank": 9,
"ab_value": 287.0,
"ab_rank": 50,
"r_value": 40.0,
"r_rank": 64,
"h_value": 83.0,
"h_rank": 18,
"avg_value": 0.2891986,
"avg_rank": 20.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 9.0,
"hr_rank": 99,
"rbi_value": 34.0,
"rbi_rank": 95,
"tb_value": 126.0,
"tb_rank": 754,
"bb_value": 44.0,
"bb_rank": 18,
"so_value": 91.0,
"so_rank": 14,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3850746,
"obp_rank": "14",
"slg_value": 0.4390243,
"slg_rank": "70",
"ops_value": 0.8240989,
"ops_rank": 56.0,
"war_value": 1.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 232.0,
"k_percent": 27.2,
"bb_percent": 13.1,
"woba": 0.366,
"xwoba": 0.358,
"xba": 0.256,
"xslg": 0.456,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 50.5,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 17.8,
"whiff_percent": 30.6,
"swing_percent": 45.3
},
"components": {
"expected_quality": 1.2236,
"regression_edge": -0.2286,
"xwoba_edge": 1.5429,
"xba_edge": 0.4571,
"xslg_edge": 1.1714,
"barrel_edge": 1.3556,
"hard_hit_edge": 1.7429,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": 0.6833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "693307",
"player_name": "Dillon Dingler",
"offense_factor": 1.1195,
"quality_score": 1.5929,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693307",
"espn_id": 4345620,
"player_name": "Dillon Dingler",
"team": "DET",
"role": "batter",
"espn_rank": 24,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 24,
"gp_value": 73.0,
"gp_rank": 112,
"ab_value": 273.0,
"ab_rank": 85,
"r_value": 41.0,
"r_rank": 60,
"h_value": 73.0,
"h_rank": 64,
"avg_value": 0.2673992,
"avg_rank": 52.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 18.0,
"hr_rank": 12,
"rbi_value": 56.0,
"rbi_rank": 6,
"tb_value": 146.0,
"tb_rank": 186,
"bb_value": 22.0,
"bb_rank": 145,
"so_value": 63.0,
"so_rank": 92,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3333333,
"obp_rank": "80",
"slg_value": 0.5347985,
"slg_rank": "10",
"ops_value": 0.8681318,
"ops_rank": 70.0,
"war_value": 2.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 203.0,
"k_percent": 20.7,
"bb_percent": 7.2,
"woba": 0.372,
"xwoba": 0.394,
"xba": 0.3,
"xslg": 0.555,
"sweet_spot_percent": 42.0,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 16.8,
"whiff_percent": 21.7,
"swing_percent": 48.6
},
"components": {
"expected_quality": 1.905,
"regression_edge": 0.6286,
"xwoba_edge": 2.5,
"xba_edge": 1.7143,
"xslg_edge": 2.5,
"barrel_edge": 1.2889,
"hard_hit_edge": 1.6714,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 1.45,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "690993",
"player_name": "Colt Keith",
"offense_factor": 1.0248,
"quality_score": 0.3301,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690993",
"espn_id": 4683384,
"player_name": "Colt Keith",
"team": "DET",
"role": "batter",
"espn_rank": 278,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 278,
"gp_value": 72.0,
"gp_rank": 124,
"ab_value": 211.0,
"ab_rank": 164,
"r_value": 28.0,
"r_rank": 158,
"h_value": 54.0,
"h_rank": 144,
"avg_value": 0.2559241,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 202,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 4.0,
"hr_rank": 222,
"rbi_value": 17.0,
"rbi_rank": 256,
"tb_value": 78.0,
"tb_rank": 1052,
"bb_value": 11.0,
"bb_rank": 278,
"so_value": 44.0,
"so_rank": 183,
"sb_value": 4.0,
"sb_rank": 133,
"obp_value": 0.3008849,
"obp_rank": "-",
"slg_value": 0.3696682,
"slg_rank": "-",
"ops_value": 0.6705531,
"ops_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 160.0,
"k_percent": 19.5,
"bb_percent": 4.9,
"woba": 0.297,
"xwoba": 0.319,
"xba": 0.266,
"xslg": 0.423,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 12.6,
"whiff_percent": 22.0,
"swing_percent": 43.9
},
"components": {
"expected_quality": 0.4254,
"regression_edge": 0.6286,
"xwoba_edge": 0.4286,
"xba_edge": 0.7429,
"xslg_edge": 0.7,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.4857,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "679529",
"player_name": "Spencer Torkelson",
"offense_factor": 1.035,
"quality_score": 0.4671,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679529",
"espn_id": 4424286,
"player_name": "Spencer Torkelson",
"team": "DET",
"role": "batter",
"espn_rank": 504,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 504,
"gp_value": 79.0,
"gp_rank": 20,
"ab_value": 265.0,
"ab_rank": 99,
"r_value": 30.0,
"r_rank": 140,
"h_value": 56.0,
"h_rank": 135,
"avg_value": 0.2113207,
"avg_rank": 153.0,
"2b_value": 17.0,
"2b_rank": 23,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 12.0,
"hr_rank": 57,
"rbi_value": 31.0,
"rbi_rank": 120,
"tb_value": 109.0,
"tb_rank": 737,
"bb_value": 35.0,
"bb_rank": 43,
"so_value": 99.0,
"so_rank": 8,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3104575,
"obp_rank": "122",
"slg_value": 0.4113207,
"slg_rank": "96",
"ops_value": 0.7217782,
"ops_rank": 26.0,
"war_value": -0.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 32.2,
"bb_percent": 11.4,
"woba": 0.319,
"xwoba": 0.318,
"xba": 0.214,
"xslg": 0.406,
"sweet_spot_percent": 46.4,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 20.5,
"whiff_percent": 31.1,
"swing_percent": 43.0
},
"components": {
"expected_quality": 0.5657,
"regression_edge": -0.0286,
"xwoba_edge": 0.4,
"xba_edge": -0.7429,
"xslg_edge": 0.4571,
"barrel_edge": 1.5111,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 2.1833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "SS",
"player_id": "656716",
"player_name": "Zach McKinstry",
"offense_factor": 0.9636,
"quality_score": -0.4848,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656716",
"espn_id": 38420,
"player_name": "Zach McKinstry",
"team": "DET",
"role": "batter",
"espn_rank": 514,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 514,
"gp_value": 55.0,
"gp_rank": 228,
"ab_value": 159.0,
"ab_rank": 244,
"r_value": 11.0,
"r_rank": 343,
"h_value": 29.0,
"h_rank": 285,
"avg_value": 0.1823899,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 12.0,
"rbi_rank": 304,
"tb_value": 43.0,
"tb_rank": 1604,
"bb_value": 20.0,
"bb_rank": 166,
"so_value": 34.0,
"so_rank": 257,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2707182,
"obp_rank": "-",
"slg_value": 0.2704402,
"slg_rank": "-",
"ops_value": 0.5411584,
"ops_rank": null,
"war_value": -0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 111.0,
"k_percent": 18.6,
"bb_percent": 10.9,
"woba": 0.247,
"xwoba": 0.26,
"xba": 0.205,
"xslg": 0.277,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 20.9,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 13.4,
"whiff_percent": 16.4,
"swing_percent": 48.2
},
"components": {
"expected_quality": -1.1778,
"regression_edge": 0.3714,
"xwoba_edge": -1.2571,
"xba_edge": -1.0,
"xslg_edge": -1.3857,
"barrel_edge": -1.0444,
"hard_hit_edge": -2.4857,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "681546",
"player_name": "James Outman",
"offense_factor": 0.9456,
"quality_score": -0.7252,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681546",
"espn_id": 41802,
"player_name": "James Outman",
"team": "DET",
"role": "batter",
"espn_rank": 440,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 440,
"gp_value": 58.0,
"gp_rank": 210,
"ab_value": 80.0,
"ab_rank": 373,
"r_value": 11.0,
"r_rank": 343,
"h_value": 13.0,
"h_rank": 397,
"avg_value": 0.1625,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 5.0,
"rbi_rank": 416,
"tb_value": 22.0,
"tb_rank": 2005,
"bb_value": 7.0,
"bb_rank": 351,
"so_value": 39.0,
"so_rank": 232,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.2386363,
"obp_rank": "-",
"slg_value": 0.275,
"slg_rank": "-",
"ops_value": 0.5136363,
"ops_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 62.0,
"k_percent": 44.3,
"bb_percent": 8.0,
"woba": 0.234,
"xwoba": 0.212,
"xba": 0.149,
"xslg": 0.231,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 34.1,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 18.3,
"whiff_percent": 41.8,
"swing_percent": 52.7
},
"components": {
"expected_quality": -1.7717,
"regression_edge": -0.6286,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.0429,
"barrel_edge": -1.0222,
"hard_hit_edge": -0.6,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "701678",
"player_name": "Hao-Yu Lee",
"offense_factor": 0.9924,
"quality_score": -0.1012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701678",
"espn_id": 5124113,
"player_name": "Hao-Yu Lee",
"team": "DET",
"role": "batter",
"espn_rank": 454,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 454,
"gp_value": 42.0,
"gp_rank": 315,
"ab_value": 112.0,
"ab_rank": 314,
"r_value": 8.0,
"r_rank": 377,
"h_value": 28.0,
"h_rank": 292,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 10.0,
"rbi_rank": 336,
"tb_value": 41.0,
"tb_rank": 1691,
"bb_value": 5.0,
"bb_rank": 394,
"so_value": 32.0,
"so_rank": 275,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2820512,
"obp_rank": "-",
"slg_value": 0.3660714,
"slg_rank": "-",
"ops_value": 0.6481226,
"ops_rank": null,
"war_value": -0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 72.0,
"k_percent": 27.1,
"bb_percent": 4.2,
"woba": 0.285,
"xwoba": 0.282,
"xba": 0.231,
"xslg": 0.385,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 32.1,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 18.1,
"whiff_percent": 30.4,
"swing_percent": 49.5
},
"components": {
"expected_quality": -0.2474,
"regression_edge": -0.0857,
"xwoba_edge": -0.6286,
"xba_edge": -0.2571,
"xslg_edge": 0.1571,
"barrel_edge": 0.3556,
"hard_hit_edge": -0.8857,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": 1.0333,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0159,
"raw_average_factor": 1.0159,
"team_espn_average_rank": 177.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670541",
"espn_id": 36018,
"player_name": "Yordan Alvarez",
"team": "HOU",
"role": "batter",
"espn_rank": 6,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 6,
"gp_value": 81.0,
"gp_rank": 2,
"ab_value": 292.0,
"ab_rank": 36,
"r_value": 57.0,
"r_rank": 3,
"h_value": 94.0,
"h_rank": 3,
"avg_value": 0.3219178,
"avg_rank": 4.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 25.0,
"hr_rank": 2,
"rbi_value": 56.0,
"rbi_rank": 6,
"tb_value": 185.0,
"tb_rank": 448,
"bb_value": 55.0,
"bb_rank": 5,
"so_value": 59.0,
"so_rank": 106,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.4350282,
"obp_rank": "1",
"slg_value": 0.6335616,
"slg_rank": "1",
"ops_value": 1.0685898,
"ops_rank": 2.0,
"war_value": 3.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 235.0,
"k_percent": 16.7,
"bb_percent": 15.5,
"woba": 0.445,
"xwoba": 0.483,
"xba": 0.343,
"xslg": 0.72,
"sweet_spot_percent": 45.1,
"barrel_batted_rate": 18.9,
"hard_hit_percent": 53.6,
"exit_velocity_avg": 94.4,
"launch_angle_avg": 19.1,
"whiff_percent": 18.8,
"swing_percent": 43.2
},
"components": {
"expected_quality": 2.4001,
"regression_edge": 1.0857,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.1857,
"exit_velocity_edge": 2.24,
"sweet_spot_edge": 1.9667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "670623",
"player_name": "Isaac Paredes",
"offense_factor": 1.0007,
"quality_score": 0.0093,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670623",
"espn_id": 39706,
"player_name": "Isaac Paredes",
"team": "HOU",
"role": "batter",
"espn_rank": 104,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 104,
"gp_value": 75.0,
"gp_rank": 79,
"ab_value": 270.0,
"ab_rank": 91,
"r_value": 31.0,
"r_rank": 130,
"h_value": 67.0,
"h_rank": 89,
"avg_value": 0.2481481,
"avg_rank": 90.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 40.0,
"rbi_rank": 57,
"tb_value": 112.0,
"tb_rank": 789,
"bb_value": 31.0,
"bb_rank": 62,
"so_value": 53.0,
"so_rank": 140,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3471337,
"obp_rank": "55",
"slg_value": 0.4148148,
"slg_rank": "93",
"ops_value": 0.7619485,
"ops_rank": 38.0,
"war_value": 1.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 16.9,
"bb_percent": 9.9,
"woba": 0.34,
"xwoba": 0.321,
"xba": 0.241,
"xslg": 0.369,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 31.5,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 24.1,
"whiff_percent": 17.2,
"swing_percent": 43.5
},
"components": {
"expected_quality": 0.0998,
"regression_edge": -0.5429,
"xwoba_edge": 0.4857,
"xba_edge": 0.0286,
"xslg_edge": -0.0714,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "514888",
"player_name": "Jose Altuve",
"offense_factor": 0.9909,
"quality_score": -0.1214,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "514888",
"espn_id": 31662,
"player_name": "Jose Altuve",
"team": "HOU",
"role": "batter",
"espn_rank": 391,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 391,
"gp_value": 59.0,
"gp_rank": 205,
"ab_value": 226.0,
"ab_rank": 142,
"r_value": 36.0,
"r_rank": 89,
"h_value": 54.0,
"h_rank": 144,
"avg_value": 0.238938,
"avg_rank": 113.0,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 21.0,
"rbi_rank": 220,
"tb_value": 90.0,
"tb_rank": 990,
"bb_value": 24.0,
"bb_rank": 114,
"so_value": 56.0,
"so_rank": 126,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.313492,
"obp_rank": "115",
"slg_value": 0.39823,
"slg_rank": "106",
"ops_value": 0.711722,
"ops_rank": 9.0,
"war_value": -0.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 22.1,
"bb_percent": 9.5,
"woba": 0.314,
"xwoba": 0.303,
"xba": 0.243,
"xslg": 0.364,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 34.3,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 8.4,
"whiff_percent": 24.9,
"swing_percent": 46.0
},
"components": {
"expected_quality": -0.1213,
"regression_edge": -0.3143,
"xwoba_edge": -0.0286,
"xba_edge": 0.0857,
"xslg_edge": -0.1429,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.5714,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "665161",
"player_name": "Jeremy Peña",
"offense_factor": 1.0178,
"quality_score": 0.2378,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665161",
"espn_id": 41273,
"player_name": "Jeremy Pena",
"team": "HOU",
"role": "batter",
"espn_rank": 58,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 58,
"gp_value": 44.0,
"gp_rank": 301,
"ab_value": 165.0,
"ab_rank": 233,
"r_value": 30.0,
"r_rank": 140,
"h_value": 47.0,
"h_rank": 190,
"avg_value": 0.2848484,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 19.0,
"rbi_rank": 240,
"tb_value": 74.0,
"tb_rank": 1283,
"bb_value": 15.0,
"bb_rank": 222,
"so_value": 29.0,
"so_rank": 296,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.3532608,
"obp_rank": "-",
"slg_value": 0.4484848,
"slg_rank": "-",
"ops_value": 0.8017456,
"ops_rank": null,
"war_value": 2.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 86.0,
"k_percent": 15.8,
"bb_percent": 8.2,
"woba": 0.353,
"xwoba": 0.35,
"xba": 0.297,
"xslg": 0.431,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 36.5,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 13.0,
"whiff_percent": 26.9,
"swing_percent": 52.3
},
"components": {
"expected_quality": 0.6285,
"regression_edge": -0.0857,
"xwoba_edge": 1.3143,
"xba_edge": 1.6286,
"xslg_edge": 0.8143,
"barrel_edge": -0.5778,
"hard_hit_edge": -0.2571,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "572233",
"player_name": "Christian Walker",
"offense_factor": 1.0106,
"quality_score": 0.1408,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "572233",
"espn_id": 32758,
"player_name": "Christian Walker",
"team": "HOU",
"role": "batter",
"espn_rank": 89,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 89,
"gp_value": 80.0,
"gp_rank": 9,
"ab_value": 300.0,
"ab_rank": 24,
"r_value": 43.0,
"r_rank": 48,
"h_value": 70.0,
"h_rank": 73,
"avg_value": 0.2333333,
"avg_rank": 123.0,
"2b_value": 14.0,
"2b_rank": 63,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 18.0,
"hr_rank": 12,
"rbi_value": 52.0,
"rbi_rank": 13,
"tb_value": 140.0,
"tb_rank": 336,
"bb_value": 28.0,
"bb_rank": 85,
"so_value": 74.0,
"so_rank": 51,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3063063,
"obp_rank": "128",
"slg_value": 0.4666666,
"slg_rank": "46",
"ops_value": 0.7729729,
"ops_rank": 174.0,
"war_value": 1.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 22.2,
"bb_percent": 8.4,
"woba": 0.333,
"xwoba": 0.308,
"xba": 0.23,
"xslg": 0.403,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 45.4,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 14.9,
"whiff_percent": 29.9,
"swing_percent": 49.5
},
"components": {
"expected_quality": 0.28,
"regression_edge": -0.7143,
"xwoba_edge": 0.1143,
"xba_edge": -0.2857,
"xslg_edge": 0.4143,
"barrel_edge": 0.8,
"hard_hit_edge": 1.0143,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "694388",
"player_name": "Joey Loperfido",
"offense_factor": 1.0042,
"quality_score": 0.0555,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694388",
"espn_id": 4297976,
"player_name": "Joey Loperfido",
"team": "HOU",
"role": "batter",
"espn_rank": 316,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 316,
"gp_value": 33.0,
"gp_rank": 353,
"ab_value": 87.0,
"ab_rank": 358,
"r_value": 13.0,
"r_rank": 317,
"h_value": 21.0,
"h_rank": 342,
"avg_value": 0.2413793,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 11.0,
"rbi_rank": 317,
"tb_value": 33.0,
"tb_rank": 1844,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 23.0,
"so_rank": 340,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3431372,
"obp_rank": "-",
"slg_value": 0.3793103,
"slg_rank": "-",
"ops_value": 0.7224475,
"ops_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 65.0,
"k_percent": 22.3,
"bb_percent": 12.6,
"woba": 0.32,
"xwoba": 0.317,
"xba": 0.247,
"xslg": 0.365,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 35.4,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 11.3,
"whiff_percent": 30.7,
"swing_percent": 47.1
},
"components": {
"expected_quality": 0.1575,
"regression_edge": -0.0857,
"xwoba_edge": 0.3714,
"xba_edge": 0.2,
"xslg_edge": -0.1286,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.4143,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "701358",
"player_name": "Cam Smith",
"offense_factor": 1.0575,
"quality_score": 0.767,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701358",
"espn_id": 5080766,
"player_name": "Cam Smith",
"team": "HOU",
"role": "batter",
"espn_rank": 141,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 141,
"gp_value": 80.0,
"gp_rank": 9,
"ab_value": 268.0,
"ab_rank": 93,
"r_value": 31.0,
"r_rank": 130,
"h_value": 59.0,
"h_rank": 123,
"avg_value": 0.2201492,
"avg_rank": 145.0,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 28.0,
"rbi_rank": 152,
"tb_value": 97.0,
"tb_rank": 725,
"bb_value": 28.0,
"bb_rank": 85,
"so_value": 79.0,
"so_rank": 36,
"sb_value": 9.0,
"sb_rank": 50,
"obp_value": 0.30033,
"obp_rank": "138",
"slg_value": 0.3619402,
"slg_rank": "136",
"ops_value": 0.6622702,
"ops_rank": 2.0,
"war_value": 0.98,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 26.0,
"bb_percent": 9.2,
"woba": 0.296,
"xwoba": 0.335,
"xba": 0.248,
"xslg": 0.445,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 10.7,
"whiff_percent": 30.7,
"swing_percent": 46.7
},
"components": {
"expected_quality": 0.7529,
"regression_edge": 1.1143,
"xwoba_edge": 0.8857,
"xba_edge": 0.2286,
"xslg_edge": 1.0143,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.0714,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "666211",
"player_name": "Taylor Trammell",
"offense_factor": 0.9656,
"quality_score": -0.4582,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666211",
"espn_id": 37773,
"player_name": "Taylor Trammell",
"team": "HOU",
"role": "batter",
"espn_rank": 295,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 295,
"gp_value": 31.0,
"gp_rank": 369,
"ab_value": 80.0,
"ab_rank": 373,
"r_value": 10.0,
"r_rank": 354,
"h_value": 22.0,
"h_rank": 333,
"avg_value": 0.275,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 8.0,
"rbi_rank": 363,
"tb_value": 32.0,
"tb_rank": 1897,
"bb_value": 6.0,
"bb_rank": 372,
"so_value": 32.0,
"so_rank": 275,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.4,
"slg_rank": "-",
"ops_value": 0.7333333,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 42.0,
"k_percent": 36.4,
"bb_percent": 6.8,
"woba": 0.325,
"xwoba": 0.259,
"xba": 0.199,
"xslg": 0.313,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 34.7,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 12.2,
"whiff_percent": 41.0,
"swing_percent": 46.8
},
"components": {
"expected_quality": -0.8769,
"regression_edge": -1.8857,
"xwoba_edge": -1.2857,
"xba_edge": -1.1714,
"xslg_edge": -0.8714,
"barrel_edge": -0.2,
"hard_hit_edge": -0.5143,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -1.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "543877",
"player_name": "Christian Vázquez",
"offense_factor": 0.9455,
"quality_score": -0.7271,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "543877",
"espn_id": 31389,
"player_name": "Christian Vazquez",
"team": "HOU",
"role": "batter",
"espn_rank": 200,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 200,
"gp_value": 53.0,
"gp_rank": 237,
"ab_value": 152.0,
"ab_rank": 257,
"r_value": 16.0,
"r_rank": 275,
"h_value": 33.0,
"h_rank": 265,
"avg_value": 0.2171052,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 4.0,
"hr_rank": 222,
"rbi_value": 19.0,
"rbi_rank": 240,
"tb_value": 51.0,
"tb_rank": 1591,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 27.0,
"so_rank": 309,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2787878,
"obp_rank": "-",
"slg_value": 0.3355263,
"slg_rank": "-",
"ops_value": 0.6143141,
"ops_rank": null,
"war_value": 0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 115.0,
"k_percent": 16.1,
"bb_percent": 7.7,
"woba": 0.273,
"xwoba": 0.237,
"xba": 0.196,
"xslg": 0.266,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 23.4,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 14.1,
"whiff_percent": 18.2,
"swing_percent": 46.8
},
"components": {
"expected_quality": -1.4499,
"regression_edge": -1.0286,
"xwoba_edge": -1.9143,
"xba_edge": -1.2571,
"xslg_edge": -1.5429,
"barrel_edge": -1.2,
"hard_hit_edge": -2.1286,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": -0.4667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away HOU | True | 602 | -0.0841 | 0.4500 | 1.0071 | 1.0256 | 1.0378 | 1.0343 | neutral | 0.3300 | 0.3300 | 26.50 | 13.30 | 32 | 8.60 | 44.80 | |
| Home DET | True | 80 | -0.0138 | 0.4500 | 1.0012 | 0.9667 | 0.9829 | 0.9857 | neutral | 0.3050 | 0.2790 | 15.20 | 7.20 | 20.40 | 6.30 | 36.80 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away HOU | True | None | 85 | 90.84 | 2104 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0608 | |
| Home DET | True | None | 79 | 92.87 | 2168 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1748 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0005 |
| home_runs_vs_away_pitcher | 1.0032 |
| home_pitcher_quality_edge | 0.0703 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "675512",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 22.0,
"k_percent": 15.2,
"bb_percent": 7.2,
"woba": 0.279,
"xwoba": 0.305,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 36.8,
"avg_best_speed": 79.1017,
"avg_hyper_speed": 93.8584,
"whiff_percent": 20.4,
"swing_percent": 48.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3591,
"command_and_miss": -0.6596,
"regression_edge": -0.7429,
"xwoba_edge": 0.2714,
"barrel_edge": 0.1889,
"hard_hit_edge": 0.2143,
"whiff_edge": -0.7786,
"bb_edge": 0.475,
"pitch_design_score": 0.1748
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675512",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 92.87215189873416,
"release_spin_rate": 2168.126582278481,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 92.87215189873416,
"release_spin_rate": 2168.126582278481,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8722,
"release_spin_rate": 2168.1266,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1748,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2483,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0138,
"sample_weight": 0.45,
"run_prevention_factor": 1.0012,
"strikeout_factor": 0.9667,
"walk_factor": 0.9829,
"homer_factor": 0.9857,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675512",
"espn_id": 5294127,
"player_name": "Troy Melton",
"team": "DET",
"role": "pitcher",
"espn_rank": 80,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 80,
"gp_value": 5.0,
"gp_rank": 501,
"gs_value": 5.0,
"gs_rank": 172,
"qs_value": 3.0,
"qs_rank": 96,
"era_value": 2.5578,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 31.2,
"ip_rank": 260,
"h_value": 21.0,
"h_rank": 344,
"er_value": 9.0,
"er_rank": 383,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 9.0,
"bb_rank": 355,
"k_value": 19.0,
"k_rank": 381,
"k_per_9_value": 5.4,
"k_per_9_rank": 39,
"whip_value": 0.9473,
"whip_rank": null,
"war_value": 1.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "837227",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 26.5,
"bb_percent": 13.3,
"woba": 0.33,
"xwoba": 0.33,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 44.8,
"avg_best_speed": 81.2063,
"avg_hyper_speed": 94.5867,
"whiff_percent": 32.0,
"swing_percent": 43.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.501,
"command_and_miss": 0.3418,
"regression_edge": 0.0,
"xwoba_edge": -0.4429,
"barrel_edge": -0.3222,
"hard_hit_edge": -0.9286,
"whiff_edge": 0.8786,
"bb_edge": -1.05,
"pitch_design_score": 0.0608
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "837227",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 85,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 85,
"pitch_usage": 0.0,
"release_speed": 90.8376227425605,
"release_spin_rate": 2104.2965515444157,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 85,
"pitch_usage": 0.0,
"release_speed": 90.8376227425605,
"release_spin_rate": 2104.2965515444157,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8376,
"release_spin_rate": 2104.2966,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0608,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4345,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0841,
"sample_weight": 0.45,
"run_prevention_factor": 1.0071,
"strikeout_factor": 1.0256,
"walk_factor": 1.0378,
"homer_factor": 1.0343,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "837227",
"espn_id": 5330833,
"player_name": "Tatsuya Imai",
"team": "HOU",
"role": "pitcher",
"espn_rank": 602,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 602,
"gp_value": 10.0,
"gp_rank": 402,
"gs_value": 10.0,
"gs_rank": 120,
"qs_value": 3.0,
"qs_rank": 96,
"era_value": 6.1463,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 41.0,
"ip_rank": 169,
"h_value": 35.0,
"h_rank": 186,
"er_value": 28.0,
"er_rank": 107,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 24.0,
"bb_rank": 85,
"k_value": 48.0,
"k_rank": 134,
"k_per_9_value": 10.536586,
"k_per_9_rank": 21,
"whip_value": 1.439,
"whip_rank": null,
"war_value": -0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0005,
"home_runs_vs_away_pitcher": 1.0032,
"home_pitcher_quality_edge": 0.0703
},
"score_before": {
"away_runs": 1.2149,
"home_runs": 4.39
},
"score_after": {
"away_runs": 1.2155,
"home_runs": 4.404,
"home_win_probability": 0.7723
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away HOU | 23-44 | 0.343 | 1.20 | 4.40 | -214 | cold | average | |
| Home DET | 20-49 | 0.290 | 1.10 | 2.90 | -123 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away HOU | 39-43 | 0.476 | -39 | -0.476 | True |
| Home DET | 34-46 | 0.425 | -6 | -0.075 | True |
| Signal | - | - | 0.401 | 0.325 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target HOU | - | - | 2 | - | - | - | - |
| Game target DET | - | - | 4 | - | - | - | - |
| Player finalized HOU | 32 | 9 | 3 | 0 | 2 | 1 | 9 |
| Player finalized DET | 30 | 9 | 2 | 0 | 1 | 2 | 9 |
| Player model fractional HOU | 31.83 | 7.29 | 4.30 | 1.12 | 3.81 | 3.40 | 7.33 |
| Player model fractional DET | 29.90 | 7.04 | 3.47 | 1.01 | 3.44 | 2.97 | 7.97 |
| Simulation box HOU | 33 | 6 | 3 | 0 | 3 | 3 | 7 |
| Simulation box DET | 32 | 8 | 4 | 2 | 4 | 1 | 9 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away HOU | Starter | Tatsuya Imai | 4.10 | 3 | 6 | 4 | 1 | 5.00 | 1.31 | True |
| Away HOU | Middle Reliever | Bryan King | 1 | 1 | 1 | 3 | 0 | 2.90 | 1.16 | True |
| Away HOU | Middle Reliever | Josh Hader | 1.10 | 0 | 1 | 1 | 0 | 3.62 | 1.10 | True |
| Away HOU | Middle Reliever | Enyel De Los Santos | 1.10 | 0 | 1 | 0 | 0 | 6.37 | 1.42 | True |
| Home DET | Starter | Troy Melton | 6.10 | 3 | 5 | 6 | 3 | 3.53 | 1.14 | True |
| Home DET | Middle Reliever | Kenley Jansen | 1 | 0 | 0 | 0 | 0 | 4.37 | 1.21 | True |
| Home DET | Middle Reliever | Will Vest | 1 | 0 | 1 | 0 | 0 | 4.21 | 1.22 | True |
| Home DET | Middle Reliever | Kyle Finnegan | 0.20 | 0 | 1 | 0 | 0 | 2.92 | 1.40 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | DET | batter | DH | Kevin McGonigle | worse | 11 | 5 | 6 | 4 | 7 | predicted_RBI | 2.5500 | boost | better |
| away | HOU | batter | CF | Taylor Trammell | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.8500 | boost | better |
| home | DET | batter | 2B | Hao-Yu Lee | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.2200 | boost | worse |
| home | DET | batter | CF | James Outman | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.2190 | deboost | better |
| away | HOU | batter | DH | Yordan Alvarez | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.1000 | deboost | worse |
| away | HOU | batter | 1B | Christian Walker | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.0760 | boost | worse |
| away | HOU | pitcher | Starter | Tatsuya Imai | worse | 3 | 2 | 1 | 0 | 3 | predicted_ER | 1.0000 | boost | worse |
| away | HOU | pitcher | Middle Reliever | Bryan King | better | 2 | 0 | 2 | 2 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | HOU | pitcher | Middle Reliever | Enyel De Los Santos | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | DET | pitcher | Starter | Troy Melton | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | DET | pitcher | Middle Reliever | Will Vest | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| away | HOU | batter | 3B | Isaac Paredes | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.9900 | deboost | worse |
| home | DET | batter | C | Dillon Dingler | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 0.9400 | boost | better |
| home | DET | batter | RF | Kerry Carpenter | worse | 10 | 4 | 6 | 4 | 6 | predicted_AB | 0.9100 | boost | better |
| home | DET | batter | 3B | Colt Keith | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 0.8800 | boost | better |
| home | DET | batter | LF | Riley Greene | worse | 9 | 4 | 5 | 3 | 6 | predicted_SO | 0.8610 | boost | worse |
| home | DET | batter | 1B | Spencer Torkelson | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | -0.8200 | deboost | worse |
| away | HOU | batter | 2B | Jose Altuve | worse | 8 | 3 | 5 | 2 | 6 | predicted_2B | 0.7970 | boost | better |
| away | HOU | batter | RF | Cam Smith | worse | 8 | 1 | 7 | 1 | 7 | predicted_H | -0.7800 | deboost | worse |
| away | HOU | batter | C | Christian Vázquez | worse | 10 | 1 | 9 | 2 | 8 | predicted_BB | 0.7650 | boost | better |
| away | HOU | batter | SS | Jeremy Peña | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -0.6740 | deboost | better |
| away | HOU | batter | LF | Joey Loperfido | boosted | 10 | 6 | 4 | 5 | 5 | predicted_BB | 0.6670 | boost | better |
| home | DET | batter | SS | Zach McKinstry | worse | 9 | 1 | 8 | 2 | 7 | predicted_SO | -0.6540 | deboost | better |
| home | DET | pitcher | Middle Reliever | Kyle Finnegan | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | HOU | pitcher | Middle Reliever | Josh Hader | 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 | Tatsuya Imai |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0841 |
| ESPN Rank | 602 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0608 |
| Avg Velo | 90.8376 |
| Avg Spin | 2104.2966 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 6.1463 |
| Season WHIP | 1.4390 |
| Role Avg IP | 4.1000 |
| Recent Avg IP | 4.7330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4667,
"runs_scored": 401.0,
"runs_allowed": 440.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4333,
"avg_runs_scored": 4.4556,
"avg_runs_allowed": 4.8889,
"offense_index": 0.9892,
"defense_index": 0.9213,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.1,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.0462
},
"opponent": {
"team": "DET",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.4138,
"runs_scored": 348.0,
"runs_allowed": 352.0,
"run_differential": -4.0,
"run_differential_per_game": -0.046,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.046,
"offense_index": 0.8881,
"defense_index": 1.1133,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.0,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.0789
},
"edges": {
"quality_edge": 0.0327,
"offense_edge": -0.0108,
"opponent_offense_edge": -0.1119,
"defense_strength": -0.0787,
"opponent_defense_weakness": -0.1133,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0034,
"run_prevention": 0.9883,
"strikeout": 1.0099
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "837227",
"profile": {
"available": true,
"pitcher_id": "837227",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 26.5,
"bb_percent": 13.3,
"woba": 0.33,
"xwoba": 0.33,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 44.8,
"avg_best_speed": 81.2063,
"avg_hyper_speed": 94.5867,
"whiff_percent": 32.0,
"swing_percent": 43.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.501,
"command_and_miss": 0.3418,
"regression_edge": 0.0,
"xwoba_edge": -0.4429,
"barrel_edge": -0.3222,
"hard_hit_edge": -0.9286,
"whiff_edge": 0.8786,
"bb_edge": -1.05,
"pitch_design_score": 0.0608
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "837227",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 85,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 85,
"pitch_usage": 0.0,
"release_speed": 90.8376227425605,
"release_spin_rate": 2104.2965515444157,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 85,
"pitch_usage": 0.0,
"release_speed": 90.8376227425605,
"release_spin_rate": 2104.2965515444157,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8376,
"release_spin_rate": 2104.2966,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0608,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4345,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0841,
"sample_weight": 0.45,
"run_prevention_factor": 1.0071,
"strikeout_factor": 1.0256,
"walk_factor": 1.0378,
"homer_factor": 1.0343,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "837227",
"espn_id": 5330833,
"player_name": "Tatsuya Imai",
"team": "HOU",
"role": "pitcher",
"espn_rank": 602,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 602,
"gp_value": 10.0,
"gp_rank": 402,
"gs_value": 10.0,
"gs_rank": 120,
"qs_value": 3.0,
"qs_rank": 96,
"era_value": 6.1463,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 41.0,
"ip_rank": 169,
"h_value": 35.0,
"h_rank": 186,
"er_value": 28.0,
"er_rank": 107,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 24.0,
"bb_rank": 85,
"k_value": 48.0,
"k_rank": 134,
"k_per_9_value": 10.536586,
"k_per_9_rank": 21,
"whip_value": 1.439,
"whip_rank": null,
"war_value": -0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0032,
"adjusted": 3
},
"predicted_H": {
"original": 3.0,
"factor": 1.0032,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 1.017,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0154,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0115,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 41.0,
"ER": 28,
"H": 35,
"BB": 24,
"SO": 48,
"HR": 6,
"ERA": 6.146341463414634,
"WHIP": 1.4390243902439024,
"K9": 10.536585365853659,
"HR9": 1.3170731707317074,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "837227",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 85,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 85,
"pitch_usage": 0.0,
"release_speed": 90.8376227425605,
"release_spin_rate": 2104.2965515444157,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 85,
"pitch_usage": 0.0,
"release_speed": 90.8376227425605,
"release_spin_rate": 2104.2965515444157,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8376,
"release_spin_rate": 2104.2966,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0608,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4345,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.5625,
"last_10": 0.43749999999999994
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6667,
"prior_weight": 0.3333
},
"role": "pitcher",
"player_id": "837227",
"report_date": "20260625_H",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.2,
"ER": 12.0,
"R": 12.0,
"H": 18.0,
"BB": 10.0,
"SO": 27.0,
"HR": 2.0,
"BF": 98.0,
"Pitches": 426.0
},
"per_game": {
"IP": 4.2,
"ER": 2.4,
"R": 2.4,
"H": 3.6,
"BB": 2.0,
"SO": 5.4,
"HR": 0.4,
"BF": 19.6,
"Pitches": 85.2
},
"rates": {
"ERA": 4.5634,
"WHIP": 1.1831,
"ER_per_IP": 0.50704,
"H_per_IP": 0.76056,
"BB_per_IP": 0.42254,
"SO_per_IP": 1.14085,
"HR_per_IP": 0.08451
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 41.0,
"ER": 28.0,
"R": 28.0,
"H": 35.0,
"BB": 24.0,
"SO": 48.0,
"HR": 6.0,
"BF": 181.0,
"Pitches": 785.0
},
"per_game": {
"IP": 4.0,
"ER": 2.8,
"R": 2.8,
"H": 3.5,
"BB": 2.4,
"SO": 4.8,
"HR": 0.6,
"BF": 18.1,
"Pitches": 78.5
},
"rates": {
"ERA": 6.1463,
"WHIP": 1.439,
"ER_per_IP": 0.68293,
"H_per_IP": 0.85366,
"BB_per_IP": 0.58537,
"SO_per_IP": 1.17073,
"HR_per_IP": 0.14634
}
},
"season": {
"games": 10,
"totals": {
"IP": 41.0,
"ER": 28.0,
"R": 28.0,
"H": 35.0,
"BB": 24.0,
"SO": 48.0,
"HR": 6.0,
"BF": 181.0,
"Pitches": 785.0
},
"per_game": {
"IP": 4.0,
"ER": 2.8,
"R": 2.8,
"H": 3.5,
"BB": 2.4,
"SO": 4.8,
"HR": 0.6,
"BF": 18.1,
"Pitches": 78.5
},
"rates": {
"ERA": 6.1463,
"WHIP": 1.439,
"ER_per_IP": 0.68293,
"H_per_IP": 0.85366,
"BB_per_IP": 0.58537,
"SO_per_IP": 1.17073,
"HR_per_IP": 0.14634
}
}
},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.424,
"predicted_H": 3.739,
"predicted_BB": 1.959,
"predicted_SO": 4.732,
"predicted_HR": 0.537,
"predicted_ERA": 5.0029,
"predicted_WHIP": 1.3066
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4908,
"form_weight": 0.5092,
"form_reliability": 0.6667,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6667,
"prior_weight": 0.3333
},
"applied_metrics": {
"predicted_IP": {
"model": 4.1,
"form": 4.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.424,
"final": 2.2159,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.739,
"final": 3.3763,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.959,
"final": 1.4883,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.732,
"final": 5.3544,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.537,
"final": 0.7642,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0029,
"final": 5.0029,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3066,
"final": 1.3066,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan King |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0656 |
| ESPN Rank | 88 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.3824 |
| Season WHIP | 1.2647 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4667,
"runs_scored": 401.0,
"runs_allowed": 440.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4333,
"avg_runs_scored": 4.4556,
"avg_runs_allowed": 4.8889,
"offense_index": 0.9892,
"defense_index": 0.9213,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.1,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.0462
},
"opponent": {
"team": "DET",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.4138,
"runs_scored": 348.0,
"runs_allowed": 352.0,
"run_differential": -4.0,
"run_differential_per_game": -0.046,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.046,
"offense_index": 0.8881,
"defense_index": 1.1133,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.0,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.0789
},
"edges": {
"quality_edge": 0.0327,
"offense_edge": -0.0108,
"opponent_offense_edge": -0.1119,
"defense_strength": -0.0787,
"opponent_defense_weakness": -0.1133,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0034,
"run_prevention": 0.9883,
"strikeout": 1.0099
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687911",
"profile": {
"available": true,
"pitcher_id": "687911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 17.9,
"bb_percent": 9.7,
"woba": 0.286,
"xwoba": 0.294,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 2.0,
"hard_hit_percent": 36.6,
"avg_best_speed": 75.9687,
"avg_hyper_speed": 93.0519,
"whiff_percent": 18.0,
"swing_percent": 48.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.6405,
"command_and_miss": -0.7311,
"regression_edge": -0.2286,
"xwoba_edge": 0.5857,
"barrel_edge": 1.1444,
"hard_hit_edge": 0.2429,
"whiff_edge": -1.1214,
"bb_edge": -0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0656,
"sample_weight": 0.45,
"run_prevention_factor": 0.9944,
"strikeout_factor": 0.9675,
"walk_factor": 1.0054,
"homer_factor": 0.9465,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687911",
"espn_id": 5201821,
"player_name": "Bryan King",
"team": "HOU",
"role": "pitcher",
"espn_rank": 88,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 88,
"gp_value": 32.0,
"gp_rank": 66,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.3823,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 6.0,
"sv_rank": 23,
"hld_value": 8.0,
"hld_rank": 49,
"ip_value": 34.0,
"ip_rank": 229,
"h_value": 29.0,
"h_rank": 247,
"er_value": 9.0,
"er_rank": 383,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 14.0,
"bb_rank": 226,
"k_value": 26.0,
"k_rank": 316,
"k_per_9_value": 6.8823533,
"k_per_9_rank": 37,
"whip_value": 1.2647,
"whip_rank": null,
"war_value": 1.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9975,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9975,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0024,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9759,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9854,
"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": 1,
"H": 6,
"BB": 4,
"SO": 7,
"HR": 0,
"ERA": 1.0384615384615385,
"WHIP": 1.153846153846154,
"K9": 7.26923076923077,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "687911",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.732,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5738,
"prior_weight": 0.4262
},
"role": "pitcher",
"player_id": "687911",
"report_date": "20260625_H",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.8571,
"ER_per_IP": 0.21429,
"H_per_IP": 0.42857,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 4.0,
"SO": 7.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.4,
"SO": 0.7,
"HR": 0.0,
"BF": 3.5,
"Pitches": 13.5
},
"rates": {
"ERA": 1.0385,
"WHIP": 1.1538,
"ER_per_IP": 0.11538,
"H_per_IP": 0.69231,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.80769,
"HR_per_IP": 0.0
}
},
"season": {
"games": 32,
"totals": {
"IP": 34.0,
"ER": 9.0,
"R": 11.0,
"H": 29.0,
"BB": 14.0,
"SO": 26.0,
"HR": 1.0,
"BF": 145.0,
"Pitches": 575.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2812,
"R": 0.3438,
"H": 0.9062,
"BB": 0.4375,
"SO": 0.8125,
"HR": 0.0312,
"BF": 4.5312,
"Pitches": 17.9688
},
"rates": {
"ERA": 2.3824,
"WHIP": 1.2647,
"ER_per_IP": 0.26471,
"H_per_IP": 0.85294,
"BB_per_IP": 0.41176,
"SO_per_IP": 0.76471,
"HR_per_IP": 0.02941
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.322,
"predicted_H": 0.761,
"predicted_BB": 0.404,
"predicted_SO": 0.82,
"predicted_HR": 0.066,
"predicted_ERA": 2.8964,
"predicted_WHIP": 1.1648
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5301,
"form_weight": 0.4699,
"form_reliability": 0.5738,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.732,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5738,
"prior_weight": 0.4262
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.322,
"final": 1.2115,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 0.761,
"final": 2.4779,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.404,
"final": 0.1899,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.82,
"final": 0.9154,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.066,
"final": 0.5611,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8964,
"final": 2.8964,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1648,
"final": 1.1648,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Josh Hader |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.7983 |
| ESPN Rank | 183 |
| 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 | 1 |
| Season ERA | 0.9000 |
| Season WHIP | 0.4000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4667,
"runs_scored": 401.0,
"runs_allowed": 440.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4333,
"avg_runs_scored": 4.4556,
"avg_runs_allowed": 4.8889,
"offense_index": 0.9892,
"defense_index": 0.9213,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.1,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.0462
},
"opponent": {
"team": "DET",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.4138,
"runs_scored": 348.0,
"runs_allowed": 352.0,
"run_differential": -4.0,
"run_differential_per_game": -0.046,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.046,
"offense_index": 0.8881,
"defense_index": 1.1133,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.0,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.0789
},
"edges": {
"quality_edge": 0.0327,
"offense_edge": -0.0108,
"opponent_offense_edge": -0.1119,
"defense_strength": -0.0787,
"opponent_defense_weakness": -0.1133,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0034,
"run_prevention": 0.9883,
"strikeout": 1.0099
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623352",
"profile": {
"available": true,
"pitcher_id": "623352",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 47.1,
"bb_percent": 5.9,
"woba": 0.128,
"xwoba": 0.115,
"sweet_spot_percent": 18.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 18.8,
"avg_best_speed": 64.4718,
"avg_hyper_speed": 90.2377,
"whiff_percent": 45.2,
"swing_percent": 55.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 2.0986,
"command_and_miss": 2.16,
"regression_edge": 0.3714,
"xwoba_edge": 2.5,
"barrel_edge": 0.1889,
"hard_hit_edge": 2.5,
"whiff_edge": 2.5,
"bb_edge": 0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.7983,
"sample_weight": 0.45,
"run_prevention_factor": 0.9321,
"strikeout_factor": 1.09,
"walk_factor": 0.9712,
"homer_factor": 0.9144,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623352",
"espn_id": 32760,
"player_name": "Josh Hader",
"team": "HOU",
"role": "pitcher",
"espn_rank": 183,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 183,
"gp_value": 10.0,
"gp_rank": 402,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 0.9,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 6.0,
"sv_rank": 23,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 10.0,
"ip_rank": 490,
"h_value": 2.0,
"h_rank": 652,
"er_value": 1.0,
"er_rank": 637,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 2.0,
"bb_rank": 576,
"k_value": 16.0,
"k_rank": 417,
"k_per_9_value": 14.4,
"k_per_9_rank": 22,
"whip_value": 0.4,
"whip_rank": null,
"war_value": 0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9694,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9694,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9615,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0405,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 1,
"H": 2,
"BB": 2,
"SO": 16,
"HR": 1,
"ERA": 0.9,
"WHIP": 0.4,
"K9": 14.4,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.5625,
"last_10": 0.43749999999999994
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.98,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2837,
"prior_weight": 0.7163
},
"role": "pitcher",
"player_id": "623352",
"report_date": "20260625_H",
"season_year": 2026,
"rows_used": 10,
"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": 9.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 1.8,
"HR": 0.2,
"BF": 3.6,
"Pitches": 14.8
},
"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": 1.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 16.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.2,
"BB": 0.2,
"SO": 1.6,
"HR": 0.1,
"BF": 3.4,
"Pitches": 15.2
},
"rates": {
"ERA": 0.9,
"WHIP": 0.4,
"ER_per_IP": 0.1,
"H_per_IP": 0.2,
"BB_per_IP": 0.2,
"SO_per_IP": 1.6,
"HR_per_IP": 0.1
}
},
"season": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 16.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.2,
"BB": 0.2,
"SO": 1.6,
"HR": 0.1,
"BF": 3.4,
"Pitches": 15.2
},
"rates": {
"ERA": 0.9,
"WHIP": 0.4,
"ER_per_IP": 0.1,
"H_per_IP": 0.2,
"BB_per_IP": 0.2,
"SO_per_IP": 1.6,
"HR_per_IP": 0.1
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.402,
"predicted_H": 0.783,
"predicted_BB": 0.315,
"predicted_SO": 1.164,
"predicted_HR": 0.149,
"predicted_ERA": 3.6199,
"predicted_WHIP": 1.0978
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6526,
"form_weight": 0.3474,
"form_reliability": 0.2837,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.98,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2837,
"prior_weight": 0.7163
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.402,
"final": 0.1396,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.783,
"final": 0.9246,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.315,
"final": 0.1094,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.164,
"final": 1.057,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.149,
"final": 0.0518,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6199,
"final": 3.6199,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0978,
"final": 1.0978,
"source": "form_only"
}
}
}{
"available": false,
"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 | Enyel De Los Santos |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1664 |
| ESPN Rank | 549 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.6731 |
| Season WHIP | 1.1538 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4667,
"runs_scored": 401.0,
"runs_allowed": 440.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4333,
"avg_runs_scored": 4.4556,
"avg_runs_allowed": 4.8889,
"offense_index": 0.9892,
"defense_index": 0.9213,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.1,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.0462
},
"opponent": {
"team": "DET",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.4138,
"runs_scored": 348.0,
"runs_allowed": 352.0,
"run_differential": -4.0,
"run_differential_per_game": -0.046,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.046,
"offense_index": 0.8881,
"defense_index": 1.1133,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.0,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.0789
},
"edges": {
"quality_edge": 0.0327,
"offense_edge": -0.0108,
"opponent_offense_edge": -0.1119,
"defense_strength": -0.0787,
"opponent_defense_weakness": -0.1133,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0034,
"run_prevention": 0.9883,
"strikeout": 1.0099
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660853",
"profile": {
"available": true,
"pitcher_id": "660853",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 22.9,
"bb_percent": 5.6,
"woba": 0.286,
"xwoba": 0.281,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 38.8,
"avg_best_speed": 78.3564,
"avg_hyper_speed": 93.8688,
"whiff_percent": 28.0,
"swing_percent": 55.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4975,
"command_and_miss": 0.2954,
"regression_edge": 0.1429,
"xwoba_edge": 0.9571,
"barrel_edge": 0.3,
"hard_hit_edge": -0.0714,
"whiff_edge": 0.3071,
"bb_edge": 0.875,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "660853",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1664,
"sample_weight": 0.45,
"run_prevention_factor": 0.9859,
"strikeout_factor": 1.006,
"walk_factor": 0.9685,
"homer_factor": 0.9776,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660853",
"espn_id": 35026,
"player_name": "Enyel De Los Santos",
"team": "HOU",
"role": "pitcher",
"espn_rank": 549,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 549,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.673,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 4.0,
"sv_rank": 37,
"hld_value": 6.0,
"hld_rank": 79,
"ip_value": 34.2,
"ip_rank": 218,
"h_value": 32.0,
"h_rank": 213,
"er_value": 18.0,
"er_rank": 188,
"hr_value": 3.0,
"hr_rank": 288,
"bb_value": 8.0,
"bb_rank": 386,
"k_value": 33.0,
"k_rank": 241,
"k_per_9_value": 8.567307,
"k_per_9_rank": 29,
"whip_value": 1.1538,
"whip_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9937,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9858,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0027,
"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": 9,
"H": 13,
"BB": 3,
"SO": 9,
"HR": 2,
"ERA": 7.838709677419356,
"WHIP": 1.5483870967741937,
"K9": 7.838709677419356,
"HR9": 1.741935483870968,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "660853",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.864,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5786,
"prior_weight": 0.4214
},
"role": "pitcher",
"player_id": "660853",
"report_date": "20260625_H",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 4.6,
"Pitches": 16.6
},
"rates": {
"ERA": 9.0,
"WHIP": 1.6,
"ER_per_IP": 1.0,
"H_per_IP": 1.4,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 9.0,
"R": 9.0,
"H": 13.0,
"BB": 3.0,
"SO": 9.0,
"HR": 2.0,
"BF": 46.0,
"Pitches": 177.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 0.9,
"H": 1.3,
"BB": 0.3,
"SO": 0.9,
"HR": 0.2,
"BF": 4.6,
"Pitches": 17.7
},
"rates": {
"ERA": 7.8387,
"WHIP": 1.5484,
"ER_per_IP": 0.87097,
"H_per_IP": 1.25806,
"BB_per_IP": 0.29032,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 33,
"totals": {
"IP": 34.2,
"ER": 18.0,
"R": 19.0,
"H": 32.0,
"BB": 8.0,
"SO": 33.0,
"HR": 3.0,
"BF": 144.0,
"Pitches": 545.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5455,
"R": 0.5758,
"H": 0.9697,
"BB": 0.2424,
"SO": 1.0,
"HR": 0.0909,
"BF": 4.3636,
"Pitches": 16.5152
},
"rates": {
"ERA": 4.6731,
"WHIP": 1.1538,
"ER_per_IP": 0.51923,
"H_per_IP": 0.92308,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.95192,
"HR_per_IP": 0.08654
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.509,
"predicted_H": 0.816,
"predicted_BB": 0.208,
"predicted_SO": 0.643,
"predicted_HR": 0.117,
"predicted_ERA": 6.3664,
"predicted_WHIP": 1.424
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.528,
"form_weight": 0.472,
"form_reliability": 0.5786,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.864,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5786,
"prior_weight": 0.4214
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.509,
"final": 0.2402,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.816,
"final": 0.3851,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.208,
"final": 0.0982,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.643,
"final": 0.8315,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.117,
"final": 0.0552,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.3664,
"final": 6.3664,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.424,
"final": 1.424,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.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 | 4.130 | 4.000 | 4.000 | Hitting_AB | 3.695 | 3.000 | 0.305 | 1.000 |
| predicted_AVG | 0.265 | 0.000 | 0.250 | Hitting_AVG | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_BB | 0.688 | 0.000 | 1.000 | Hitting_BB | 0.725 | 2.000 | -0.725 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 0.000 | 1.000 | Hitting_H | 1.230 | 0.000 | -1.230 | 0.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_OBP | 0.408 | 0.000 | 0.400 | Hitting_OBP | 0.448 | 0.400 | -0.448 | -0.400 |
| predicted_R | 0.713 | 0.000 | 1.000 | Hitting_R | 0.740 | 0.000 | -0.740 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.747 | 0.000 | -0.747 | 0.000 |
| predicted_SLG | 0.541 | 0.000 | 0.250 | Hitting_SLG | 0.698 | 0.000 | -0.698 | 0.000 |
| predicted_SO | 0.713 | 0.000 | 1.000 | Hitting_SO | 0.740 | 1.000 | -0.740 | -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.2650 -> 0.2797 (boost 0.0147, better) |
| Biggest Deboost | predicted_H: 1.1000 -> 0.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_BB: 0.6880 -> 0.7841 (boost 0.0961, better) | predicted_AB: 4.1300 -> 3.8418 (deboost -0.2882, worse) | Final model input calibrated with local 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.5563 -> 0.5191 (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 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5313 -> 1.0000 (boost 0.4687, better) | predicted_HR: 0.2370 -> 0.0000 (deboost -0.2370, worse) | AB rounded to 4 (raw=4.13), rates preserved: AVG=0.260 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7385 -> 1.0000 (boost 0.2615, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5191 -> 0.2500 (deboost -0.2691, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.5191 (boost 0.2691, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.0,
"predicted_AB": 4.13,
"predicted_AVG": 0.265,
"predicted_BB": 0.688,
"predicted_H": 1.1,
"predicted_HR": 0.24,
"predicted_OBP": 0.408,
"predicted_R": 0.713,
"predicted_RBI": 0.57,
"predicted_SLG": 0.541,
"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.2081,
"predicted_3B": 0.0004,
"predicted_AB": 3.8418,
"predicted_AVG": 0.2822,
"predicted_BB": 0.7841,
"predicted_H": 1.0808,
"predicted_HBP": 0.036,
"predicted_HR": 0.2396,
"predicted_OBP": 0.425,
"predicted_R": 0.7442,
"predicted_RBI": 0.5354,
"predicted_SLG": 0.5563,
"predicted_SO": 0.681
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.2081,
"delta": 0.0081,
"percent_delta": 0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 3.8418,
"delta": -0.2882,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2822,
"delta": 0.0172,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.688,
"after": 0.7841,
"delta": 0.0961,
"percent_delta": 0.1397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0808,
"delta": -0.0192,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2396,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.408,
"after": 0.425,
"delta": 0.017,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.713,
"after": 0.7442,
"delta": 0.0312,
"percent_delta": 0.0438,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5354,
"delta": -0.0346,
"percent_delta": -0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.541,
"after": 0.5563,
"delta": 0.0153,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.713,
"after": 0.681,
"delta": -0.032,
"percent_delta": -0.0449,
"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.688,
"after": 0.7841,
"delta": 0.0961,
"percent_delta": 0.1397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.13,
"after": 3.8418,
"delta": -0.2882,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2081,
"predicted_3B": 0.0004,
"predicted_AB": 3.8418,
"predicted_AVG": 0.2797,
"predicted_BB": 0.7845,
"predicted_H": 1.0745,
"predicted_HBP": 0.036,
"predicted_HR": 0.237,
"predicted_OBP": 0.4018,
"predicted_R": 0.7385,
"predicted_RBI": 0.5313,
"predicted_SLG": 0.5191,
"predicted_SO": 0.6807
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2081,
"after": 0.2081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8418,
"after": 3.8418,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2822,
"after": 0.2797,
"delta": -0.0025,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7841,
"after": 0.7845,
"delta": 0.0004,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0808,
"after": 1.0745,
"delta": -0.0063,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2396,
"after": 0.237,
"delta": -0.0026,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.425,
"after": 0.4018,
"delta": -0.0232,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7442,
"after": 0.7385,
"delta": -0.0057,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5354,
"after": 0.5313,
"delta": -0.0041,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5563,
"after": 0.5191,
"delta": -0.0372,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 0.6807,
"delta": -0.0003,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5563,
"after": 0.5191,
"delta": -0.0372,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.13), rates preserved: AVG=0.260 HR/AB=0.057",
"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.2081,
"after": 0.0,
"delta": -0.2081,
"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.8418,
"after": 4.0,
"delta": 0.1582,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7845,
"after": 1.0,
"delta": 0.2155,
"percent_delta": 0.2747,
"direction": "boost",
"projection_effect": "better",
"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.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.237,
"after": 0.0,
"delta": -0.237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5313,
"after": 1.0,
"delta": 0.4687,
"percent_delta": 0.8822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6807,
"after": 1.0,
"delta": 0.3193,
"percent_delta": 0.4691,
"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.5313,
"after": 1.0,
"delta": 0.4687,
"percent_delta": 0.8822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.237,
"after": 0.0,
"delta": -0.237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.7385,
"after": 1.0,
"delta": 0.2615,
"percent_delta": 0.3541,
"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.7385,
"after": 1.0,
"delta": 0.2615,
"percent_delta": 0.3541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2797,
"after": 0.25,
"delta": -0.0297,
"percent_delta": -0.1062,
"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.4018,
"after": 0.4,
"delta": -0.0018,
"percent_delta": -0.0045,
"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.5191,
"after": 0.25,
"delta": -0.2691,
"percent_delta": -0.5184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5191,
"after": 0.25,
"delta": -0.2691,
"percent_delta": -0.5184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2797,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4018,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5191,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2797,
"delta": 0.0297,
"percent_delta": 0.1188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.4018,
"delta": 0.0018,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5191,
"delta": 0.2691,
"percent_delta": 1.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5191,
"delta": 0.2691,
"percent_delta": 1.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0,
"delta": -0.13,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2797,
"delta": 0.0147,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.688,
"after": 0.0,
"delta": -0.688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.408,
"after": 0.4018,
"delta": -0.0062,
"percent_delta": -0.0152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.713,
"after": 0.0,
"delta": -0.713,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.541,
"after": 0.5191,
"delta": -0.0219,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.713,
"after": 0.0,
"delta": -0.713,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2797,
"delta": 0.0147,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.130 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.688 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.408 | - |
| predicted_R | 0.713 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.541 | - |
| 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.008 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.842 | -0.288 |
| predicted_AVG | 0.282 | 0.017 |
| predicted_BB | 0.784 | 0.096 |
| predicted_H | 1.081 | -0.019 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.240 | -0.000 |
| predicted_OBP | 0.425 | 0.017 |
| predicted_R | 0.744 | 0.031 |
| predicted_RBI | 0.535 | -0.035 |
| predicted_SLG | 0.556 | 0.015 |
| predicted_SO | 0.681 | -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.208 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.842 | 0.000 |
| predicted_AVG | 0.280 | -0.003 |
| predicted_BB | 0.784 | 0.000 |
| predicted_H | 1.075 | -0.006 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.237 | -0.003 |
| predicted_OBP | 0.402 | -0.023 |
| predicted_R | 0.739 | -0.006 |
| predicted_RBI | 0.531 | -0.004 |
| predicted_SLG | 0.519 | -0.037 |
| predicted_SO | 0.681 | -0.000 |
AB rounded to 4 (raw=4.13), rates preserved: AVG=0.260 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.208 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.158 |
| predicted_AVG | 0.250 | -0.030 |
| predicted_BB | 1.000 | 0.216 |
| predicted_H | 1.000 | -0.075 |
| predicted_HR | 0.000 | -0.237 |
| predicted_OBP | 0.400 | -0.002 |
| predicted_R | 1.000 | 0.261 |
| predicted_RBI | 1.000 | 0.469 |
| predicted_SLG | 0.250 | -0.269 |
| predicted_SO | 1.000 | 0.319 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 5.000 | 8.000 | 2.000 | 0.2857 | 0.5455 | 0.5714 | 0.2857 | 0.0714 | 0.0714 | 0.5714 | 0.1429 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 3.000 | 0.000 | 1.000 | 2.000 | 8.000 | 9.000 | 6.000 | 0.2857 | 0.4318 | 0.4571 | 0.2857 | 0.0286 | 0.0571 | 0.2571 | 0.1714 |
| season | 0.60 | 80 | - | 288.000 | 94.000 | 16.000 | 0.000 | 25.000 | 56.000 | 57.000 | 55.000 | 57.000 | 0.3264 | 0.4400 | 0.6424 | 0.3264 | 0.0868 | 0.1944 | 0.1910 | 0.1979 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2190 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4550 |
| predicted_AVG | 0.3054 |
| predicted_BB | 0.9130 |
| predicted_H | 1.0550 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.2390 |
| predicted_OBP | 0.4479 |
| predicted_R | 0.7860 |
| predicted_RBI | 0.4890 |
| predicted_SLG | 0.5769 |
| predicted_SO | 0.6380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.2190 | 0.2081 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1300 | 3.4550 | 3.8418 | model_form_blend |
| predicted_AVG | 0.2650 | 0.3054 | 0.2822 | model_form_blend |
| predicted_BB | 0.6880 | 0.9130 | 0.7841 | model_form_blend |
| predicted_H | 1.1000 | 1.0550 | 1.0808 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.2400 | 0.2390 | 0.2396 | model_form_blend |
| predicted_OBP | 0.4080 | 0.4479 | 0.4250 | model_form_blend |
| predicted_R | 0.7130 | 0.7860 | 0.7442 | model_form_blend |
| predicted_RBI | 0.5700 | 0.4890 | 0.5354 | model_form_blend |
| predicted_SLG | 0.5410 | 0.5769 | 0.5563 | model_form_blend |
| predicted_SO | 0.7130 | 0.6380 | 0.6810 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.326 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 670541 |
| playerID | 670541 |
| playerName | Yordan Alvarez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-24 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 15.5 |
| sl_woba | 0.445 |
| sl_xwoba | 0.483 |
| sl_xba | 0.343 |
| sl_xslg | 0.72 |
| sl_sweet_spot_percent | 45.1 |
| sl_barrel_batted_rate | 18.9 |
| sl_hard_hit_percent | 53.6 |
| sl_exit_velocity_avg | 94.4 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.203 | 0.000 | 0.000 | Hitting_2B | 0.193 | 1.000 | -0.193 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.990 | 4.000 | 4.000 | Hitting_AB | 3.721 | 5.000 | 0.279 | -1.000 |
| predicted_AVG | 0.249 | 0.000 | 0.250 | Hitting_AVG | 0.243 | 0.200 | -0.243 | -0.200 |
| predicted_BB | 0.419 | 0.000 | 0.000 | Hitting_BB | 0.416 | 0.000 | -0.416 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 0.906 | 1.000 | -0.906 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.349 | 0.000 | 0.250 | Hitting_OBP | 0.341 | 0.200 | -0.341 | -0.200 |
| predicted_R | 0.405 | 0.000 | 0.000 | Hitting_R | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.511 | 1.000 | -0.511 | -1.000 |
| predicted_SLG | 0.405 | 0.000 | 0.250 | Hitting_SLG | 0.399 | 0.400 | -0.399 | -0.400 |
| predicted_SO | 0.716 | 1.000 | 1.000 | Hitting_SO | 0.661 | 1.000 | 0.339 | 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_SO: 0.7160 -> 1.0000 (boost 0.2840, worse) |
| Biggest Deboost | predicted_H: 0.9900 -> 0.0000 (deboost -0.9900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2490 -> 0.2632 (boost 0.0142, better) | predicted_AB: 3.9900 -> 3.9107 (deboost -0.0793, worse) | Final model input calibrated with local 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.3557 -> 0.3293 (deboost -0.0264, 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.5829 -> 1.0000 (boost 0.4171, better) | predicted_BB: 0.3997 -> 0.0000 (deboost -0.3997, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.256 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3927 -> 0.0000 (deboost -0.3927, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3975 -> 0.2500 (deboost -0.1475, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3975 (boost 0.1475, 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.203,
"predicted_3B": 0.0,
"predicted_AB": 3.99,
"predicted_AVG": 0.249,
"predicted_BB": 0.419,
"predicted_H": 0.99,
"predicted_HR": 0.11,
"predicted_OBP": 0.349,
"predicted_R": 0.405,
"predicted_RBI": 0.57,
"predicted_SLG": 0.405,
"predicted_SO": 0.716
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2102,
"predicted_3B": 0.0004,
"predicted_AB": 3.9107,
"predicted_AVG": 0.2632,
"predicted_BB": 0.3995,
"predicted_H": 1.0256,
"predicted_HBP": 0.126,
"predicted_HR": 0.1092,
"predicted_OBP": 0.3557,
"predicted_R": 0.3957,
"predicted_RBI": 0.5874,
"predicted_SLG": 0.414,
"predicted_SO": 0.7351
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.2102,
"delta": 0.0072,
"percent_delta": 0.0355,
"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.99,
"after": 3.9107,
"delta": -0.0793,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2632,
"delta": 0.0142,
"percent_delta": 0.057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.3995,
"delta": -0.0195,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0256,
"delta": 0.0356,
"percent_delta": 0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1092,
"delta": -0.0008,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3557,
"delta": 0.0067,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.3957,
"delta": -0.0093,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5874,
"delta": 0.0174,
"percent_delta": 0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.414,
"delta": 0.009,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.716,
"after": 0.7351,
"delta": 0.0191,
"percent_delta": 0.0267,
"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.249,
"after": 0.2632,
"delta": 0.0142,
"percent_delta": 0.057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.9107,
"delta": -0.0793,
"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": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2102,
"predicted_3B": 0.0004,
"predicted_AB": 3.9107,
"predicted_AVG": 0.2607,
"predicted_BB": 0.3997,
"predicted_H": 1.0197,
"predicted_HBP": 0.126,
"predicted_HR": 0.108,
"predicted_OBP": 0.3293,
"predicted_R": 0.3927,
"predicted_RBI": 0.5829,
"predicted_SLG": 0.3975,
"predicted_SO": 0.7347
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2102,
"after": 0.2102,
"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.9107,
"after": 3.9107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2632,
"after": 0.2607,
"delta": -0.0025,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3995,
"after": 0.3997,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0256,
"after": 1.0197,
"delta": -0.0059,
"percent_delta": -0.0058,
"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.1092,
"after": 0.108,
"delta": -0.0012,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3557,
"after": 0.3293,
"delta": -0.0264,
"percent_delta": -0.0742,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3957,
"after": 0.3927,
"delta": -0.003,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5874,
"after": 0.5829,
"delta": -0.0045,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.3975,
"delta": -0.0165,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7351,
"after": 0.7347,
"delta": -0.0004,
"percent_delta": -0.0005,
"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.3557,
"after": 0.3293,
"delta": -0.0264,
"percent_delta": -0.0742,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.99), rates preserved: AVG=0.256 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2102,
"after": 0.0,
"delta": -0.2102,
"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.9107,
"after": 4.0,
"delta": 0.0893,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3997,
"after": 0.0,
"delta": -0.3997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0197,
"after": 1.0,
"delta": -0.0197,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5829,
"after": 1.0,
"delta": 0.4171,
"percent_delta": 0.7156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7347,
"after": 1.0,
"delta": 0.2653,
"percent_delta": 0.3611,
"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.5829,
"after": 1.0,
"delta": 0.4171,
"percent_delta": 0.7156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3997,
"after": 0.0,
"delta": -0.3997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3927,
"after": 0.0,
"delta": -0.3927,
"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.3927,
"after": 0.0,
"delta": -0.3927,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2607,
"after": 0.25,
"delta": -0.0107,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3293,
"after": 0.25,
"delta": -0.0793,
"percent_delta": -0.2408,
"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.3975,
"after": 0.25,
"delta": -0.1475,
"percent_delta": -0.3711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3975,
"after": 0.25,
"delta": -0.1475,
"percent_delta": -0.3711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2607,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3975,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2607,
"delta": 0.0107,
"percent_delta": 0.0429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3293,
"delta": 0.0793,
"percent_delta": 0.3171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3975,
"delta": 0.1475,
"percent_delta": 0.5901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3975,
"delta": 0.1475,
"percent_delta": 0.5901,
"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": 0.0,
"delta": -0.203,
"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.99,
"after": 4.0,
"delta": 0.01,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2607,
"delta": 0.0117,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"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.349,
"after": 0.3293,
"delta": -0.0197,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.716,
"after": 1.0,
"delta": 0.284,
"percent_delta": 0.3966,
"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.716,
"after": 1.0,
"delta": 0.284,
"percent_delta": 0.3966,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.419 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.349 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.716 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | 0.007 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.911 | -0.079 |
| predicted_AVG | 0.263 | 0.014 |
| predicted_BB | 0.400 | -0.019 |
| predicted_H | 1.026 | 0.036 |
| predicted_HBP | 0.126 | - |
| predicted_HR | 0.109 | -0.001 |
| predicted_OBP | 0.356 | 0.007 |
| predicted_R | 0.396 | -0.009 |
| predicted_RBI | 0.587 | 0.017 |
| predicted_SLG | 0.414 | 0.009 |
| predicted_SO | 0.735 | 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.210 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.911 | 0.000 |
| predicted_AVG | 0.261 | -0.003 |
| predicted_BB | 0.400 | 0.000 |
| predicted_H | 1.020 | -0.006 |
| predicted_HBP | 0.126 | 0.000 |
| predicted_HR | 0.108 | -0.001 |
| predicted_OBP | 0.329 | -0.026 |
| predicted_R | 0.393 | -0.003 |
| predicted_RBI | 0.583 | -0.005 |
| predicted_SLG | 0.398 | -0.016 |
| predicted_SO | 0.735 | -0.000 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.256 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 | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.210 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.089 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.400 |
| predicted_H | 1.000 | -0.020 |
| predicted_HR | 0.000 | -0.108 |
| predicted_OBP | 0.250 | -0.079 |
| predicted_R | 0.000 | -0.393 |
| predicted_RBI | 1.000 | 0.417 |
| predicted_SLG | 0.250 | -0.148 |
| predicted_SO | 1.000 | 0.265 |
Attached 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 | - | 22.000 | 8.000 | 1.000 | 0.000 | 0.000 | 4.000 | 1.000 | 1.000 | 4.000 | 0.3636 | 0.3913 | 0.4091 | 0.3636 | 0.0000 | 0.1818 | 0.0454 | 0.1818 |
| last_10 | 0.20 | 10 | - | 38.000 | 13.000 | 3.000 | 0.000 | 1.000 | 7.000 | 4.000 | 4.000 | 8.000 | 0.3421 | 0.4318 | 0.5000 | 0.3421 | 0.0263 | 0.1842 | 0.1053 | 0.2105 |
| season | 0.60 | 74 | - | 266.000 | 64.000 | 15.000 | 0.000 | 10.000 | 40.000 | 30.000 | 31.000 | 53.000 | 0.2406 | 0.3419 | 0.4098 | 0.2406 | 0.0376 | 0.1504 | 0.1165 | 0.1993 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8030 |
| predicted_AVG | 0.2824 |
| predicted_BB | 0.3730 |
| predicted_H | 1.0740 |
| predicted_HBP | 0.1260 |
| predicted_HR | 0.1080 |
| predicted_OBP | 0.3648 |
| predicted_R | 0.3830 |
| predicted_RBI | 0.6110 |
| predicted_SLG | 0.4261 |
| predicted_SO | 0.7610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.2200 | 0.2102 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9900 | 3.8030 | 3.9107 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2824 | 0.2632 | model_form_blend |
| predicted_BB | 0.4190 | 0.3730 | 0.3995 | model_form_blend |
| predicted_H | 0.9900 | 1.0740 | 1.0256 | model_form_blend |
| predicted_HBP | - | 0.1260 | 0.1260 | form_only |
| predicted_HR | 0.1100 | 0.1080 | 0.1092 | model_form_blend |
| predicted_OBP | 0.3490 | 0.3648 | 0.3557 | model_form_blend |
| predicted_R | 0.4050 | 0.3830 | 0.3957 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6110 | 0.5874 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4261 | 0.4140 | model_form_blend |
| predicted_SO | 0.7160 | 0.7610 | 0.7351 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1B |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 670623 |
| playerID | 670623 |
| playerName | Isaac Paredes |
| pos | 3B |
| started | True |
| startingPosition | 1B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-24 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.34 |
| sl_xwoba | 0.321 |
| sl_xba | 0.241 |
| sl_xslg | 0.369 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 31.5 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 24.1 |
| sl_whiff_percent | 17.2 |
| 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.203 | 1.000 | 0.000 | Hitting_2B | 0.241 | 0.000 | 0.759 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.050 | 4.000 | 4.000 | Hitting_AB | 3.946 | 4.000 | 0.054 | 0.000 |
| predicted_AVG | 0.237 | 0.250 | 0.250 | Hitting_AVG | 0.252 | 0.000 | -0.002 | 0.250 |
| predicted_BB | 0.407 | 0.000 | 0.000 | Hitting_BB | 0.458 | 1.000 | -0.458 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 0.995 | 0.000 | 0.005 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_OBP | 0.316 | 0.250 | 0.250 | Hitting_OBP | 0.331 | 0.200 | -0.081 | 0.050 |
| predicted_R | 0.610 | 0.000 | 1.000 | Hitting_R | 0.685 | 0.000 | -0.685 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.345 | 0.000 | -0.345 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_SLG | 0.398 | 0.500 | 0.250 | Hitting_SLG | 0.407 | 0.000 | 0.093 | 0.500 |
| predicted_SO | 0.949 | 1.000 | 1.000 | Hitting_SO | 0.882 | 0.000 | 0.118 | 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_2B: 0.2030 -> 1.0000 (boost 0.7970, better) |
| Biggest Deboost | predicted_R: 0.6100 -> 0.0000 (deboost -0.6100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2370 -> 0.2440 (boost 0.0070, 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.4041 -> 0.3931 (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 | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.9451 -> 1.0000 (boost 0.0549, worse) | predicted_RBI: 0.4296 -> 0.0000 (deboost -0.4296, worse) | AB rounded to 4 (raw=4.05), rates preserved: AVG=0.240 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5994 -> 1.0000 (boost 0.4006, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2425 -> 0.2500 (boost 0.0075, better) | predicted_SLG: 0.3931 -> 0.2500 (deboost -0.1431, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3931 (boost 0.1431, better) | predicted_AVG: 0.2500 -> 0.2425 (deboost -0.0075, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.0,
"predicted_AB": 4.05,
"predicted_AVG": 0.237,
"predicted_BB": 0.407,
"predicted_H": 0.96,
"predicted_HR": 0.13,
"predicted_OBP": 0.316,
"predicted_R": 0.61,
"predicted_RBI": 0.44,
"predicted_SLG": 0.398,
"predicted_SO": 0.949
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2022,
"predicted_3B": 0.0008,
"predicted_AB": 4.0073,
"predicted_AVG": 0.244,
"predicted_BB": 0.3869,
"predicted_H": 0.9776,
"predicted_HBP": 0.013,
"predicted_HR": 0.1346,
"predicted_OBP": 0.3167,
"predicted_R": 0.6041,
"predicted_RBI": 0.4329,
"predicted_SLG": 0.4041,
"predicted_SO": 0.9456
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.2022,
"delta": -0.0008,
"percent_delta": -0.0039,
"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.05,
"after": 4.0073,
"delta": -0.0427,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.244,
"delta": 0.007,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.407,
"after": 0.3869,
"delta": -0.0201,
"percent_delta": -0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9776,
"delta": 0.0176,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1346,
"delta": 0.0046,
"percent_delta": 0.0354,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3167,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.61,
"after": 0.6041,
"delta": -0.0059,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4329,
"delta": -0.0071,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.4041,
"delta": 0.0061,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.949,
"after": 0.9456,
"delta": -0.0034,
"percent_delta": -0.0036,
"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.237,
"after": 0.244,
"delta": 0.007,
"percent_delta": 0.0295,
"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.2022,
"predicted_3B": 0.0008,
"predicted_AB": 4.0073,
"predicted_AVG": 0.2425,
"predicted_BB": 0.3871,
"predicted_H": 0.9719,
"predicted_HBP": 0.013,
"predicted_HR": 0.1331,
"predicted_OBP": 0.3093,
"predicted_R": 0.5994,
"predicted_RBI": 0.4296,
"predicted_SLG": 0.3931,
"predicted_SO": 0.9451
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2022,
"after": 0.2022,
"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.0073,
"after": 4.0073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2425,
"delta": -0.0015,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3869,
"after": 0.3871,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9776,
"after": 0.9719,
"delta": -0.0057,
"percent_delta": -0.0058,
"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.1346,
"after": 0.1331,
"delta": -0.0015,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3167,
"after": 0.3093,
"delta": -0.0074,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6041,
"after": 0.5994,
"delta": -0.0047,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4329,
"after": 0.4296,
"delta": -0.0033,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4041,
"after": 0.3931,
"delta": -0.011,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9456,
"after": 0.9451,
"delta": -0.0005,
"percent_delta": -0.0005,
"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.4041,
"after": 0.3931,
"delta": -0.011,
"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 4 (raw=4.05), rates preserved: AVG=0.240 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.2022,
"after": 0.0,
"delta": -0.2022,
"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.0073,
"after": 4.0,
"delta": -0.0073,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3871,
"after": 0.0,
"delta": -0.3871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9719,
"after": 1.0,
"delta": 0.0281,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1331,
"after": 0.0,
"delta": -0.1331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4296,
"after": 0.0,
"delta": -0.4296,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9451,
"after": 1.0,
"delta": 0.0549,
"percent_delta": 0.0581,
"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.9451,
"after": 1.0,
"delta": 0.0549,
"percent_delta": 0.0581,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4296,
"after": 0.0,
"delta": -0.4296,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5994,
"after": 1.0,
"delta": 0.4006,
"percent_delta": 0.6683,
"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.5994,
"after": 1.0,
"delta": 0.4006,
"percent_delta": 0.6683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2425,
"after": 0.25,
"delta": 0.0075,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3093,
"after": 0.25,
"delta": -0.0593,
"percent_delta": -0.1917,
"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.3931,
"after": 0.25,
"delta": -0.1431,
"percent_delta": -0.364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2425,
"after": 0.25,
"delta": 0.0075,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3931,
"after": 0.25,
"delta": -0.1431,
"percent_delta": -0.364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2425,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3093,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3931,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2425,
"delta": -0.0075,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3093,
"delta": 0.0593,
"percent_delta": 0.2371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3931,
"delta": 0.1431,
"percent_delta": 0.5722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3931,
"delta": 0.1431,
"percent_delta": 0.5722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2425,
"delta": -0.0075,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.05,
"after": 4.0,
"delta": -0.05,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2425,
"delta": 0.0055,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3093,
"delta": -0.0067,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"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.398,
"after": 0.3931,
"delta": -0.0049,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.949,
"after": 1.0,
"delta": 0.051,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.050 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.407 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.610 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 0.949 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.202 | -0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.007 | -0.043 |
| predicted_AVG | 0.244 | 0.007 |
| predicted_BB | 0.387 | -0.020 |
| predicted_H | 0.978 | 0.018 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.135 | 0.005 |
| predicted_OBP | 0.317 | 0.001 |
| predicted_R | 0.604 | -0.006 |
| predicted_RBI | 0.433 | -0.007 |
| predicted_SLG | 0.404 | 0.006 |
| predicted_SO | 0.946 | -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.202 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.007 | 0.000 |
| predicted_AVG | 0.242 | -0.002 |
| predicted_BB | 0.387 | 0.000 |
| predicted_H | 0.972 | -0.006 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.133 | -0.002 |
| predicted_OBP | 0.309 | -0.007 |
| predicted_R | 0.599 | -0.005 |
| predicted_RBI | 0.430 | -0.003 |
| predicted_SLG | 0.393 | -0.011 |
| predicted_SO | 0.945 | -0.000 |
AB rounded to 4 (raw=4.05), rates preserved: AVG=0.240 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.202 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.007 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 0.000 | -0.387 |
| predicted_H | 1.000 | 0.028 |
| predicted_HR | 0.000 | -0.133 |
| predicted_OBP | 0.250 | -0.059 |
| predicted_R | 1.000 | 0.401 |
| predicted_RBI | 0.000 | -0.430 |
| predicted_SLG | 0.250 | -0.143 |
| predicted_SO | 1.000 | 0.055 |
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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 0.2857 | 0.3478 | 0.3333 | 0.2857 | 0.0000 | 0.0476 | 0.0952 | 0.1905 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 2.000 | 0.000 | 3.000 | 8.000 | 6.000 | 2.000 | 11.000 | 0.2683 | 0.3023 | 0.5366 | 0.2683 | 0.0732 | 0.1951 | 0.0488 | 0.2683 |
| season | 0.60 | 59 | - | 226.000 | 54.000 | 12.000 | 0.000 | 8.000 | 21.000 | 36.000 | 24.000 | 56.000 | 0.2389 | 0.3135 | 0.3982 | 0.2389 | 0.0354 | 0.0929 | 0.1062 | 0.2478 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.9480 |
| predicted_AVG | 0.2538 |
| predicted_BB | 0.3590 |
| predicted_H | 1.0020 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1410 |
| predicted_OBP | 0.3176 |
| predicted_R | 0.5960 |
| predicted_RBI | 0.4230 |
| predicted_SLG | 0.4126 |
| predicted_SO | 0.9410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.2010 | 0.2022 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.0500 | 3.9480 | 4.0073 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2538 | 0.2440 | model_form_blend |
| predicted_BB | 0.4070 | 0.3590 | 0.3869 | model_form_blend |
| predicted_H | 0.9600 | 1.0020 | 0.9776 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1300 | 0.1410 | 0.1346 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3176 | 0.3167 | model_form_blend |
| predicted_R | 0.6100 | 0.5960 | 0.6041 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4230 | 0.4329 | model_form_blend |
| predicted_SLG | 0.3980 | 0.4126 | 0.4041 | model_form_blend |
| predicted_SO | 0.9490 | 0.9410 | 0.9456 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 203 |
| Season rows before report date | 203 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 514888 |
| playerID | 514888 |
| playerName | Jose Altuve |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.314 |
| sl_xwoba | 0.303 |
| sl_xba | 0.243 |
| sl_xslg | 0.364 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 34.3 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 8.4 |
| sl_whiff_percent | 24.9 |
| 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.209 | 0.000 | 0.000 | Hitting_2B | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.330 | 4.000 | 4.000 | Hitting_AB | 4.027 | 3.000 | -0.027 | 1.000 |
| predicted_AVG | 0.247 | 0.250 | 0.250 | Hitting_AVG | 0.262 | 0.333 | -0.012 | -0.083 |
| predicted_BB | 0.349 | 0.000 | 0.000 | Hitting_BB | 0.261 | 2.000 | -0.261 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 1.070 | 1.000 | 1.000 | Hitting_H | 1.054 | 1.000 | -0.054 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_OBP | 0.340 | 0.250 | 0.250 | Hitting_OBP | 0.322 | 0.600 | -0.072 | -0.350 |
| predicted_R | 0.698 | 1.000 | 1.000 | Hitting_R | 0.649 | 1.000 | 0.351 | 0.000 |
| predicted_RBI | 0.510 | 1.000 | 0.000 | Hitting_RBI | 0.351 | 1.000 | 0.649 | 0.000 |
| predicted_SLG | 0.427 | 0.250 | 0.250 | Hitting_SLG | 0.400 | 0.333 | -0.150 | -0.083 |
| predicted_SO | 0.674 | 0.000 | 1.000 | Hitting_SO | 0.595 | 1.000 | -0.595 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_RBI: 0.5100 -> 1.0000 (boost 0.4900, better) |
| Biggest Deboost | predicted_SO: 0.6740 -> 0.0000 (deboost -0.6740, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2470 -> 0.2582 (boost 0.0112, better) | predicted_AB: 4.3300 -> 4.0261 (deboost -0.3039, worse) | Final model input calibrated with local 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.3451 -> 0.3183 (deboost -0.0268, 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.7170 -> 1.0000 (boost 0.2830, worse) | predicted_RBI: 0.4805 -> 0.0000 (deboost -0.4805, worse) | AB rounded to 4 (raw=4.33), rates preserved: AVG=0.238 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6456 -> 1.0000 (boost 0.3544, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4140 -> 0.2500 (deboost -0.1640, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 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) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4140 (boost 0.1640, 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.209,
"predicted_3B": 0.0,
"predicted_AB": 4.33,
"predicted_AVG": 0.247,
"predicted_BB": 0.349,
"predicted_H": 1.07,
"predicted_HR": 0.15,
"predicted_OBP": 0.34,
"predicted_R": 0.698,
"predicted_RBI": 0.51,
"predicted_SLG": 0.427,
"predicted_SO": 0.674
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2082,
"predicted_3B": 0.0008,
"predicted_AB": 4.0261,
"predicted_AVG": 0.2582,
"predicted_BB": 0.3703,
"predicted_H": 1.0348,
"predicted_HBP": 0.038,
"predicted_HR": 0.1443,
"predicted_OBP": 0.3451,
"predicted_R": 0.6506,
"predicted_RBI": 0.4842,
"predicted_SLG": 0.4351,
"predicted_SO": 0.7174
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.209,
"after": 0.2082,
"delta": -0.0008,
"percent_delta": -0.0038,
"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.33,
"after": 4.0261,
"delta": -0.3039,
"percent_delta": -0.0702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2582,
"delta": 0.0112,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.349,
"after": 0.3703,
"delta": 0.0213,
"percent_delta": 0.061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0348,
"delta": -0.0352,
"percent_delta": -0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1443,
"delta": -0.0057,
"percent_delta": -0.038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3451,
"delta": 0.0051,
"percent_delta": 0.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.698,
"after": 0.6506,
"delta": -0.0474,
"percent_delta": -0.0679,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.4842,
"delta": -0.0258,
"percent_delta": -0.0506,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4351,
"delta": 0.0081,
"percent_delta": 0.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.674,
"after": 0.7174,
"delta": 0.0434,
"percent_delta": 0.0644,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2582,
"delta": 0.0112,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.33,
"after": 4.0261,
"delta": -0.3039,
"percent_delta": -0.0702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 43
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2082,
"predicted_3B": 0.0008,
"predicted_AB": 4.0261,
"predicted_AVG": 0.2555,
"predicted_BB": 0.3705,
"predicted_H": 1.0288,
"predicted_HBP": 0.038,
"predicted_HR": 0.1427,
"predicted_OBP": 0.3183,
"predicted_R": 0.6456,
"predicted_RBI": 0.4805,
"predicted_SLG": 0.414,
"predicted_SO": 0.717
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2082,
"after": 0.2082,
"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.0261,
"after": 4.0261,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2582,
"after": 0.2555,
"delta": -0.0027,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3703,
"after": 0.3705,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0348,
"after": 1.0288,
"delta": -0.006,
"percent_delta": -0.0058,
"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.1443,
"after": 0.1427,
"delta": -0.0016,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3451,
"after": 0.3183,
"delta": -0.0268,
"percent_delta": -0.0777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6506,
"after": 0.6456,
"delta": -0.005,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4842,
"after": 0.4805,
"delta": -0.0037,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4351,
"after": 0.414,
"delta": -0.0211,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7174,
"after": 0.717,
"delta": -0.0004,
"percent_delta": -0.0006,
"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.3451,
"after": 0.3183,
"delta": -0.0268,
"percent_delta": -0.0777,
"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.238 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.2082,
"after": 0.0,
"delta": -0.2082,
"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.0261,
"after": 4.0,
"delta": -0.0261,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3705,
"after": 0.0,
"delta": -0.3705,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0288,
"after": 1.0,
"delta": -0.0288,
"percent_delta": -0.028,
"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.1427,
"after": 0.0,
"delta": -0.1427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4805,
"after": 0.0,
"delta": -0.4805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.717,
"after": 1.0,
"delta": 0.283,
"percent_delta": 0.3947,
"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.717,
"after": 1.0,
"delta": 0.283,
"percent_delta": 0.3947,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4805,
"after": 0.0,
"delta": -0.4805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6456,
"after": 1.0,
"delta": 0.3544,
"percent_delta": 0.5489,
"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.6456,
"after": 1.0,
"delta": 0.3544,
"percent_delta": 0.5489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2555,
"after": 0.25,
"delta": -0.0055,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3183,
"after": 0.25,
"delta": -0.0683,
"percent_delta": -0.2146,
"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.414,
"after": 0.25,
"delta": -0.164,
"percent_delta": -0.3961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.414,
"after": 0.25,
"delta": -0.164,
"percent_delta": -0.3961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2555,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3183,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.414,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2555,
"delta": 0.0055,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3183,
"delta": 0.0683,
"percent_delta": 0.2731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.414,
"delta": 0.164,
"percent_delta": 0.6559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.414,
"delta": 0.164,
"percent_delta": 0.6559,
"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.209,
"after": 0.0,
"delta": -0.209,
"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.33,
"after": 4.0,
"delta": -0.33,
"percent_delta": -0.0762,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2555,
"delta": 0.0085,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.349,
"after": 0.0,
"delta": -0.349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0,
"delta": -0.07,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3183,
"delta": -0.0217,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.698,
"after": 1.0,
"delta": 0.302,
"percent_delta": 0.4327,
"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.427,
"after": 0.414,
"delta": -0.013,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.674,
"after": 0.0,
"delta": -0.674,
"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.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.674,
"after": 0.0,
"delta": -0.674,
"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.209 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.330 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.349 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.698 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.674 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.026 | -0.304 |
| predicted_AVG | 0.258 | 0.011 |
| predicted_BB | 0.370 | 0.021 |
| predicted_H | 1.035 | -0.035 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.144 | -0.006 |
| predicted_OBP | 0.345 | 0.005 |
| predicted_R | 0.651 | -0.047 |
| predicted_RBI | 0.484 | -0.026 |
| predicted_SLG | 0.435 | 0.008 |
| predicted_SO | 0.717 | 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.208 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.026 | 0.000 |
| predicted_AVG | 0.256 | -0.003 |
| predicted_BB | 0.370 | 0.000 |
| predicted_H | 1.029 | -0.006 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.143 | -0.002 |
| predicted_OBP | 0.318 | -0.027 |
| predicted_R | 0.646 | -0.005 |
| predicted_RBI | 0.480 | -0.004 |
| predicted_SLG | 0.414 | -0.021 |
| predicted_SO | 0.717 | -0.000 |
AB rounded to 4 (raw=4.33), rates preserved: AVG=0.238 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.208 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.026 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 0.000 | -0.370 |
| predicted_H | 1.000 | -0.029 |
| predicted_HR | 0.000 | -0.143 |
| predicted_OBP | 0.250 | -0.068 |
| predicted_R | 1.000 | 0.354 |
| predicted_RBI | 0.000 | -0.480 |
| predicted_SLG | 0.250 | -0.164 |
| predicted_SO | 1.000 | 0.283 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 4.000 | 0.2308 | 0.3750 | 0.3077 | 0.2308 | 0.0000 | 0.0769 | 0.2308 | 0.3077 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 2.000 | 0.000 | 3.000 | 7.000 | 5.000 | 3.000 | 9.000 | 0.3056 | 0.3590 | 0.6111 | 0.3056 | 0.0833 | 0.1944 | 0.0833 | 0.2500 |
| season | 0.60 | 43 | - | 165.000 | 47.000 | 9.000 | 0.000 | 6.000 | 19.000 | 30.000 | 15.000 | 29.000 | 0.2848 | 0.3533 | 0.4485 | 0.2848 | 0.0364 | 0.1152 | 0.0909 | 0.1758 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2070 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5870 |
| predicted_AVG | 0.2743 |
| predicted_BB | 0.4010 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.1360 |
| predicted_OBP | 0.3524 |
| predicted_R | 0.5820 |
| predicted_RBI | 0.4470 |
| predicted_SLG | 0.4469 |
| predicted_SO | 0.7800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2090 | 0.2070 | 0.2082 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.3300 | 3.5870 | 4.0261 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2743 | 0.2582 | model_form_blend |
| predicted_BB | 0.3490 | 0.4010 | 0.3703 | model_form_blend |
| predicted_H | 1.0700 | 0.9840 | 1.0348 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.1500 | 0.1360 | 0.1443 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3524 | 0.3451 | model_form_blend |
| predicted_R | 0.6980 | 0.5820 | 0.6506 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4470 | 0.4842 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4469 | 0.4351 | model_form_blend |
| predicted_SO | 0.6740 | 0.7800 | 0.7174 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 111 |
| Season rows before report date | 111 |
| Report year | 2026 |
| Profile rows used | 43 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 665161 |
| playerID | 665161 |
| playerName | Jeremy Peña |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-24 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.353 |
| sl_xwoba | 0.35 |
| sl_xba | 0.297 |
| sl_xslg | 0.431 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 36.5 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 26.9 |
| 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.177 | 0.000 | 0.000 | Hitting_2B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.030 | 4.000 | 4.000 | Hitting_AB | 3.810 | 6.000 | 0.190 | -2.000 |
| predicted_AVG | 0.212 | 0.250 | 0.250 | Hitting_AVG | 0.268 | 0.000 | -0.018 | 0.250 |
| predicted_BB | 0.354 | 0.000 | 0.000 | Hitting_BB | 0.387 | 0.000 | -0.387 | 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 | 1.020 | 0.000 | -0.020 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_OBP | 0.284 | 0.250 | 0.250 | Hitting_OBP | 0.342 | 0.000 | -0.092 | 0.250 |
| predicted_R | 0.544 | 0.000 | 0.000 | Hitting_R | 0.632 | 0.000 | -0.632 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.763 | 0.000 | -0.763 | 0.000 |
| predicted_SLG | 0.367 | 0.250 | 0.250 | Hitting_SLG | 0.532 | 0.000 | -0.282 | 0.250 |
| predicted_SO | 0.924 | 2.000 | 1.000 | Hitting_SO | 0.814 | 3.000 | 1.186 | -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.9240 -> 2.0000 (boost 1.0760, worse) |
| Biggest Deboost | predicted_R: 0.5440 -> 0.0000 (deboost -0.5440, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9240 -> 0.9874 (boost 0.0634, worse) | predicted_AB: 4.0300 -> 3.9219 (deboost -0.1081, worse) | Final model input calibrated with local 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.2791 -> 0.2716 (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 | 6 | 2 | 4 | 2 | 4 | predicted_H: 0.7865 -> 1.0000 (boost 0.2135, better) | predicted_RBI: 0.4683 -> 0.0000 (deboost -0.4683, worse) | AB rounded to 4 (raw=4.03), rates preserved: AVG=0.195 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4934 -> 0.0000 (deboost -0.4934, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2005 -> 0.2500 (boost 0.0495, better) | predicted_SLG: 0.3614 -> 0.2500 (deboost -0.1114, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3614 (boost 0.1114, better) | predicted_AVG: 0.2500 -> 0.2005 (deboost -0.0495, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "572233",
"player_name": "Christian Walker",
"position": "1B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.177,
"predicted_3B": 0.013,
"predicted_AB": 4.03,
"predicted_AVG": 0.212,
"predicted_BB": 0.354,
"predicted_H": 0.86,
"predicted_HR": 0.15,
"predicted_OBP": 0.284,
"predicted_R": 0.544,
"predicted_RBI": 0.48,
"predicted_SLG": 0.367,
"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.1579,
"predicted_3B": 0.0109,
"predicted_AB": 3.9219,
"predicted_AVG": 0.2004,
"predicted_BB": 0.3825,
"predicted_H": 0.7911,
"predicted_HBP": 0.031,
"predicted_HR": 0.1521,
"predicted_OBP": 0.2791,
"predicted_R": 0.4972,
"predicted_RBI": 0.4719,
"predicted_SLG": 0.3587,
"predicted_SO": 0.9874
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.1579,
"delta": -0.0191,
"percent_delta": -0.1079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9219,
"delta": -0.1081,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2004,
"delta": -0.0116,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.3825,
"delta": 0.0285,
"percent_delta": 0.0805,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.7911,
"delta": -0.0689,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1521,
"delta": 0.0021,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2791,
"delta": -0.0049,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.544,
"after": 0.4972,
"delta": -0.0468,
"percent_delta": -0.086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4719,
"delta": -0.0081,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3587,
"delta": -0.0083,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 0.9874,
"delta": 0.0634,
"percent_delta": 0.0686,
"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.924,
"after": 0.9874,
"delta": 0.0634,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9219,
"delta": -0.1081,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1579,
"predicted_3B": 0.0109,
"predicted_AB": 3.9219,
"predicted_AVG": 0.2005,
"predicted_BB": 0.3827,
"predicted_H": 0.7865,
"predicted_HBP": 0.031,
"predicted_HR": 0.1504,
"predicted_OBP": 0.2716,
"predicted_R": 0.4934,
"predicted_RBI": 0.4683,
"predicted_SLG": 0.3614,
"predicted_SO": 0.9869
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1579,
"after": 0.1579,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9219,
"after": 3.9219,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2004,
"after": 0.2005,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3825,
"after": 0.3827,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7911,
"after": 0.7865,
"delta": -0.0046,
"percent_delta": -0.0058,
"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.1521,
"after": 0.1504,
"delta": -0.0017,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2791,
"after": 0.2716,
"delta": -0.0075,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4972,
"after": 0.4934,
"delta": -0.0038,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4719,
"after": 0.4683,
"delta": -0.0036,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3587,
"after": 0.3614,
"delta": 0.0027,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9874,
"after": 0.9869,
"delta": -0.0005,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2791,
"after": 0.2716,
"delta": -0.0075,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.03), rates preserved: AVG=0.195 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.1579,
"after": 0.0,
"delta": -0.1579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9219,
"after": 4.0,
"delta": 0.0781,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3827,
"after": 0.0,
"delta": -0.3827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7865,
"after": 1.0,
"delta": 0.2135,
"percent_delta": 0.2715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1504,
"after": 0.0,
"delta": -0.1504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4683,
"after": 0.0,
"delta": -0.4683,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9869,
"after": 1.0,
"delta": 0.0131,
"percent_delta": 0.0133,
"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.7865,
"after": 1.0,
"delta": 0.2135,
"percent_delta": 0.2715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4683,
"after": 0.0,
"delta": -0.4683,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4934,
"after": 0.0,
"delta": -0.4934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4934,
"after": 0.0,
"delta": -0.4934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2005,
"after": 0.25,
"delta": 0.0495,
"percent_delta": 0.2469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2716,
"after": 0.25,
"delta": -0.0216,
"percent_delta": -0.0795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3614,
"after": 0.25,
"delta": -0.1114,
"percent_delta": -0.3082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2005,
"after": 0.25,
"delta": 0.0495,
"percent_delta": 0.2469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3614,
"after": 0.25,
"delta": -0.1114,
"percent_delta": -0.3082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2005,
"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.2716,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3614,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2005,
"delta": -0.0495,
"percent_delta": -0.1978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2716,
"delta": 0.0216,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3614,
"delta": 0.1114,
"percent_delta": 0.4457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3614,
"delta": 0.1114,
"percent_delta": 0.4457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2005,
"delta": -0.0495,
"percent_delta": -0.1978,
"direction": "deboost",
"projection_effect": "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.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 4.0,
"delta": -0.03,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2005,
"delta": -0.0115,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"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.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2716,
"delta": -0.0124,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.544,
"after": 0.0,
"delta": -0.544,
"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.367,
"after": 0.3614,
"delta": -0.0056,
"percent_delta": -0.0153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 2.0,
"delta": 1.076,
"percent_delta": 1.1645,
"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.924,
"after": 2.0,
"delta": 1.076,
"percent_delta": 1.1645,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.544,
"after": 0.0,
"delta": -0.544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.013 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.212 | - |
| predicted_BB | 0.354 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.544 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.367 | - |
| 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.158 | -0.019 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.922 | -0.108 |
| predicted_AVG | 0.200 | -0.012 |
| predicted_BB | 0.383 | 0.029 |
| predicted_H | 0.791 | -0.069 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.152 | 0.002 |
| predicted_OBP | 0.279 | -0.005 |
| predicted_R | 0.497 | -0.047 |
| predicted_RBI | 0.472 | -0.008 |
| predicted_SLG | 0.359 | -0.008 |
| predicted_SO | 0.987 | 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.158 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.922 | 0.000 |
| predicted_AVG | 0.201 | 0.000 |
| predicted_BB | 0.383 | 0.000 |
| predicted_H | 0.786 | -0.005 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.150 | -0.002 |
| predicted_OBP | 0.272 | -0.008 |
| predicted_R | 0.493 | -0.004 |
| predicted_RBI | 0.468 | -0.004 |
| predicted_SLG | 0.361 | 0.003 |
| predicted_SO | 0.987 | -0.001 |
AB rounded to 4 (raw=4.03), rates preserved: AVG=0.195 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.158 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.078 |
| predicted_AVG | 0.250 | 0.049 |
| predicted_BB | 0.000 | -0.383 |
| predicted_H | 1.000 | 0.214 |
| predicted_HR | 0.000 | -0.150 |
| predicted_OBP | 0.250 | -0.022 |
| predicted_R | 0.000 | -0.493 |
| predicted_RBI | 0.000 | -0.468 |
| predicted_SLG | 0.250 | -0.111 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 8.000 | 0.0526 | 0.1818 | 0.0526 | 0.0526 | 0.0000 | 0.0000 | 0.1579 | 0.4210 |
| last_10 | 0.20 | 10 | - | 38.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 5.000 | 11.000 | 0.1316 | 0.2326 | 0.2368 | 0.1316 | 0.0263 | 0.0790 | 0.1316 | 0.2895 |
| season | 0.60 | 79 | - | 296.000 | 70.000 | 14.000 | 1.000 | 18.000 | 52.000 | 43.000 | 28.000 | 73.000 | 0.2365 | 0.3100 | 0.4730 | 0.2365 | 0.0608 | 0.1757 | 0.0946 | 0.2466 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1320 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.7760 |
| predicted_AVG | 0.1847 |
| predicted_BB | 0.4210 |
| predicted_H | 0.6980 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.1550 |
| predicted_OBP | 0.2726 |
| predicted_R | 0.4340 |
| predicted_RBI | 0.4610 |
| predicted_SLG | 0.3474 |
| predicted_SO | 1.0730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1770 | 0.1320 | 0.1579 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.0300 | 3.7760 | 3.9219 | model_form_blend |
| predicted_AVG | 0.2120 | 0.1847 | 0.2004 | model_form_blend |
| predicted_BB | 0.3540 | 0.4210 | 0.3825 | model_form_blend |
| predicted_H | 0.8600 | 0.6980 | 0.7911 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.1500 | 0.1550 | 0.1521 | model_form_blend |
| predicted_OBP | 0.2840 | 0.2726 | 0.2791 | model_form_blend |
| predicted_R | 0.5440 | 0.4340 | 0.4972 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4610 | 0.4719 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3474 | 0.3587 | model_form_blend |
| predicted_SO | 0.9240 | 1.0730 | 0.9874 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 253 |
| Season rows before report date | 253 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260623_HOU@TOR |
| game_type | full |
| mlbID | 572233 |
| playerID | 572233 |
| playerName | Christian Walker |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-23 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.333 |
| sl_xwoba | 0.308 |
| sl_xba | 0.23 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 45.4 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 49.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.233 | 0.000 | 0.000 | Hitting_2B | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.013 | 1.000 | -0.013 | -1.000 |
| predicted_AB | 2.900 | 3.000 | 3.000 | Hitting_AB | 3.228 | 3.000 | -0.228 | 0.000 |
| predicted_AVG | 0.256 | 0.333 | 0.333 | Hitting_AVG | 0.286 | 0.333 | 0.047 | 0.000 |
| predicted_BB | 0.333 | 1.000 | 0.000 | Hitting_BB | 0.418 | 1.000 | 0.582 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.690 | 1.000 | 1.000 | Hitting_H | 0.924 | 1.000 | 0.076 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_OBP | 0.313 | 0.500 | 0.333 | Hitting_OBP | 0.372 | 0.500 | 0.128 | 0.000 |
| predicted_R | 0.367 | 1.000 | 0.000 | Hitting_R | 0.494 | 1.000 | 0.506 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SLG | 0.422 | 0.333 | 0.333 | Hitting_SLG | 0.408 | 1.000 | -0.075 | -0.667 |
| predicted_SO | 0.767 | 1.000 | 1.000 | Hitting_SO | 0.962 | 0.000 | 0.038 | 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_BB: 0.3330 -> 1.0000 (boost 0.6670, better) |
| Biggest Deboost | predicted_RBI: 0.4500 -> 0.0000 (deboost -0.4500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 2 | 1 | predicted_SLG: 0.4220 -> 0.4301 (boost 0.0081, better) | predicted_SO: 0.7670 -> 0.7005 (deboost -0.0665, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4301 -> 0.4416 (boost 0.0115, better) | predicted_AVG: 0.2489 -> 0.2363 (deboost -0.0126, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.6943 -> 1.0000 (boost 0.3057, better) | predicted_RBI: 0.4621 -> 0.0000 (deboost -0.4621, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.236 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3816 -> 0.0000 (deboost -0.3816, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2363 -> 0.3330 (boost 0.0967, better) | predicted_SLG: 0.4416 -> 0.3330 (deboost -0.1086, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4416 (boost 0.1086, better) | predicted_AVG: 0.3330 -> 0.2363 (deboost -0.0967, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694388",
"player_name": "Joey Loperfido",
"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.233,
"predicted_3B": 0.033,
"predicted_AB": 2.9,
"predicted_AVG": 0.256,
"predicted_BB": 0.333,
"predicted_H": 0.69,
"predicted_HR": 0.1,
"predicted_OBP": 0.313,
"predicted_R": 0.367,
"predicted_RBI": 0.45,
"predicted_SLG": 0.422,
"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.2131,
"predicted_3B": 0.049,
"predicted_AB": 2.9386,
"predicted_AVG": 0.2489,
"predicted_BB": 0.3288,
"predicted_H": 0.6984,
"predicted_HBP": 0.022,
"predicted_HR": 0.0985,
"predicted_OBP": 0.3137,
"predicted_R": 0.3846,
"predicted_RBI": 0.4657,
"predicted_SLG": 0.4301,
"predicted_SO": 0.7005
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.2131,
"delta": -0.0199,
"percent_delta": -0.0854,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.049,
"delta": 0.016,
"percent_delta": 0.4848,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9,
"after": 2.9386,
"delta": 0.0386,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2489,
"delta": -0.0071,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3288,
"delta": -0.0042,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.6984,
"delta": 0.0084,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0985,
"delta": -0.0015,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3137,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.367,
"after": 0.3846,
"delta": 0.0176,
"percent_delta": 0.048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4657,
"delta": 0.0157,
"percent_delta": 0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4301,
"delta": 0.0081,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 0.7005,
"delta": -0.0665,
"percent_delta": -0.0867,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4301,
"delta": 0.0081,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.767,
"after": 0.7005,
"delta": -0.0665,
"percent_delta": -0.0867,
"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.2131,
"predicted_3B": 0.049,
"predicted_AB": 2.9386,
"predicted_AVG": 0.2363,
"predicted_BB": 0.329,
"predicted_H": 0.6943,
"predicted_HBP": 0.022,
"predicted_HR": 0.0974,
"predicted_OBP": 0.3132,
"predicted_R": 0.3816,
"predicted_RBI": 0.4621,
"predicted_SLG": 0.4416,
"predicted_SO": 0.7001
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2131,
"after": 0.2131,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9386,
"after": 2.9386,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2489,
"after": 0.2363,
"delta": -0.0126,
"percent_delta": -0.0506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3288,
"after": 0.329,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6984,
"after": 0.6943,
"delta": -0.0041,
"percent_delta": -0.0059,
"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.0985,
"after": 0.0974,
"delta": -0.0011,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3137,
"after": 0.3132,
"delta": -0.0005,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3846,
"after": 0.3816,
"delta": -0.003,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4657,
"after": 0.4621,
"delta": -0.0036,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4301,
"after": 0.4416,
"delta": 0.0115,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7005,
"after": 0.7001,
"delta": -0.0004,
"percent_delta": -0.0006,
"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.4301,
"after": 0.4416,
"delta": 0.0115,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2489,
"after": 0.2363,
"delta": -0.0126,
"percent_delta": -0.0506,
"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.236 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2131,
"after": 0.0,
"delta": -0.2131,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9386,
"after": 3.0,
"delta": 0.0614,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6943,
"after": 1.0,
"delta": 0.3057,
"percent_delta": 0.4403,
"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.0974,
"after": 0.0,
"delta": -0.0974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4621,
"after": 0.0,
"delta": -0.4621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7001,
"after": 1.0,
"delta": 0.2999,
"percent_delta": 0.4284,
"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.6943,
"after": 1.0,
"delta": 0.3057,
"percent_delta": 0.4403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4621,
"after": 0.0,
"delta": -0.4621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3816,
"after": 0.0,
"delta": -0.3816,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3816,
"after": 0.0,
"delta": -0.3816,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2363,
"after": 0.333,
"delta": 0.0967,
"percent_delta": 0.4092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0198,
"percent_delta": 0.0632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4416,
"after": 0.333,
"delta": -0.1086,
"percent_delta": -0.2459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2363,
"after": 0.333,
"delta": 0.0967,
"percent_delta": 0.4092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4416,
"after": 0.333,
"delta": -0.1086,
"percent_delta": -0.2459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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": "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.2363,
"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.3132,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2363,
"delta": -0.0967,
"percent_delta": -0.2904,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3132,
"delta": -0.0198,
"percent_delta": -0.0595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4416,
"delta": 0.1086,
"percent_delta": 0.3261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4416,
"delta": 0.1086,
"percent_delta": 0.3261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2363,
"delta": -0.0967,
"percent_delta": -0.2904,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9,
"after": 3.0,
"delta": 0.1,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2363,
"delta": -0.0197,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"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.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"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.313,
"after": 0.3132,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.367,
"after": 1.0,
"delta": 0.633,
"percent_delta": 1.7248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4416,
"delta": 0.0196,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 1.0,
"delta": 0.233,
"percent_delta": 0.3038,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.233 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 2.900 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.367 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.422 | - |
| 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.213 | -0.020 |
| predicted_3B | 0.049 | 0.016 |
| predicted_AB | 2.939 | 0.039 |
| predicted_AVG | 0.249 | -0.007 |
| predicted_BB | 0.329 | -0.004 |
| predicted_H | 0.698 | 0.008 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.099 | -0.002 |
| predicted_OBP | 0.314 | 0.001 |
| predicted_R | 0.385 | 0.018 |
| predicted_RBI | 0.466 | 0.016 |
| predicted_SLG | 0.430 | 0.008 |
| predicted_SO | 0.701 | -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.213 | 0.000 |
| predicted_3B | 0.049 | 0.000 |
| predicted_AB | 2.939 | 0.000 |
| predicted_AVG | 0.236 | -0.013 |
| predicted_BB | 0.329 | 0.000 |
| predicted_H | 0.694 | -0.004 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.097 | -0.001 |
| predicted_OBP | 0.313 | -0.001 |
| predicted_R | 0.382 | -0.003 |
| predicted_RBI | 0.462 | -0.004 |
| predicted_SLG | 0.442 | 0.012 |
| predicted_SO | 0.700 | -0.000 |
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.236 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.213 |
| predicted_3B | 0.000 | -0.049 |
| predicted_AB | 3.000 | 0.061 |
| predicted_AVG | 0.333 | 0.097 |
| predicted_BB | 0.000 | -0.329 |
| predicted_H | 1.000 | 0.306 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.333 | 0.020 |
| predicted_R | 0.000 | -0.382 |
| predicted_RBI | 0.000 | -0.462 |
| predicted_SLG | 0.333 | -0.109 |
| predicted_SO | 1.000 | 0.300 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 1.000 | 4.000 | 2.000 | 1.000 | 1.000 | 0.2500 | 0.3077 | 0.6667 | 0.2500 | 0.0833 | 0.3333 | 0.0833 | 0.0833 |
| last_10 | 0.20 | 10 | - | 26.000 | 5.000 | 2.000 | 1.000 | 1.000 | 4.000 | 4.000 | 4.000 | 2.000 | 0.1923 | 0.3000 | 0.4615 | 0.1923 | 0.0385 | 0.1538 | 0.1538 | 0.0769 |
| season | 0.60 | 30 | - | 87.000 | 21.000 | 7.000 | 1.000 | 1.000 | 11.000 | 11.000 | 10.000 | 23.000 | 0.2414 | 0.3232 | 0.3793 | 0.2414 | 0.0115 | 0.1264 | 0.1149 | 0.2644 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1810 |
| predicted_3B | 0.0750 |
| predicted_AB | 3.0010 |
| predicted_AVG | 0.2373 |
| predicted_BB | 0.3220 |
| predicted_H | 0.7120 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.3149 |
| predicted_R | 0.4130 |
| predicted_RBI | 0.4910 |
| predicted_SLG | 0.4432 |
| predicted_SO | 0.5930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.1810 | 0.2131 | model_form_blend |
| predicted_3B | 0.0330 | 0.0750 | 0.0490 | model_form_blend |
| predicted_AB | 2.9000 | 3.0010 | 2.9386 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2373 | 0.2489 | model_form_blend |
| predicted_BB | 0.3330 | 0.3220 | 0.3288 | model_form_blend |
| predicted_H | 0.6900 | 0.7120 | 0.6984 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1000 | 0.0960 | 0.0985 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3149 | 0.3137 | model_form_blend |
| predicted_R | 0.3670 | 0.4130 | 0.3846 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4910 | 0.4657 | model_form_blend |
| predicted_SLG | 0.4220 | 0.4432 | 0.4301 | model_form_blend |
| predicted_SO | 0.7670 | 0.5930 | 0.7005 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 79 |
| Season rows before report date | 79 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| 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 | 3 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 694388 |
| playerID | 694388 |
| playerName | Joey Loperfido |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.32 |
| sl_xwoba | 0.317 |
| sl_xba | 0.247 |
| sl_xslg | 0.365 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 35.4 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.154 | 0.000 | 0.000 | Hitting_2B | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.436 | 3.000 | 3.000 | Hitting_AB | 3.489 | 3.000 | -0.489 | 0.000 |
| predicted_AVG | 0.234 | 0.000 | 0.333 | Hitting_AVG | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_BB | 0.359 | 1.000 | 0.000 | Hitting_BB | 0.397 | 1.000 | 0.603 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.780 | 0.000 | 1.000 | Hitting_H | 0.768 | 0.000 | -0.768 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_OBP | 0.292 | 0.250 | 0.333 | Hitting_OBP | 0.310 | 0.250 | -0.060 | 0.000 |
| predicted_R | 0.397 | 0.000 | 0.000 | Hitting_R | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.401 | 0.000 | -0.401 | 0.000 |
| predicted_SLG | 0.382 | 0.000 | 0.333 | Hitting_SLG | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_SO | 1.013 | 1.000 | 1.000 | Hitting_SO | 1.072 | 1.000 | -0.072 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3590 -> 1.0000 (boost 0.6410, 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 | 3 | 0 | 3 | 1 | 2 | - | predicted_SO: 1.0130 -> 0.9520 (deboost -0.0610, 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_AVG: 0.2261 -> 0.2207 (deboost -0.0054, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.7641 -> 1.0000 (boost 0.2359, better) | predicted_AB: 3.4623 -> 3.0000 (deboost -0.4623, worse) | AB rounded to 3 (raw=3.46), rates preserved: AVG=0.221 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3910 -> 0.0000 (deboost -0.3910, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2207 -> 0.3330 (boost 0.1123, better) | predicted_SLG: 0.3781 -> 0.3330 (deboost -0.0451, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3781 (boost 0.0451, better) | predicted_AVG: 0.3330 -> 0.2207 (deboost -0.1123, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.013,
"predicted_AB": 3.436,
"predicted_AVG": 0.234,
"predicted_BB": 0.359,
"predicted_H": 0.78,
"predicted_HR": 0.13,
"predicted_OBP": 0.292,
"predicted_R": 0.397,
"predicted_RBI": 0.38,
"predicted_SLG": 0.382,
"predicted_SO": 1.013
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1464,
"predicted_3B": 0.0109,
"predicted_AB": 3.4623,
"predicted_AVG": 0.2261,
"predicted_BB": 0.3484,
"predicted_H": 0.7686,
"predicted_HBP": 0.031,
"predicted_HR": 0.127,
"predicted_OBP": 0.2887,
"predicted_R": 0.394,
"predicted_RBI": 0.3677,
"predicted_SLG": 0.3746,
"predicted_SO": 0.952
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.1464,
"delta": -0.0076,
"percent_delta": -0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.436,
"after": 3.4623,
"delta": 0.0263,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2261,
"delta": -0.0079,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.359,
"after": 0.3484,
"delta": -0.0106,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7686,
"delta": -0.0114,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.127,
"delta": -0.003,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2887,
"delta": -0.0033,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.394,
"delta": -0.003,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3677,
"delta": -0.0123,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3746,
"delta": -0.0074,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.013,
"after": 0.952,
"delta": -0.061,
"percent_delta": -0.0602,
"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_SO",
"before": 1.013,
"after": 0.952,
"delta": -0.061,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1464,
"predicted_3B": 0.0109,
"predicted_AB": 3.4623,
"predicted_AVG": 0.2207,
"predicted_BB": 0.3486,
"predicted_H": 0.7641,
"predicted_HBP": 0.031,
"predicted_HR": 0.1256,
"predicted_OBP": 0.292,
"predicted_R": 0.391,
"predicted_RBI": 0.3649,
"predicted_SLG": 0.3781,
"predicted_SO": 0.9515
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1464,
"after": 0.1464,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4623,
"after": 3.4623,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2261,
"after": 0.2207,
"delta": -0.0054,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3484,
"after": 0.3486,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7686,
"after": 0.7641,
"delta": -0.0045,
"percent_delta": -0.0059,
"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.127,
"after": 0.1256,
"delta": -0.0014,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2887,
"after": 0.292,
"delta": 0.0033,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.394,
"after": 0.391,
"delta": -0.003,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3677,
"after": 0.3649,
"delta": -0.0028,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3746,
"after": 0.3781,
"delta": 0.0035,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.952,
"after": 0.9515,
"delta": -0.0005,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2261,
"after": 0.2207,
"delta": -0.0054,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.46), rates preserved: AVG=0.221 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1464,
"after": 0.0,
"delta": -0.1464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4623,
"after": 3.0,
"delta": -0.4623,
"percent_delta": -0.1335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3486,
"after": 0.0,
"delta": -0.3486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7641,
"after": 1.0,
"delta": 0.2359,
"percent_delta": 0.3087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1256,
"after": 0.0,
"delta": -0.1256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3649,
"after": 0.0,
"delta": -0.3649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9515,
"after": 1.0,
"delta": 0.0485,
"percent_delta": 0.051,
"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.7641,
"after": 1.0,
"delta": 0.2359,
"percent_delta": 0.3087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4623,
"after": 3.0,
"delta": -0.4623,
"percent_delta": -0.1335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.391,
"after": 0.0,
"delta": -0.391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.391,
"after": 0.0,
"delta": -0.391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.333,
"delta": 0.1123,
"percent_delta": 0.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.041,
"percent_delta": 0.1404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3781,
"after": 0.333,
"delta": -0.0451,
"percent_delta": -0.1193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.333,
"delta": 0.1123,
"percent_delta": 0.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3781,
"after": 0.333,
"delta": -0.0451,
"percent_delta": -0.1193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2207,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3781,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2207,
"delta": -0.1123,
"percent_delta": -0.3372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.292,
"delta": -0.041,
"percent_delta": -0.1232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3781,
"delta": 0.0451,
"percent_delta": 0.1355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3781,
"delta": 0.0451,
"percent_delta": 0.1355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2207,
"delta": -0.1123,
"percent_delta": -0.3372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.436,
"after": 3.0,
"delta": -0.436,
"percent_delta": -0.1269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2207,
"delta": -0.0133,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.359,
"after": 1.0,
"delta": 0.641,
"percent_delta": 1.7855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.292,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3781,
"delta": -0.0039,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.013,
"after": 1.0,
"delta": -0.013,
"percent_delta": -0.0128,
"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.359,
"after": 1.0,
"delta": 0.641,
"percent_delta": 1.7855,
"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.154 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.436 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.359 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.397 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.382 | - |
| predicted_SO | 1.013 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.008 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.462 | 0.026 |
| predicted_AVG | 0.226 | -0.008 |
| predicted_BB | 0.348 | -0.011 |
| predicted_H | 0.769 | -0.011 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.127 | -0.003 |
| predicted_OBP | 0.289 | -0.003 |
| predicted_R | 0.394 | -0.003 |
| predicted_RBI | 0.368 | -0.012 |
| predicted_SLG | 0.375 | -0.007 |
| predicted_SO | 0.952 | -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.146 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.462 | 0.000 |
| predicted_AVG | 0.221 | -0.005 |
| predicted_BB | 0.349 | 0.000 |
| predicted_H | 0.764 | -0.004 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.126 | -0.001 |
| predicted_OBP | 0.292 | 0.003 |
| predicted_R | 0.391 | -0.003 |
| predicted_RBI | 0.365 | -0.003 |
| predicted_SLG | 0.378 | 0.004 |
| predicted_SO | 0.952 | -0.000 |
AB rounded to 3 (raw=3.46), rates preserved: AVG=0.221 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.146 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | -0.462 |
| predicted_AVG | 0.333 | 0.112 |
| predicted_BB | 0.000 | -0.349 |
| predicted_H | 1.000 | 0.236 |
| predicted_HR | 0.000 | -0.126 |
| predicted_OBP | 0.333 | 0.041 |
| predicted_R | 0.000 | -0.391 |
| predicted_RBI | 0.000 | -0.365 |
| predicted_SLG | 0.333 | -0.045 |
| predicted_SO | 1.000 | 0.048 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.1765 | 0.2500 | 0.3529 | 0.1765 | 0.0588 | 0.1177 | 0.1177 | 0.1765 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 7.000 | 0.2222 | 0.2564 | 0.3611 | 0.2222 | 0.0278 | 0.0556 | 0.0556 | 0.1944 |
| season | 0.60 | 78 | - | 268.000 | 59.000 | 12.000 | 1.000 | 8.000 | 28.000 | 31.000 | 28.000 | 79.000 | 0.2201 | 0.3003 | 0.3619 | 0.2202 | 0.0299 | 0.1045 | 0.1045 | 0.2948 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4980 |
| predicted_AVG | 0.2153 |
| predicted_BB | 0.3340 |
| predicted_H | 0.7530 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.2843 |
| predicted_R | 0.3900 |
| predicted_RBI | 0.3510 |
| predicted_SLG | 0.3645 |
| predicted_SO | 0.8690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1360 | 0.1464 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 3.4360 | 3.4980 | 3.4623 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2153 | 0.2261 | model_form_blend |
| predicted_BB | 0.3590 | 0.3340 | 0.3484 | model_form_blend |
| predicted_H | 0.7800 | 0.7530 | 0.7686 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.1300 | 0.1230 | 0.1270 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2843 | 0.2887 | model_form_blend |
| predicted_R | 0.3970 | 0.3900 | 0.3940 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3510 | 0.3677 | model_form_blend |
| predicted_SLG | 0.3820 | 0.3645 | 0.3746 | model_form_blend |
| predicted_SO | 1.0130 | 0.8690 | 0.9520 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 237 |
| Season rows before report date | 237 |
| Report year | 2026 |
| Profile rows used | 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.22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 701358 |
| playerID | 701358 |
| playerName | Cam Smith |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.296 |
| sl_xwoba | 0.335 |
| sl_xba | 0.248 |
| sl_xslg | 0.445 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 30.7 |
| 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.172 | 1.000 | 0.000 | Hitting_2B | 0.242 | 0.000 | 0.758 | 1.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_AB | 2.759 | 4.000 | 3.000 | Hitting_AB | 3.048 | 3.000 | 0.952 | 1.000 |
| predicted_AVG | 0.238 | 0.500 | 0.333 | Hitting_AVG | 0.323 | 0.333 | 0.177 | 0.167 |
| predicted_BB | 0.172 | 0.000 | 0.000 | Hitting_BB | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.230 | 2.000 | 1.000 | Hitting_H | 0.984 | 1.000 | 1.016 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.016 | 1.000 | -0.016 | -1.000 |
| predicted_OBP | 0.262 | 0.500 | 0.333 | Hitting_OBP | 0.373 | 0.333 | 0.127 | 0.167 |
| predicted_R | 0.345 | 1.000 | 0.000 | Hitting_R | 0.468 | 1.000 | 0.532 | 0.000 |
| predicted_RBI | 0.150 | 2.000 | 0.000 | Hitting_RBI | 0.419 | 1.000 | 1.581 | 1.000 |
| predicted_SLG | 0.390 | 0.750 | 0.333 | Hitting_SLG | 0.460 | 1.333 | 0.290 | -0.583 |
| predicted_SO | 1.103 | 1.000 | 1.000 | Hitting_SO | 1.097 | 0.000 | -0.097 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.1500 -> 2.0000 (boost 1.8500, better) |
| Biggest Deboost | predicted_BB: 0.1720 -> 0.0000 (deboost -0.1720, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2300 -> 0.3797 (boost 0.1497, 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.4009 -> 0.2884 (deboost -0.1125, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_AB: 2.7429 -> 3.0000 (boost 0.2571, better) | predicted_H: 0.3775 -> 0.0000 (deboost -0.3775, worse) | AB rounded to 3 (raw=2.76), 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.3405 -> 0.0000 (deboost -0.3405, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1376 -> 0.3330 (boost 0.1954, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1376 (deboost -0.1954, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666211",
"player_name": "Taylor Trammell",
"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.172,
"predicted_3B": 0.034,
"predicted_AB": 2.759,
"predicted_AVG": 0.238,
"predicted_BB": 0.172,
"predicted_H": 0.23,
"predicted_HR": 0.04,
"predicted_OBP": 0.262,
"predicted_R": 0.345,
"predicted_RBI": 0.15,
"predicted_SLG": 0.39,
"predicted_SO": 1.103
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1578,
"predicted_3B": 0.028,
"predicted_AB": 2.7429,
"predicted_AVG": 0.2357,
"predicted_BB": 0.1649,
"predicted_H": 0.3797,
"predicted_HBP": 0.021,
"predicted_HR": 0.0673,
"predicted_OBP": 0.2677,
"predicted_R": 0.3431,
"predicted_RBI": 0.2103,
"predicted_SLG": 0.4009,
"predicted_SO": 1.0753
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1578,
"delta": -0.0142,
"percent_delta": -0.0826,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.028,
"delta": -0.006,
"percent_delta": -0.1765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.759,
"after": 2.7429,
"delta": -0.0161,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2357,
"delta": -0.0023,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 0.1649,
"delta": -0.0071,
"percent_delta": -0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.3797,
"delta": 0.1497,
"percent_delta": 0.6509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0673,
"delta": 0.0273,
"percent_delta": 0.6825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.2677,
"delta": 0.0057,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.345,
"after": 0.3431,
"delta": -0.0019,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.2103,
"delta": 0.0603,
"percent_delta": 0.402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.4009,
"delta": 0.0109,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.103,
"after": 1.0753,
"delta": -0.0277,
"percent_delta": -0.0251,
"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.23,
"after": 0.3797,
"delta": 0.1497,
"percent_delta": 0.6509,
"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": 29
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1578,
"predicted_3B": 0.028,
"predicted_AB": 2.7429,
"predicted_AVG": 0.1376,
"predicted_BB": 0.165,
"predicted_H": 0.3775,
"predicted_HBP": 0.021,
"predicted_HR": 0.0666,
"predicted_OBP": 0.1866,
"predicted_R": 0.3405,
"predicted_RBI": 0.2087,
"predicted_SLG": 0.2884,
"predicted_SO": 1.0748
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1578,
"after": 0.1578,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7429,
"after": 2.7429,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2357,
"after": 0.1376,
"delta": -0.0981,
"percent_delta": -0.4162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1649,
"after": 0.165,
"delta": 0.0001,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3797,
"after": 0.3775,
"delta": -0.0022,
"percent_delta": -0.0058,
"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.0673,
"after": 0.0666,
"delta": -0.0007,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2677,
"after": 0.1866,
"delta": -0.0811,
"percent_delta": -0.303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3431,
"after": 0.3405,
"delta": -0.0026,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2103,
"after": 0.2087,
"delta": -0.0016,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4009,
"after": 0.2884,
"delta": -0.1125,
"percent_delta": -0.2806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0753,
"after": 1.0748,
"delta": -0.0005,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4009,
"after": 0.2884,
"delta": -0.1125,
"percent_delta": -0.2806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.76), rates preserved: AVG=0.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.1578,
"after": 0.0,
"delta": -0.1578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7429,
"after": 3.0,
"delta": 0.2571,
"percent_delta": 0.0937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3775,
"after": 0.0,
"delta": -0.3775,
"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.0666,
"after": 0.0,
"delta": -0.0666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2087,
"after": 0.0,
"delta": -0.2087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0748,
"after": 1.0,
"delta": -0.0748,
"percent_delta": -0.0696,
"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.7429,
"after": 3.0,
"delta": 0.2571,
"percent_delta": 0.0937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3775,
"after": 0.0,
"delta": -0.3775,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3405,
"after": 0.0,
"delta": -0.3405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3405,
"after": 0.0,
"delta": -0.3405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1376,
"after": 0.333,
"delta": 0.1954,
"percent_delta": 1.4201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1866,
"after": 0.333,
"delta": 0.1464,
"percent_delta": 0.7846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2884,
"after": 0.333,
"delta": 0.0446,
"percent_delta": 0.1546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1376,
"after": 0.333,
"delta": 0.1954,
"percent_delta": 1.4201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1376,
"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.1866,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2884,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1376,
"delta": -0.1954,
"percent_delta": -0.5867,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.1866,
"delta": -0.1464,
"percent_delta": -0.4398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2884,
"delta": -0.0446,
"percent_delta": -0.134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1376,
"delta": -0.1954,
"percent_delta": -0.5867,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.828,
"percent_delta": 4.814,
"direction": "boost",
"projection_effect": "better",
"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.759,
"after": 4.0,
"delta": 1.241,
"percent_delta": 0.4498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.1376,
"delta": -0.1004,
"percent_delta": -0.4218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 2.0,
"delta": 1.77,
"percent_delta": 7.6957,
"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.262,
"after": 0.1866,
"delta": -0.0754,
"percent_delta": -0.2878,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.345,
"after": 1.0,
"delta": 0.655,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 2.0,
"delta": 1.85,
"percent_delta": 12.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.2884,
"delta": -0.1016,
"percent_delta": -0.2605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.103,
"after": 1.0,
"delta": -0.103,
"percent_delta": -0.0934,
"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.15,
"after": 2.0,
"delta": 1.85,
"percent_delta": 12.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"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.172 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 2.759 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.172 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.262 | - |
| predicted_R | 0.345 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 1.103 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.028 | -0.006 |
| predicted_AB | 2.743 | -0.016 |
| predicted_AVG | 0.236 | -0.002 |
| predicted_BB | 0.165 | -0.007 |
| predicted_H | 0.380 | 0.150 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.067 | 0.027 |
| predicted_OBP | 0.268 | 0.006 |
| predicted_R | 0.343 | -0.002 |
| predicted_RBI | 0.210 | 0.060 |
| predicted_SLG | 0.401 | 0.011 |
| predicted_SO | 1.075 | -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.158 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 2.743 | 0.000 |
| predicted_AVG | 0.138 | -0.098 |
| predicted_BB | 0.165 | 0.000 |
| predicted_H | 0.378 | -0.002 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.067 | -0.001 |
| predicted_OBP | 0.187 | -0.081 |
| predicted_R | 0.341 | -0.003 |
| predicted_RBI | 0.209 | -0.002 |
| predicted_SLG | 0.288 | -0.112 |
| predicted_SO | 1.075 | -0.000 |
AB rounded to 3 (raw=2.76), 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 |
Player 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.028 |
| predicted_AB | 3.000 | 0.257 |
| predicted_AVG | 0.333 | 0.195 |
| predicted_BB | 0.000 | -0.165 |
| predicted_H | 1.000 | 0.623 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.333 | 0.146 |
| predicted_R | 0.000 | -0.341 |
| predicted_RBI | 0.000 | -0.209 |
| predicted_SLG | 0.333 | 0.045 |
| predicted_SO | 1.000 | -0.075 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 4.000 | 0.1250 | 0.1250 | 0.5000 | 0.1250 | 0.1250 | 0.1250 | 0.0000 | 0.5000 |
| last_10 | 0.20 | 10 | - | 17.000 | 3.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 8.000 | 0.1765 | 0.2222 | 0.4118 | 0.1765 | 0.0588 | 0.1177 | 0.0588 | 0.4706 |
| season | 0.60 | 29 | - | 80.000 | 22.000 | 5.000 | 1.000 | 1.000 | 8.000 | 10.000 | 5.000 | 32.000 | 0.2750 | 0.3256 | 0.4000 | 0.2750 | 0.0125 | 0.1000 | 0.0625 | 0.4000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0180 |
| predicted_AB | 2.7160 |
| predicted_AVG | 0.2318 |
| predicted_BB | 0.1530 |
| predicted_H | 0.6300 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.1130 |
| predicted_OBP | 0.2773 |
| predicted_R | 0.3400 |
| predicted_RBI | 0.3110 |
| predicted_SLG | 0.4192 |
| predicted_SO | 1.0290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1340 | 0.1578 | model_form_blend |
| predicted_3B | 0.0340 | 0.0180 | 0.0280 | model_form_blend |
| predicted_AB | 2.7590 | 2.7160 | 2.7429 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2318 | 0.2357 | model_form_blend |
| predicted_BB | 0.1720 | 0.1530 | 0.1649 | model_form_blend |
| predicted_H | 0.2300 | 0.6300 | 0.3797 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0400 | 0.1130 | 0.0673 | model_form_blend |
| predicted_OBP | 0.2620 | 0.2773 | 0.2677 | model_form_blend |
| predicted_R | 0.3450 | 0.3400 | 0.3431 | model_form_blend |
| predicted_RBI | 0.1500 | 0.3110 | 0.2103 | model_form_blend |
| predicted_SLG | 0.3900 | 0.4192 | 0.4009 | model_form_blend |
| predicted_SO | 1.1030 | 1.0290 | 1.0753 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 62 |
| Season rows before report date | 62 |
| Report year | 2026 |
| Profile rows used | 29 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.275 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| 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 | 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 | 20260623_HOU@TOR |
| game_type | full |
| mlbID | 666211 |
| playerID | 666211 |
| playerName | Taylor Trammell |
| pos | CF |
| started | True |
| startingPosition | LF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-23 |
| sl_k_percent | 36.4 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.325 |
| sl_xwoba | 0.259 |
| sl_xba | 0.199 |
| sl_xslg | 0.313 |
| sl_sweet_spot_percent | 26.5 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 34.7 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 41.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.118 | 0.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.980 | 3.000 | 3.000 | Hitting_AB | 3.222 | 1.000 | -0.222 | 2.000 |
| predicted_AVG | 0.228 | 0.000 | 0.333 | Hitting_AVG | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_BB | 0.235 | 1.000 | 0.000 | Hitting_BB | 0.281 | 0.000 | 0.719 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.600 | 0.000 | 1.000 | Hitting_H | 0.830 | 0.000 | -0.830 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.262 | 0.250 | 0.333 | Hitting_OBP | 0.317 | 0.000 | -0.067 | 0.250 |
| predicted_R | 0.314 | 0.000 | 0.000 | Hitting_R | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.504 | 0.000 | -0.504 | 0.000 |
| predicted_SLG | 0.302 | 0.000 | 0.333 | Hitting_SLG | 0.416 | 0.000 | -0.416 | 0.000 |
| predicted_SO | 0.529 | 0.000 | 1.000 | Hitting_SO | 0.548 | 0.000 | -0.548 | 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.2350 -> 1.0000 (boost 0.7650, better) |
| Biggest Deboost | predicted_H: 0.6000 -> 0.0000 (deboost -0.6000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2280 -> 0.2090 (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 | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2090 -> 0.1920 (deboost -0.0170, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.5356 -> 1.0000 (boost 0.4644, worse) | predicted_RBI: 0.2789 -> 0.0000 (deboost -0.2789, worse) | AB rounded to 3 (raw=2.98), rates preserved: AVG=0.192 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3196 -> 0.0000 (deboost -0.3196, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1920 -> 0.3330 (boost 0.1410, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1920 (deboost -0.1410, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.118,
"predicted_3B": 0.0,
"predicted_AB": 2.98,
"predicted_AVG": 0.228,
"predicted_BB": 0.235,
"predicted_H": 0.6,
"predicted_HR": 0.07,
"predicted_OBP": 0.262,
"predicted_R": 0.314,
"predicted_RBI": 0.29,
"predicted_SLG": 0.302,
"predicted_SO": 0.529
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1107,
"predicted_3B": 0.0008,
"predicted_AB": 2.9832,
"predicted_AVG": 0.209,
"predicted_BB": 0.2342,
"predicted_H": 0.5761,
"predicted_HBP": 0.004,
"predicted_HR": 0.0643,
"predicted_OBP": 0.2538,
"predicted_R": 0.3221,
"predicted_RBI": 0.2811,
"predicted_SLG": 0.2898,
"predicted_SO": 0.5359
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1107,
"delta": -0.0073,
"percent_delta": -0.0619,
"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.98,
"after": 2.9832,
"delta": 0.0032,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.209,
"delta": -0.019,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.235,
"after": 0.2342,
"delta": -0.0008,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.5761,
"delta": -0.0239,
"percent_delta": -0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0643,
"delta": -0.0057,
"percent_delta": -0.0814,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.2538,
"delta": -0.0082,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.3221,
"delta": 0.0081,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2811,
"delta": -0.0089,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.2898,
"delta": -0.0122,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.529,
"after": 0.5359,
"delta": 0.0069,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.228,
"after": 0.209,
"delta": -0.019,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1107,
"predicted_3B": 0.0008,
"predicted_AB": 2.9832,
"predicted_AVG": 0.192,
"predicted_BB": 0.2343,
"predicted_H": 0.5728,
"predicted_HBP": 0.004,
"predicted_HR": 0.0636,
"predicted_OBP": 0.2508,
"predicted_R": 0.3196,
"predicted_RBI": 0.2789,
"predicted_SLG": 0.2936,
"predicted_SO": 0.5356
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1107,
"after": 0.1107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9832,
"after": 2.9832,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.192,
"delta": -0.017,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2342,
"after": 0.2343,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5761,
"after": 0.5728,
"delta": -0.0033,
"percent_delta": -0.0057,
"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.0643,
"after": 0.0636,
"delta": -0.0007,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2538,
"after": 0.2508,
"delta": -0.003,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3221,
"after": 0.3196,
"delta": -0.0025,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2811,
"after": 0.2789,
"delta": -0.0022,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2898,
"after": 0.2936,
"delta": 0.0038,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5359,
"after": 0.5356,
"delta": -0.0003,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.209,
"after": 0.192,
"delta": -0.017,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.98), rates preserved: AVG=0.192 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.1107,
"after": 0.0,
"delta": -0.1107,
"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.9832,
"after": 3.0,
"delta": 0.0168,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2343,
"after": 0.0,
"delta": -0.2343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5728,
"after": 1.0,
"delta": 0.4272,
"percent_delta": 0.7458,
"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.0636,
"after": 0.0,
"delta": -0.0636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2789,
"after": 0.0,
"delta": -0.2789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5356,
"after": 1.0,
"delta": 0.4644,
"percent_delta": 0.8671,
"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.5356,
"after": 1.0,
"delta": 0.4644,
"percent_delta": 0.8671,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2789,
"after": 0.0,
"delta": -0.2789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3196,
"after": 0.0,
"delta": -0.3196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3196,
"after": 0.0,
"delta": -0.3196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.192,
"after": 0.333,
"delta": 0.141,
"percent_delta": 0.7344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2508,
"after": 0.333,
"delta": 0.0822,
"percent_delta": 0.3278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2936,
"after": 0.333,
"delta": 0.0394,
"percent_delta": 0.1342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.192,
"after": 0.333,
"delta": 0.141,
"percent_delta": 0.7344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.192,
"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.2508,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2936,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.192,
"delta": -0.141,
"percent_delta": -0.4234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2508,
"delta": -0.0822,
"percent_delta": -0.2467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2936,
"delta": -0.0394,
"percent_delta": -0.1183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.192,
"delta": -0.141,
"percent_delta": -0.4234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.98,
"after": 3.0,
"delta": 0.02,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.192,
"delta": -0.036,
"percent_delta": -0.1579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.2508,
"delta": -0.0112,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.2936,
"delta": -0.0084,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"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.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.980 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.235 | - |
| predicted_H | 0.600 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.262 | - |
| predicted_R | 0.314 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.302 | - |
| predicted_SO | 0.529 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | -0.007 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.983 | 0.003 |
| predicted_AVG | 0.209 | -0.019 |
| predicted_BB | 0.234 | -0.001 |
| predicted_H | 0.576 | -0.024 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.064 | -0.006 |
| predicted_OBP | 0.254 | -0.008 |
| predicted_R | 0.322 | 0.008 |
| predicted_RBI | 0.281 | -0.009 |
| predicted_SLG | 0.290 | -0.012 |
| predicted_SO | 0.536 | 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.111 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.983 | 0.000 |
| predicted_AVG | 0.192 | -0.017 |
| predicted_BB | 0.234 | 0.000 |
| predicted_H | 0.573 | -0.003 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.064 | -0.001 |
| predicted_OBP | 0.251 | -0.003 |
| predicted_R | 0.320 | -0.003 |
| predicted_RBI | 0.279 | -0.002 |
| predicted_SLG | 0.294 | 0.004 |
| predicted_SO | 0.536 | -0.000 |
AB rounded to 3 (raw=2.98), rates preserved: AVG=0.192 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.111 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.017 |
| predicted_AVG | 0.333 | 0.141 |
| predicted_BB | 0.000 | -0.234 |
| predicted_H | 1.000 | 0.427 |
| predicted_HR | 0.000 | -0.064 |
| predicted_OBP | 0.333 | 0.082 |
| predicted_R | 0.000 | -0.320 |
| predicted_RBI | 0.000 | -0.279 |
| predicted_SLG | 0.333 | 0.039 |
| predicted_SO | 1.000 | 0.464 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.0833 | 0.1538 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.0833 | 0.1667 |
| last_10 | 0.20 | 10 | - | 28.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 5.000 | 0.1071 | 0.1667 | 0.1429 | 0.1071 | 0.0000 | 0.0357 | 0.0714 | 0.1786 |
| season | 0.60 | 51 | - | 152.000 | 33.000 | 6.000 | 0.000 | 4.000 | 19.000 | 16.000 | 12.000 | 27.000 | 0.2171 | 0.2744 | 0.3355 | 0.2171 | 0.0263 | 0.1250 | 0.0790 | 0.1776 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1000 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9880 |
| predicted_AVG | 0.1810 |
| predicted_BB | 0.2330 |
| predicted_H | 0.5410 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.2418 |
| predicted_R | 0.3340 |
| predicted_RBI | 0.2680 |
| predicted_SLG | 0.2718 |
| predicted_SO | 0.5460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.1000 | 0.1107 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9800 | 2.9880 | 2.9832 | model_form_blend |
| predicted_AVG | 0.2280 | 0.1810 | 0.2090 | model_form_blend |
| predicted_BB | 0.2350 | 0.2330 | 0.2342 | model_form_blend |
| predicted_H | 0.6000 | 0.5410 | 0.5761 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0700 | 0.0560 | 0.0643 | model_form_blend |
| predicted_OBP | 0.2620 | 0.2418 | 0.2538 | model_form_blend |
| predicted_R | 0.3140 | 0.3340 | 0.3221 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2680 | 0.2811 | model_form_blend |
| predicted_SLG | 0.3020 | 0.2718 | 0.2898 | model_form_blend |
| predicted_SO | 0.5290 | 0.5460 | 0.5359 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 51 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.217 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260623_HOU@TOR |
| game_type | short |
| mlbID | 543877 |
| playerID | 543877 |
| playerName | Christian Vázquez |
| pos | C |
| started | False |
| startingPosition | C |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-23 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.273 |
| sl_xwoba | 0.237 |
| sl_xba | 0.196 |
| sl_xslg | 0.266 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 23.4 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 18.2 |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 2.400 | 0.000 | -1.400 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.800 | 3.000 | 0.200 | 0.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 3.500 | 6.000 | 0.500 | -2.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 3.890 | 6.000 | 0.210 | -1.900 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.800 | 11.000 | 1.200 | -5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_quality_floor | 3 | 2 | 1 | 0 | 3 | predicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "837227",
"player_name": "Tatsuya Imai",
"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": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 4.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_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": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 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.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 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.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.1,
"after": 4.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 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.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 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.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.333 | - |
| predicted_SO | 6.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 | 4.000 | 1.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.100 | -0.233 |
| predicted_SO | 6.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 23.200 | 12.000 | 18.000 | 10.000 | 27.000 | 2.000 | 4.5634 | 1.1831 | 0.5070 | 0.7606 | 0.4225 | 1.1408 | 0.0845 |
| last_10 | 0.35 | 10 | 41.000 | 28.000 | 35.000 | 24.000 | 48.000 | 6.000 | 6.1463 | 1.4390 | 0.6829 | 0.8537 | 0.5854 | 1.1707 | 0.1463 |
| season | 0.20 | 10 | 41.000 | 28.000 | 35.000 | 24.000 | 48.000 | 6.000 | 6.1463 | 1.4390 | 0.6829 | 0.8537 | 0.5854 | 1.1707 | 0.1463 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9590 |
| predicted_ER | 2.4240 |
| predicted_ERA | 5.0029 |
| predicted_H | 3.7390 |
| predicted_HR | 0.5370 |
| predicted_IP | 4.1000 |
| predicted_SO | 4.7320 |
| predicted_WHIP | 1.3066 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.9590 | 1.4883 | model_form_blend |
| predicted_ER | 2.0000 | 2.4240 | 2.2159 | model_form_blend |
| predicted_ERA | - | 5.0029 | 5.0029 | form_only |
| predicted_H | 3.0000 | 3.7390 | 3.3763 | model_form_blend |
| predicted_HR | 1.0000 | 0.5370 | 0.7642 | model_form_blend |
| predicted_IP | 4.1000 | 4.1000 | 4.1000 | model_form_blend |
| predicted_SO | 6.0000 | 4.7320 | 5.3544 | model_form_blend |
| predicted_WHIP | - | 1.3066 | 1.3066 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 4.1 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 6 |
| HR | 1 |
| BF | 18 |
| Pitches | 78 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 3 |
| Pitching_ERA | 6.15 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 89 |
| Pitching_R | 3 |
| Pitching_SO | 11 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_CLE@HOU |
| game_type | full |
| mlbID | 837227 |
| playerID | 837227 |
| playerName | Tatsuya Imai |
| pos | P |
| started | True |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-19 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.33 |
| sl_xwoba | 0.33 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 44.8 |
| sl_whiff_percent | 32.0 |
| sl_swing_percent | 43.4 |
| sl_avg_best_speed | 81.206261154 |
| sl_avg_hyper_speed | 94.586670194 |
| 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.438 | 0.000 | -0.438 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.281 | 0.000 | 0.719 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.906 | 1.000 | 2.094 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.909 | 1.000 | 0.091 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.812 | 0.000 | 0.188 | 1.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: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 2 | 0 | - | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687911",
"player_name": "Bryan King",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 2.000 | 2.000 | 3.000 | 0.000 | 1.9286 | 0.8571 | 0.2143 | 0.4286 | 0.4286 | 0.6429 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 1.000 | 6.000 | 4.000 | 7.000 | 0.000 | 1.0385 | 1.1538 | 0.1154 | 0.6923 | 0.4615 | 0.8077 | 0.0000 |
| season | 0.20 | 32 | 34.000 | 9.000 | 29.000 | 14.000 | 26.000 | 1.000 | 2.3824 | 1.2647 | 0.2647 | 0.8529 | 0.4118 | 0.7647 | 0.0294 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4040 |
| predicted_ER | 0.3220 |
| predicted_ERA | 2.8964 |
| predicted_H | 0.7610 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8200 |
| predicted_WHIP | 1.1648 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4040 | 0.1899 | model_form_blend |
| predicted_ER | 2.0000 | 0.3220 | 1.2115 | model_form_blend |
| predicted_ERA | - | 2.8964 | 2.8964 | form_only |
| predicted_H | 4.0000 | 0.7610 | 2.4779 | model_form_blend |
| predicted_HR | 1.0000 | 0.0660 | 0.5611 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8200 | 0.9154 | model_form_blend |
| predicted_WHIP | - | 1.1648 | 1.1648 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 6 |
| 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.38 |
| 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 | 14 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 687911 |
| playerID | 687911 |
| playerName | Bryan King |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-24 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.286 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 2.0 |
| sl_hard_hit_percent | 36.6 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 48.3 |
| sl_avg_best_speed | 75.9687384 |
| sl_avg_hyper_speed | 93.051903 |
| 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 | 1.000 | -0.200 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.200 | 0.000 | 0.800 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.000 | 1.000 | 0.100 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.600 | 2.000 | -0.600 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "623352",
"player_name": "Josh Hader",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 2.000 | 1.000 | 9.000 | 1.000 | 1.8000 | 0.6000 | 0.2000 | 0.4000 | 0.2000 | 1.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 2.000 | 2.000 | 16.000 | 1.000 | 0.9000 | 0.4000 | 0.1000 | 0.2000 | 0.2000 | 1.6000 | 0.1000 |
| season | 0.20 | 10 | 10.000 | 1.000 | 2.000 | 2.000 | 16.000 | 1.000 | 0.9000 | 0.4000 | 0.1000 | 0.2000 | 0.2000 | 1.6000 | 0.1000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3150 |
| predicted_ER | 0.4020 |
| predicted_ERA | 3.6199 |
| predicted_H | 0.7830 |
| predicted_HR | 0.1490 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1640 |
| predicted_WHIP | 1.0978 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3150 | 0.1094 | model_form_blend |
| predicted_ER | 0.0000 | 0.4020 | 0.1396 | model_form_blend |
| predicted_ERA | - | 3.6199 | 3.6199 | form_only |
| predicted_H | 1.0000 | 0.7830 | 0.9246 | model_form_blend |
| predicted_HR | 0.0000 | 0.1490 | 0.0518 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1640 | 1.0570 | model_form_blend |
| predicted_WHIP | - | 1.0978 | 1.0978 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.90 |
| 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 | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 623352 |
| playerID | 623352 |
| playerName | Josh Hader |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-24 |
| sl_k_percent | 47.1 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.128 |
| sl_xwoba | 0.115 |
| sl_sweet_spot_percent | 18.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 18.8 |
| sl_whiff_percent | 45.2 |
| sl_swing_percent | 55.3 |
| sl_avg_best_speed | 64.47184625 |
| sl_avg_hyper_speed | 90.237715625 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.545 | 2.000 | -0.545 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.970 | 3.000 | -0.970 | -3.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.888 | 1.100 | 0.212 | 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 | 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": "660853",
"player_name": "Enyel De Los Santos",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 5.000 | 7.000 | 1.000 | 4.000 | 1.000 | 9.0000 | 1.6000 | 1.0000 | 1.4000 | 0.2000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.100 | 9.000 | 13.000 | 3.000 | 9.000 | 2.000 | 7.8387 | 1.5484 | 0.8710 | 1.2581 | 0.2903 | 0.8710 | 0.1935 |
| season | 0.20 | 33 | 34.200 | 18.000 | 32.000 | 8.000 | 33.000 | 3.000 | 4.6731 | 1.1538 | 0.5192 | 0.9231 | 0.2308 | 0.9519 | 0.0865 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2080 |
| predicted_ER | 0.5090 |
| predicted_ERA | 6.3664 |
| predicted_H | 0.8160 |
| predicted_HR | 0.1170 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6430 |
| predicted_WHIP | 1.4240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2080 | 0.0982 | model_form_blend |
| predicted_ER | 0.0000 | 0.5090 | 0.2402 | model_form_blend |
| predicted_ERA | - | 6.3664 | 6.3664 | form_only |
| predicted_H | 0.0000 | 0.8160 | 0.3851 | model_form_blend |
| predicted_HR | 0.0000 | 0.1170 | 0.0552 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6430 | 0.8315 | model_form_blend |
| predicted_WHIP | - | 1.4240 | 1.4240 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.67 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 26 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_HOU@TOR |
| game_type | full |
| mlbID | 660853 |
| playerID | 660853 |
| playerName | Enyel De Los Santos |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-23 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.286 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 38.8 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 55.0 |
| sl_avg_best_speed | 78.35644 |
| sl_avg_hyper_speed | 93.868815347 |
| Field | Value |
|---|---|
| Pitcher | Troy Melton |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0138 |
| ESPN Rank | 80 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1748 |
| Avg Velo | 92.8722 |
| Avg Spin | 2168.1266 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 5 |
| Season ERA | 2.5579 |
| Season WHIP | 0.9474 |
| Role Avg IP | 6.3330 |
| Recent Avg IP | 6.3330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.4138,
"runs_scored": 348.0,
"runs_allowed": 352.0,
"run_differential": -4.0,
"run_differential_per_game": -0.046,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.046,
"offense_index": 0.8881,
"defense_index": 1.1133,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.0,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.0789
},
"opponent": {
"team": "HOU",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4667,
"runs_scored": 401.0,
"runs_allowed": 440.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4333,
"avg_runs_scored": 4.4556,
"avg_runs_allowed": 4.8889,
"offense_index": 0.9892,
"defense_index": 0.9213,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.1,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.0462
},
"edges": {
"quality_edge": -0.0327,
"offense_edge": -0.1119,
"opponent_offense_edge": -0.0108,
"defense_strength": 0.1133,
"opponent_defense_weakness": 0.0787,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0025,
"run_prevention": 0.9886,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675512",
"profile": {
"available": true,
"pitcher_id": "675512",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 22.0,
"k_percent": 15.2,
"bb_percent": 7.2,
"woba": 0.279,
"xwoba": 0.305,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 36.8,
"avg_best_speed": 79.1017,
"avg_hyper_speed": 93.8584,
"whiff_percent": 20.4,
"swing_percent": 48.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3591,
"command_and_miss": -0.6596,
"regression_edge": -0.7429,
"xwoba_edge": 0.2714,
"barrel_edge": 0.1889,
"hard_hit_edge": 0.2143,
"whiff_edge": -0.7786,
"bb_edge": 0.475,
"pitch_design_score": 0.1748
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675512",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 92.87215189873416,
"release_spin_rate": 2168.126582278481,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 92.87215189873416,
"release_spin_rate": 2168.126582278481,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8722,
"release_spin_rate": 2168.1266,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1748,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2483,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0138,
"sample_weight": 0.45,
"run_prevention_factor": 1.0012,
"strikeout_factor": 0.9667,
"walk_factor": 0.9829,
"homer_factor": 0.9857,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675512",
"espn_id": 5294127,
"player_name": "Troy Melton",
"team": "DET",
"role": "pitcher",
"espn_rank": 80,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 80,
"gp_value": 5.0,
"gp_rank": 501,
"gs_value": 5.0,
"gs_rank": 172,
"qs_value": 3.0,
"qs_rank": 96,
"era_value": 2.5578,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 31.2,
"ip_rank": 260,
"h_value": 21.0,
"h_rank": 344,
"er_value": 9.0,
"er_rank": 383,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 9.0,
"bb_rank": 355,
"k_value": 19.0,
"k_rank": 381,
"k_per_9_value": 5.4,
"k_per_9_rank": 39,
"whip_value": 0.9473,
"whip_rank": null,
"war_value": 1.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0005,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0005,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9923,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9936,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.985,
"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": "insufficient_data"
},
"pitching": {
"IP": 31.2,
"ER": 9,
"H": 21,
"BB": 9,
"SO": 19,
"HR": 6,
"ERA": 2.557894736842105,
"WHIP": 0.9473684210526315,
"K9": 5.3999999999999995,
"HR9": 1.7052631578947368,
"games_pitched": 5,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 5,
"error_prone": false
},
"games_count": 5,
"latest_game_date": "2026-06-20T00:00:00"
}{
"available": true,
"pitcher_id": "675512",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 92.87215189873416,
"release_spin_rate": 2168.126582278481,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 92.87215189873416,
"release_spin_rate": 2168.126582278481,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8722,
"release_spin_rate": 2168.1266,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1748,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2483,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"role": "pitcher",
"player_id": "675512",
"report_date": "20260625_H",
"season_year": 2026,
"rows_used": 5,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 31.2,
"ER": 9.0,
"R": 9.0,
"H": 21.0,
"BB": 9.0,
"SO": 19.0,
"HR": 6.0,
"BF": 125.0,
"Pitches": 434.0
},
"per_game": {
"IP": 6.1,
"ER": 1.8,
"R": 1.8,
"H": 4.2,
"BB": 1.8,
"SO": 3.8,
"HR": 1.2,
"BF": 25.0,
"Pitches": 86.8
},
"rates": {
"ERA": 2.5579,
"WHIP": 0.9474,
"ER_per_IP": 0.28421,
"H_per_IP": 0.66316,
"BB_per_IP": 0.28421,
"SO_per_IP": 0.6,
"HR_per_IP": 0.18947
}
},
"last_10": {
"games": 5,
"totals": {
"IP": 31.2,
"ER": 9.0,
"R": 9.0,
"H": 21.0,
"BB": 9.0,
"SO": 19.0,
"HR": 6.0,
"BF": 125.0,
"Pitches": 434.0
},
"per_game": {
"IP": 6.1,
"ER": 1.8,
"R": 1.8,
"H": 4.2,
"BB": 1.8,
"SO": 3.8,
"HR": 1.2,
"BF": 25.0,
"Pitches": 86.8
},
"rates": {
"ERA": 2.5579,
"WHIP": 0.9474,
"ER_per_IP": 0.28421,
"H_per_IP": 0.66316,
"BB_per_IP": 0.28421,
"SO_per_IP": 0.6,
"HR_per_IP": 0.18947
}
},
"season": {
"games": 5,
"totals": {
"IP": 31.2,
"ER": 9.0,
"R": 9.0,
"H": 21.0,
"BB": 9.0,
"SO": 19.0,
"HR": 6.0,
"BF": 125.0,
"Pitches": 434.0
},
"per_game": {
"IP": 6.1,
"ER": 1.8,
"R": 1.8,
"H": 4.2,
"BB": 1.8,
"SO": 3.8,
"HR": 1.2,
"BF": 25.0,
"Pitches": 86.8
},
"rates": {
"ERA": 2.5579,
"WHIP": 0.9474,
"ER_per_IP": 0.28421,
"H_per_IP": 0.66316,
"BB_per_IP": 0.28421,
"SO_per_IP": 0.6,
"HR_per_IP": 0.18947
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.482,
"predicted_H": 5.17,
"predicted_BB": 2.041,
"predicted_SO": 4.899,
"predicted_HR": 1.063,
"predicted_ERA": 3.5273,
"predicted_WHIP": 1.1385
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5613,
"form_weight": 0.4388,
"form_reliability": 0.5,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.482,
"final": 2.7727,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.17,
"final": 5.6358,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.041,
"final": 2.5792,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.899,
"final": 4.3944,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 1.063,
"final": 0.4664,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5273,
"final": 3.5273,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1385,
"final": 1.1385,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kenley Jansen |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1125 |
| ESPN Rank | 258 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1052 |
| Avg Velo | 91.6292 |
| Avg Spin | 2616.0628 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3 |
| Season WHIP | 1 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.4138,
"runs_scored": 348.0,
"runs_allowed": 352.0,
"run_differential": -4.0,
"run_differential_per_game": -0.046,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.046,
"offense_index": 0.8881,
"defense_index": 1.1133,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.0,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.0789
},
"opponent": {
"team": "HOU",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4667,
"runs_scored": 401.0,
"runs_allowed": 440.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4333,
"avg_runs_scored": 4.4556,
"avg_runs_allowed": 4.8889,
"offense_index": 0.9892,
"defense_index": 0.9213,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.1,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.0462
},
"edges": {
"quality_edge": -0.0327,
"offense_edge": -0.1119,
"opponent_offense_edge": -0.0108,
"defense_strength": 0.1133,
"opponent_defense_weakness": 0.0787,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0025,
"run_prevention": 0.9886,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "445276",
"profile": {
"available": true,
"pitcher_id": "445276",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 58.0,
"k_percent": 30.1,
"bb_percent": 13.7,
"woba": 0.282,
"xwoba": 0.306,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 29.3,
"avg_best_speed": 72.787,
"avg_hyper_speed": 93.3718,
"whiff_percent": 29.1,
"swing_percent": 45.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3643,
"command_and_miss": 0.4082,
"regression_edge": -0.6857,
"xwoba_edge": 0.2429,
"barrel_edge": -0.5889,
"hard_hit_edge": 1.2857,
"whiff_edge": 0.4643,
"bb_edge": -1.15,
"pitch_design_score": 0.1052
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "445276",
"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": 91.629183112639,
"release_spin_rate": 2616.062841651812,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 91.629183112639,
"release_spin_rate": 2616.062841651812,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.6292,
"release_spin_rate": 2616.0628,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1052,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7512,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1125,
"sample_weight": 0.45,
"run_prevention_factor": 0.9904,
"strikeout_factor": 1.0274,
"walk_factor": 1.0414,
"homer_factor": 0.9948,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "445276",
"espn_id": 29630,
"player_name": "Kenley Jansen",
"team": "DET",
"role": "pitcher",
"espn_rank": 258,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 258,
"gp_value": 21.0,
"gp_rank": 184,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.0,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 9.0,
"sv_rank": 20,
"hld_value": 1.0,
"hld_rank": 204,
"ip_value": 18.0,
"ip_rank": 421,
"h_value": 10.0,
"h_rank": 498,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 10.0,
"bb_rank": 330,
"k_value": 22.0,
"k_rank": 354,
"k_per_9_value": 11.0,
"k_per_9_rank": 22,
"whip_value": 1.1111,
"whip_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9957,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9957,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0186,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9977,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0123,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 3,
"H": 2,
"BB": 5,
"SO": 12,
"HR": 1,
"ERA": 2.793103448275862,
"WHIP": 0.7241379310344828,
"K9": 11.172413793103448,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-20T00:00:00"
}{
"available": true,
"pitcher_id": "445276",
"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": 91.629183112639,
"release_spin_rate": 2616.062841651812,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 91.629183112639,
"release_spin_rate": 2616.062841651812,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.6292,
"release_spin_rate": 2616.0628,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1052,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7512,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.564,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4162,
"prior_weight": 0.5838
},
"role": "pitcher",
"player_id": "445276",
"report_date": "20260625_H",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 2.0,
"BB": 4.0,
"SO": 3.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 62.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.4,
"BB": 0.8,
"SO": 0.6,
"HR": 0.2,
"BF": 4.0,
"Pitches": 12.4
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.2857,
"ER_per_IP": 0.64286,
"H_per_IP": 0.42857,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 3.0,
"H": 2.0,
"BB": 5.0,
"SO": 12.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.2,
"BB": 0.5,
"SO": 1.2,
"HR": 0.1,
"BF": 3.6,
"Pitches": 13.4
},
"rates": {
"ERA": 2.7931,
"WHIP": 0.7241,
"ER_per_IP": 0.31034,
"H_per_IP": 0.2069,
"BB_per_IP": 0.51724,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 20,
"totals": {
"IP": 18.0,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 9.0,
"SO": 22.0,
"HR": 3.0,
"BF": 71.0,
"Pitches": 282.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.45,
"BB": 0.45,
"SO": 1.1,
"HR": 0.15,
"BF": 3.55,
"Pitches": 14.1
},
"rates": {
"ERA": 3.0,
"WHIP": 1.0,
"ER_per_IP": 0.33333,
"H_per_IP": 0.5,
"BB_per_IP": 0.5,
"SO_per_IP": 1.22222,
"HR_per_IP": 0.16667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.485,
"predicted_H": 0.718,
"predicted_BB": 0.488,
"predicted_SO": 0.956,
"predicted_HR": 0.154,
"predicted_ERA": 4.3654,
"predicted_WHIP": 1.2057
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5967,
"form_weight": 0.4033,
"form_reliability": 0.4162,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.564,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4162,
"prior_weight": 0.5838
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.485,
"final": 0.1956,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.718,
"final": 0.2896,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.488,
"final": 0.1968,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.956,
"final": 0.3856,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.154,
"final": 0.0621,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3654,
"final": 4.3654,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2057,
"final": 1.2057,
"source": "form_only"
}
}
}{
"available": false,
"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 | Will Vest |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1194 |
| ESPN Rank | 658 |
| 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 | 5.6104 |
| Season WHIP | 1.3247 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.4138,
"runs_scored": 348.0,
"runs_allowed": 352.0,
"run_differential": -4.0,
"run_differential_per_game": -0.046,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.046,
"offense_index": 0.8881,
"defense_index": 1.1133,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.0,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.0789
},
"opponent": {
"team": "HOU",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4667,
"runs_scored": 401.0,
"runs_allowed": 440.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4333,
"avg_runs_scored": 4.4556,
"avg_runs_allowed": 4.8889,
"offense_index": 0.9892,
"defense_index": 0.9213,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.1,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.0462
},
"edges": {
"quality_edge": -0.0327,
"offense_edge": -0.1119,
"opponent_offense_edge": -0.0108,
"defense_strength": 0.1133,
"opponent_defense_weakness": 0.0787,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0025,
"run_prevention": 0.9886,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676684",
"profile": {
"available": true,
"pitcher_id": "676684",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 66.0,
"k_percent": 22.9,
"bb_percent": 9.2,
"woba": 0.312,
"xwoba": 0.301,
"sweet_spot_percent": 19.4,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 36.1,
"avg_best_speed": 78.7697,
"avg_hyper_speed": 94.1834,
"whiff_percent": 27.6,
"swing_percent": 47.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3735,
"command_and_miss": 0.0954,
"regression_edge": 0.3143,
"xwoba_edge": 0.3857,
"barrel_edge": 0.3444,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.25,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676684",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1194,
"sample_weight": 0.45,
"run_prevention_factor": 0.9898,
"strikeout_factor": 1.005,
"walk_factor": 1.0009,
"homer_factor": 0.9767,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676684",
"espn_id": 41606,
"player_name": "Will Vest",
"team": "DET",
"role": "pitcher",
"espn_rank": 658,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 658,
"gp_value": 26.0,
"gp_rank": 135,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 5.6103,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 7.0,
"hld_rank": 64,
"ip_value": 25.2,
"ip_rank": 339,
"h_value": 24.0,
"h_rank": 306,
"er_value": 16.0,
"er_rank": 216,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 10.0,
"bb_rank": 330,
"k_value": 25.0,
"k_rank": 325,
"k_per_9_value": 8.766233,
"k_per_9_rank": 25,
"whip_value": 1.3246,
"whip_rank": null,
"war_value": -0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9954,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9954,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9895,
"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": 11.0,
"ER": 7,
"H": 11,
"BB": 4,
"SO": 9,
"HR": 1,
"ERA": 5.7272727272727275,
"WHIP": 1.3636363636363635,
"K9": 7.363636363636363,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "676684",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.082,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5041,
"prior_weight": 0.4959
},
"role": "pitcher",
"player_id": "676684",
"report_date": "20260625_H",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.8
},
"rates": {
"ERA": 1.8,
"WHIP": 0.8,
"ER_per_IP": 0.2,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 0.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 7.0,
"R": 8.0,
"H": 11.0,
"BB": 4.0,
"SO": 9.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 182.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.1,
"BB": 0.4,
"SO": 0.9,
"HR": 0.1,
"BF": 4.6,
"Pitches": 18.2
},
"rates": {
"ERA": 5.7273,
"WHIP": 1.3636,
"ER_per_IP": 0.63636,
"H_per_IP": 1.0,
"BB_per_IP": 0.36364,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 26,
"totals": {
"IP": 25.2,
"ER": 16.0,
"R": 19.0,
"H": 24.0,
"BB": 10.0,
"SO": 25.0,
"HR": 2.0,
"BF": 109.0,
"Pitches": 458.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6154,
"R": 0.7308,
"H": 0.9231,
"BB": 0.3846,
"SO": 0.9615,
"HR": 0.0769,
"BF": 4.1923,
"Pitches": 17.6154
},
"rates": {
"ERA": 5.6104,
"WHIP": 1.3247,
"ER_per_IP": 0.62338,
"H_per_IP": 0.93506,
"BB_per_IP": 0.38961,
"SO_per_IP": 0.97403,
"HR_per_IP": 0.07792
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.468,
"predicted_H": 0.842,
"predicted_BB": 0.373,
"predicted_SO": 0.803,
"predicted_HR": 0.096,
"predicted_ERA": 4.2144,
"predicted_WHIP": 1.215
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5595,
"form_weight": 0.4405,
"form_reliability": 0.5041,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.082,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5041,
"prior_weight": 0.4959
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.468,
"final": 0.2061,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.842,
"final": 0.3709,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.373,
"final": 0.1643,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.803,
"final": 1.4727,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.096,
"final": 0.0423,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2144,
"final": 4.2144,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.215,
"final": 1.215,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kyle Finnegan |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0987 |
| ESPN Rank | 62 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.4595 |
| Season WHIP | 1.3784 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.4138,
"runs_scored": 348.0,
"runs_allowed": 352.0,
"run_differential": -4.0,
"run_differential_per_game": -0.046,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.046,
"offense_index": 0.8881,
"defense_index": 1.1133,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.0,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.0789
},
"opponent": {
"team": "HOU",
"games": 90,
"wins": 42,
"losses": 48,
"win_pct": 0.4667,
"runs_scored": 401.0,
"runs_allowed": 440.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4333,
"avg_runs_scored": 4.4556,
"avg_runs_allowed": 4.8889,
"offense_index": 0.9892,
"defense_index": 0.9213,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.1,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.0462
},
"edges": {
"quality_edge": -0.0327,
"offense_edge": -0.1119,
"opponent_offense_edge": -0.0108,
"defense_strength": 0.1133,
"opponent_defense_weakness": 0.0787,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0025,
"run_prevention": 0.9886,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "640448",
"profile": {
"available": true,
"pitcher_id": "640448",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 16.8,
"bb_percent": 15.5,
"woba": 0.328,
"xwoba": 0.321,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 41.0,
"avg_best_speed": 78.8519,
"avg_hyper_speed": 94.4514,
"whiff_percent": 25.9,
"swing_percent": 45.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1037,
"command_and_miss": -0.6968,
"regression_edge": 0.2,
"xwoba_edge": -0.1857,
"barrel_edge": 0.3222,
"hard_hit_edge": -0.3857,
"whiff_edge": 0.0071,
"bb_edge": -1.6,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "640448",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0987,
"sample_weight": 0.45,
"run_prevention_factor": 1.0084,
"strikeout_factor": 0.985,
"walk_factor": 1.0576,
"homer_factor": 0.9979,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "640448",
"espn_id": 36543,
"player_name": "Kyle Finnegan",
"team": "DET",
"role": "pitcher",
"espn_rank": 62,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 62,
"gp_value": 35.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.9459,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 9.0,
"hld_rank": 38,
"ip_value": 37.0,
"ip_rank": 195,
"h_value": 31.0,
"h_rank": 223,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 24.0,
"bb_rank": 85,
"k_value": 26.0,
"k_rank": 316,
"k_per_9_value": 6.324324,
"k_per_9_rank": 43,
"whip_value": 1.4864,
"whip_rank": null,
"war_value": 1.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0038,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0038,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0259,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9932,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.1,
"ER": 3,
"H": 10,
"BB": 5,
"SO": 11,
"HR": 0,
"ERA": 2.3823529411764706,
"WHIP": 1.3235294117647058,
"K9": 8.735294117647058,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "640448",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.326,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5943,
"prior_weight": 0.4057
},
"role": "pitcher",
"player_id": "640448",
"report_date": "20260625_H",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 5.0,
"Pitches": 19.0
},
"rates": {
"ERA": 1.5882,
"WHIP": 1.5882,
"ER_per_IP": 0.17647,
"H_per_IP": 1.05882,
"BB_per_IP": 0.52941,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 3.0,
"R": 3.0,
"H": 10.0,
"BB": 5.0,
"SO": 11.0,
"HR": 0.0,
"BF": 47.0,
"Pitches": 172.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.0,
"BB": 0.5,
"SO": 1.1,
"HR": 0.0,
"BF": 4.7,
"Pitches": 17.2
},
"rates": {
"ERA": 2.3824,
"WHIP": 1.3235,
"ER_per_IP": 0.26471,
"H_per_IP": 0.88235,
"BB_per_IP": 0.44118,
"SO_per_IP": 0.97059,
"HR_per_IP": 0.0
}
},
"season": {
"games": 34,
"totals": {
"IP": 37.0,
"ER": 6.0,
"R": 6.0,
"H": 28.0,
"BB": 23.0,
"SO": 26.0,
"HR": 2.0,
"BF": 151.0,
"Pitches": 575.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1765,
"R": 0.1765,
"H": 0.8235,
"BB": 0.6765,
"SO": 0.7647,
"HR": 0.0588,
"BF": 4.4412,
"Pitches": 16.9118
},
"rates": {
"ERA": 1.4595,
"WHIP": 1.3784,
"ER_per_IP": 0.16216,
"H_per_IP": 0.75676,
"BB_per_IP": 0.62162,
"SO_per_IP": 0.7027,
"HR_per_IP": 0.05405
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.28,
"predicted_H": 0.821,
"predicted_BB": 0.392,
"predicted_SO": 0.824,
"predicted_HR": 0.057,
"predicted_ERA": 2.9181,
"predicted_WHIP": 1.4033
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5214,
"form_weight": 0.4786,
"form_reliability": 0.5943,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.326,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5943,
"prior_weight": 0.4057
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.28,
"final": 0.134,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.821,
"final": 0.3929,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.392,
"final": 0.1876,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.824,
"final": 0.9158,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.057,
"final": 0.0273,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9181,
"final": 2.9181,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4033,
"final": 1.4033,
"source": "form_only"
}
}
}{
"available": false,
"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.237 | 0.000 | 0.000 | Hitting_2B | 0.234 | 1.000 | -0.234 | -1.000 |
| predicted_3B | 0.039 | 0.000 | 0.000 | Hitting_3B | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_AB | 4.320 | 4.000 | 4.000 | Hitting_AB | 3.831 | 5.000 | 0.169 | -1.000 |
| predicted_AVG | 0.251 | 0.250 | 0.250 | Hitting_AVG | 0.297 | 0.400 | -0.047 | -0.150 |
| predicted_BB | 0.632 | 0.000 | 1.000 | Hitting_BB | 0.605 | 0.000 | -0.605 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.090 | 1.000 | 1.000 | Hitting_H | 1.138 | 2.000 | -0.138 | -1.000 |
| predicted_HR | 0.120 | 1.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | 0.935 | 1.000 |
| predicted_OBP | 0.365 | 0.250 | 0.400 | Hitting_OBP | 0.398 | 0.400 | -0.148 | -0.150 |
| predicted_R | 0.605 | 1.000 | 1.000 | Hitting_R | 0.644 | 0.000 | 0.356 | 1.000 |
| predicted_RBI | 0.450 | 3.000 | 0.000 | Hitting_RBI | 0.437 | 0.000 | 2.563 | 3.000 |
| predicted_SLG | 0.427 | 1.000 | 0.250 | Hitting_SLG | 0.437 | 0.600 | 0.563 | 0.400 |
| predicted_SO | 0.566 | 1.000 | 1.000 | Hitting_SO | 0.556 | 1.000 | 0.444 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_RBI: 0.4500 -> 3.0000 (boost 2.5500, better) |
| Biggest Deboost | predicted_BB: 0.6320 -> 0.0000 (deboost -0.6320, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_AVG: 0.2510 -> 0.2670 (boost 0.0160, better) | predicted_AB: 4.3200 -> 4.1126 (deboost -0.2074, worse) | Final model input calibrated with local 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.4341 -> 0.4192 (deboost -0.0149, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.5541 -> 1.0000 (boost 0.4459, worse) | predicted_RBI: 0.4181 -> 0.0000 (deboost -0.4181, worse) | AB rounded to 4 (raw=4.32), rates preserved: AVG=0.252 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5244 -> 1.0000 (boost 0.4756, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3595 -> 0.4000 (boost 0.0405, better) | predicted_SLG: 0.4192 -> 0.2500 (deboost -0.1692, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4192 (boost 0.1692, better) | predicted_OBP: 0.4000 -> 0.3595 (deboost -0.0405, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805808",
"player_name": "Kevin McGonigle",
"position": "DH",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.237,
"predicted_3B": 0.039,
"predicted_AB": 4.32,
"predicted_AVG": 0.251,
"predicted_BB": 0.632,
"predicted_H": 1.09,
"predicted_HR": 0.12,
"predicted_OBP": 0.365,
"predicted_R": 0.605,
"predicted_RBI": 0.45,
"predicted_SLG": 0.427,
"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.2523,
"predicted_3B": 0.0322,
"predicted_AB": 4.1126,
"predicted_AVG": 0.267,
"predicted_BB": 0.6154,
"predicted_H": 1.0968,
"predicted_HBP": 0.018,
"predicted_HR": 0.1076,
"predicted_OBP": 0.3741,
"predicted_R": 0.533,
"predicted_RBI": 0.4249,
"predicted_SLG": 0.4341,
"predicted_SO": 0.5511
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.2523,
"delta": 0.0153,
"percent_delta": 0.0646,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0322,
"delta": -0.0068,
"percent_delta": -0.1744,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.1126,
"delta": -0.2074,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.267,
"delta": 0.016,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.632,
"after": 0.6154,
"delta": -0.0166,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0968,
"delta": 0.0068,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1076,
"delta": -0.0124,
"percent_delta": -0.1033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3741,
"delta": 0.0091,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.605,
"after": 0.533,
"delta": -0.072,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4249,
"delta": -0.0251,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4341,
"delta": 0.0071,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.566,
"after": 0.5511,
"delta": -0.0149,
"percent_delta": -0.0263,
"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_AVG",
"before": 0.251,
"after": 0.267,
"delta": 0.016,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 4.1126,
"delta": -0.2074,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2523,
"predicted_3B": 0.0322,
"predicted_AB": 4.1126,
"predicted_AVG": 0.2642,
"predicted_BB": 0.612,
"predicted_H": 1.0867,
"predicted_HBP": 0.018,
"predicted_HR": 0.1068,
"predicted_OBP": 0.3595,
"predicted_R": 0.5244,
"predicted_RBI": 0.4181,
"predicted_SLG": 0.4192,
"predicted_SO": 0.5541
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2523,
"after": 0.2523,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0322,
"after": 0.0322,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1126,
"after": 4.1126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2642,
"delta": -0.0028,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6154,
"after": 0.612,
"delta": -0.0034,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0968,
"after": 1.0867,
"delta": -0.0101,
"percent_delta": -0.0092,
"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.1076,
"after": 0.1068,
"delta": -0.0008,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3741,
"after": 0.3595,
"delta": -0.0146,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 0.5244,
"delta": -0.0086,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4249,
"after": 0.4181,
"delta": -0.0068,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4341,
"after": 0.4192,
"delta": -0.0149,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5511,
"after": 0.5541,
"delta": 0.003,
"percent_delta": 0.0054,
"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.4341,
"after": 0.4192,
"delta": -0.0149,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.32), rates preserved: AVG=0.252 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.2523,
"after": 0.0,
"delta": -0.2523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0322,
"after": 0.0,
"delta": -0.0322,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1126,
"after": 4.0,
"delta": -0.1126,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.612,
"after": 1.0,
"delta": 0.388,
"percent_delta": 0.634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0867,
"after": 1.0,
"delta": -0.0867,
"percent_delta": -0.0798,
"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.1068,
"after": 0.0,
"delta": -0.1068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4181,
"after": 0.0,
"delta": -0.4181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5541,
"after": 1.0,
"delta": 0.4459,
"percent_delta": 0.8047,
"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.5541,
"after": 1.0,
"delta": 0.4459,
"percent_delta": 0.8047,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4181,
"after": 0.0,
"delta": -0.4181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5244,
"after": 1.0,
"delta": 0.4756,
"percent_delta": 0.9069,
"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.5244,
"after": 1.0,
"delta": 0.4756,
"percent_delta": 0.9069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2642,
"after": 0.25,
"delta": -0.0142,
"percent_delta": -0.0537,
"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.3595,
"after": 0.4,
"delta": 0.0405,
"percent_delta": 0.1127,
"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.4192,
"after": 0.25,
"delta": -0.1692,
"percent_delta": -0.4036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3595,
"after": 0.4,
"delta": 0.0405,
"percent_delta": 0.1127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4192,
"after": 0.25,
"delta": -0.1692,
"percent_delta": -0.4036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2642,
"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.3595,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4192,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2642,
"delta": 0.0142,
"percent_delta": 0.057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3595,
"delta": -0.0405,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4192,
"delta": 0.1692,
"percent_delta": 0.6767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4192,
"delta": 0.1692,
"percent_delta": 0.6767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3595,
"delta": -0.0405,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.0,
"delta": -0.237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.0,
"delta": -0.32,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2642,
"delta": 0.0132,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.632,
"after": 0.0,
"delta": -0.632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3595,
"delta": -0.0055,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.605,
"after": 1.0,
"delta": 0.395,
"percent_delta": 0.6529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 3.0,
"delta": 2.55,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4192,
"delta": -0.0078,
"percent_delta": -0.0183,
"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": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.45,
"after": 3.0,
"delta": 2.55,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.632,
"after": 0.0,
"delta": -0.632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | - |
| predicted_3B | 0.039 | - |
| predicted_AB | 4.320 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.632 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.365 | - |
| predicted_R | 0.605 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.427 | - |
| 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.252 | 0.015 |
| predicted_3B | 0.032 | -0.007 |
| predicted_AB | 4.113 | -0.207 |
| predicted_AVG | 0.267 | 0.016 |
| predicted_BB | 0.615 | -0.017 |
| predicted_H | 1.097 | 0.007 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.108 | -0.012 |
| predicted_OBP | 0.374 | 0.009 |
| predicted_R | 0.533 | -0.072 |
| predicted_RBI | 0.425 | -0.025 |
| predicted_SLG | 0.434 | 0.007 |
| predicted_SO | 0.551 | -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.252 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 4.113 | 0.000 |
| predicted_AVG | 0.264 | -0.003 |
| predicted_BB | 0.612 | -0.003 |
| predicted_H | 1.087 | -0.010 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.107 | -0.001 |
| predicted_OBP | 0.359 | -0.015 |
| predicted_R | 0.524 | -0.009 |
| predicted_RBI | 0.418 | -0.007 |
| predicted_SLG | 0.419 | -0.015 |
| predicted_SO | 0.554 | 0.003 |
AB rounded to 4 (raw=4.32), rates preserved: AVG=0.252 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 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.252 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | -0.113 |
| predicted_AVG | 0.250 | -0.014 |
| predicted_BB | 1.000 | 0.388 |
| predicted_H | 1.000 | -0.087 |
| predicted_HR | 0.000 | -0.107 |
| predicted_OBP | 0.400 | 0.041 |
| predicted_R | 1.000 | 0.476 |
| predicted_RBI | 0.000 | -0.418 |
| predicted_SLG | 0.250 | -0.169 |
| predicted_SO | 1.000 | 0.446 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 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 | - | 20.000 | 6.000 | 2.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 2.000 | 0.3000 | 0.3913 | 0.4000 | 0.3000 | 0.0000 | 0.1000 | 0.1500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 3.000 | 0.000 | 2.000 | 4.000 | 3.000 | 6.000 | 4.000 | 0.3077 | 0.4000 | 0.5385 | 0.3077 | 0.0513 | 0.1026 | 0.1538 | 0.1026 |
| season | 0.60 | 76 | - | 285.000 | 81.000 | 18.000 | 3.000 | 6.000 | 28.000 | 46.000 | 48.000 | 43.000 | 0.2842 | 0.3910 | 0.4316 | 0.2842 | 0.0210 | 0.0983 | 0.1684 | 0.1509 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2730 |
| predicted_3B | 0.0230 |
| predicted_AB | 3.8330 |
| predicted_AVG | 0.2886 |
| predicted_BB | 0.5930 |
| predicted_H | 1.1060 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.3863 |
| predicted_R | 0.4360 |
| predicted_RBI | 0.3910 |
| predicted_SLG | 0.4437 |
| predicted_SO | 0.5310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2370 | 0.2730 | 0.2523 | model_form_blend |
| predicted_3B | 0.0390 | 0.0230 | 0.0322 | model_form_blend |
| predicted_AB | 4.3200 | 3.8330 | 4.1126 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2886 | 0.2670 | model_form_blend |
| predicted_BB | 0.6320 | 0.5930 | 0.6154 | model_form_blend |
| predicted_H | 1.0900 | 1.1060 | 1.0968 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1200 | 0.0910 | 0.1076 | model_form_blend |
| predicted_OBP | 0.3650 | 0.3863 | 0.3741 | model_form_blend |
| predicted_R | 0.6050 | 0.4360 | 0.5330 | model_form_blend |
| predicted_RBI | 0.4500 | 0.3910 | 0.4249 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4437 | 0.4341 | model_form_blend |
| predicted_SO | 0.5660 | 0.5310 | 0.5511 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 261 |
| Season rows before report date | 261 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.284 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 805808 |
| playerID | 805808 |
| playerName | Kevin McGonigle |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 12.9 |
| sl_bb_percent | 14.1 |
| sl_woba | 0.365 |
| sl_xwoba | 0.368 |
| sl_xba | 0.275 |
| sl_xslg | 0.452 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 36.7 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 21.6 |
| sl_whiff_percent | 14.4 |
| 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.070 | 0.000 | 0.000 | Hitting_2B | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_3B | 0.035 | 0.000 | 0.000 | Hitting_3B | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_AB | 3.090 | 4.000 | 3.000 | Hitting_AB | 3.109 | 1.000 | 0.891 | 3.000 |
| predicted_AVG | 0.230 | 0.250 | 0.333 | Hitting_AVG | 0.221 | 0.000 | 0.029 | 0.250 |
| predicted_BB | 0.263 | 0.000 | 0.000 | Hitting_BB | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 1.000 | 1.000 | Hitting_H | 0.686 | 0.000 | 0.314 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_OBP | 0.288 | 0.250 | 0.333 | Hitting_OBP | 0.300 | 0.000 | -0.050 | 0.250 |
| predicted_R | 0.316 | 1.000 | 0.000 | Hitting_R | 0.358 | 0.000 | 0.642 | 1.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.555 | 0.000 | -0.555 | 0.000 |
| predicted_SLG | 0.380 | 0.250 | 0.333 | Hitting_SLG | 0.472 | 0.000 | -0.222 | 0.250 |
| predicted_SO | 0.982 | 1.000 | 1.000 | Hitting_SO | 1.204 | 1.000 | -0.204 | 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 | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.0900 -> 4.0000 (boost 0.9100, better) |
| Biggest Deboost | predicted_RBI: 0.4300 -> 0.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 | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 3.0900 -> 2.9375 (deboost -0.1525, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3789 -> 0.3893 (boost 0.0104, better) | predicted_OBP: 0.2837 -> 0.2787 (deboost -0.0050, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_H: 0.6340 -> 1.0000 (boost 0.3660, better) | predicted_RBI: 0.4006 -> 0.0000 (deboost -0.4006, worse) | AB rounded to 3 (raw=3.09), rates preserved: AVG=0.205 HR/AB=0.041 |
| 5 | 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 |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2158 -> 0.3330 (boost 0.1172, better) | predicted_SLG: 0.3893 -> 0.3330 (deboost -0.0563, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3893 (boost 0.0563, better) | predicted_AVG: 0.3330 -> 0.2158 (deboost -0.1172, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681481",
"player_name": "Kerry Carpenter",
"position": "RF",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.07,
"predicted_3B": 0.035,
"predicted_AB": 3.09,
"predicted_AVG": 0.23,
"predicted_BB": 0.263,
"predicted_H": 0.71,
"predicted_HR": 0.13,
"predicted_OBP": 0.288,
"predicted_R": 0.316,
"predicted_RBI": 0.43,
"predicted_SLG": 0.38,
"predicted_SO": 0.982
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0724,
"predicted_3B": 0.0285,
"predicted_AB": 2.9375,
"predicted_AVG": 0.2169,
"predicted_BB": 0.2573,
"predicted_H": 0.6399,
"predicted_HBP": 0.06,
"predicted_HR": 0.1276,
"predicted_OBP": 0.2837,
"predicted_R": 0.3335,
"predicted_RBI": 0.4072,
"predicted_SLG": 0.3789,
"predicted_SO": 0.9331
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.07,
"after": 0.0724,
"delta": 0.0024,
"percent_delta": 0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.0285,
"delta": -0.0065,
"percent_delta": -0.1857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.09,
"after": 2.9375,
"delta": -0.1525,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2169,
"delta": -0.0131,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.2573,
"delta": -0.0057,
"percent_delta": -0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.6399,
"delta": -0.0701,
"percent_delta": -0.0987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1276,
"delta": -0.0024,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2837,
"delta": -0.0043,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.3335,
"delta": 0.0175,
"percent_delta": 0.0554,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4072,
"delta": -0.0228,
"percent_delta": -0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3789,
"delta": -0.0011,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.982,
"after": 0.9331,
"delta": -0.0489,
"percent_delta": -0.0498,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.09,
"after": 2.9375,
"delta": -0.1525,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0724,
"predicted_3B": 0.0285,
"predicted_AB": 2.9375,
"predicted_AVG": 0.2158,
"predicted_BB": 0.2559,
"predicted_H": 0.634,
"predicted_HBP": 0.06,
"predicted_HR": 0.1267,
"predicted_OBP": 0.2787,
"predicted_R": 0.3281,
"predicted_RBI": 0.4006,
"predicted_SLG": 0.3893,
"predicted_SO": 0.9382
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0724,
"after": 0.0724,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0285,
"after": 0.0285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9375,
"after": 2.9375,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2169,
"after": 0.2158,
"delta": -0.0011,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2573,
"after": 0.2559,
"delta": -0.0014,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6399,
"after": 0.634,
"delta": -0.0059,
"percent_delta": -0.0092,
"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.1276,
"after": 0.1267,
"delta": -0.0009,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2837,
"after": 0.2787,
"delta": -0.005,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3335,
"after": 0.3281,
"delta": -0.0054,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4072,
"after": 0.4006,
"delta": -0.0066,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3789,
"after": 0.3893,
"delta": 0.0104,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9331,
"after": 0.9382,
"delta": 0.0051,
"percent_delta": 0.0055,
"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.3789,
"after": 0.3893,
"delta": 0.0104,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2837,
"after": 0.2787,
"delta": -0.005,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.09), rates preserved: AVG=0.205 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0724,
"after": 0.0,
"delta": -0.0724,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0285,
"after": 0.0,
"delta": -0.0285,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9375,
"after": 3.0,
"delta": 0.0625,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2559,
"after": 0.0,
"delta": -0.2559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.1267,
"after": 0.0,
"delta": -0.1267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4006,
"after": 0.0,
"delta": -0.4006,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9382,
"after": 1.0,
"delta": 0.0618,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4006,
"after": 0.0,
"delta": -0.4006,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2158,
"after": 0.333,
"delta": 0.1172,
"percent_delta": 0.5431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2787,
"after": 0.333,
"delta": 0.0543,
"percent_delta": 0.1948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3893,
"after": 0.333,
"delta": -0.0563,
"percent_delta": -0.1446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2158,
"after": 0.333,
"delta": 0.1172,
"percent_delta": 0.5431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3893,
"after": 0.333,
"delta": -0.0563,
"percent_delta": -0.1446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2158,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2787,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3893,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2158,
"delta": -0.1172,
"percent_delta": -0.3518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2787,
"delta": -0.0543,
"percent_delta": -0.1632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3893,
"delta": 0.0563,
"percent_delta": 0.169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3893,
"delta": 0.0563,
"percent_delta": 0.169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2158,
"delta": -0.1172,
"percent_delta": -0.3518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"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": 3.09,
"after": 4.0,
"delta": 0.91,
"percent_delta": 0.2945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2158,
"delta": -0.0142,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2787,
"delta": -0.0093,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 1.0,
"delta": 0.684,
"percent_delta": 2.1646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3893,
"delta": 0.0093,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.982,
"after": 1.0,
"delta": 0.018,
"percent_delta": 0.0183,
"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_AB",
"before": 3.09,
"after": 4.0,
"delta": 0.91,
"percent_delta": 0.2945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.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.070 | - |
| predicted_3B | 0.035 | - |
| predicted_AB | 3.090 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.263 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.316 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.380 | - |
| predicted_SO | 0.982 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.072 | 0.002 |
| predicted_3B | 0.029 | -0.007 |
| predicted_AB | 2.938 | -0.152 |
| predicted_AVG | 0.217 | -0.013 |
| predicted_BB | 0.257 | -0.006 |
| predicted_H | 0.640 | -0.070 |
| predicted_HBP | 0.060 | - |
| predicted_HR | 0.128 | -0.002 |
| predicted_OBP | 0.284 | -0.004 |
| predicted_R | 0.334 | 0.018 |
| predicted_RBI | 0.407 | -0.023 |
| predicted_SLG | 0.379 | -0.001 |
| predicted_SO | 0.933 | -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.072 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 2.938 | 0.000 |
| predicted_AVG | 0.216 | -0.001 |
| predicted_BB | 0.256 | -0.001 |
| predicted_H | 0.634 | -0.006 |
| predicted_HBP | 0.060 | 0.000 |
| predicted_HR | 0.127 | -0.001 |
| predicted_OBP | 0.279 | -0.005 |
| predicted_R | 0.328 | -0.005 |
| predicted_RBI | 0.401 | -0.007 |
| predicted_SLG | 0.389 | 0.010 |
| predicted_SO | 0.938 | 0.005 |
AB rounded to 3 (raw=3.09), rates preserved: AVG=0.205 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.072 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 3.000 | 0.062 |
| predicted_AVG | 0.333 | 0.117 |
| predicted_BB | 0.000 | -0.256 |
| predicted_H | 1.000 | 0.366 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.333 | 0.054 |
| predicted_R | 0.000 | -0.328 |
| predicted_RBI | 0.000 | -0.401 |
| predicted_SLG | 0.333 | -0.056 |
| predicted_SO | 1.000 | 0.062 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 0.0909 | 0.1667 | 0.0909 | 0.0909 | 0.0000 | 0.0000 | 0.0909 | 0.2727 |
| last_10 | 0.20 | 10 | - | 22.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 7.000 | 0.1818 | 0.2800 | 0.3636 | 0.1818 | 0.0454 | 0.1364 | 0.0909 | 0.3182 |
| season | 0.60 | 57 | - | 156.000 | 35.000 | 4.000 | 2.000 | 10.000 | 29.000 | 18.000 | 15.000 | 56.000 | 0.2244 | 0.3034 | 0.4679 | 0.2244 | 0.0641 | 0.1859 | 0.0961 | 0.3590 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0760 |
| predicted_3B | 0.0190 |
| predicted_AB | 2.7160 |
| predicted_AVG | 0.1980 |
| predicted_BB | 0.2490 |
| predicted_H | 0.5380 |
| predicted_HBP | 0.0600 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.2774 |
| predicted_R | 0.3590 |
| predicted_RBI | 0.3740 |
| predicted_SLG | 0.3772 |
| predicted_SO | 0.8620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0700 | 0.0760 | 0.0724 | model_form_blend |
| predicted_3B | 0.0350 | 0.0190 | 0.0285 | model_form_blend |
| predicted_AB | 3.0900 | 2.7160 | 2.9375 | model_form_blend |
| predicted_AVG | 0.2300 | 0.1980 | 0.2169 | model_form_blend |
| predicted_BB | 0.2630 | 0.2490 | 0.2573 | model_form_blend |
| predicted_H | 0.7100 | 0.5380 | 0.6399 | model_form_blend |
| predicted_HBP | - | 0.0600 | 0.0600 | form_only |
| predicted_HR | 0.1300 | 0.1240 | 0.1276 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2774 | 0.2837 | model_form_blend |
| predicted_R | 0.3160 | 0.3590 | 0.3335 | model_form_blend |
| predicted_RBI | 0.4300 | 0.3740 | 0.4072 | model_form_blend |
| predicted_SLG | 0.3800 | 0.3772 | 0.3789 | model_form_blend |
| predicted_SO | 0.9820 | 0.8620 | 0.9331 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 137 |
| Season rows before report date | 137 |
| Report year | 2026 |
| Profile rows used | 57 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| 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-RF |
| gameID | 20260624_NYY@DET |
| game_type | ph |
| mlbID | 681481 |
| note | Struck out for Outman in the 7th. |
| playerID | 681481 |
| playerName | Kerry Carpenter |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.332 |
| sl_xwoba | 0.302 |
| sl_xba | 0.207 |
| sl_xslg | 0.389 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 48.5 |
| sl_exit_velocity_avg | 91.3 |
| sl_launch_angle_avg | 21.6 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 50.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.203 | 0.000 | 0.000 | Hitting_2B | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.870 | 4.000 | 4.000 | Hitting_AB | 3.638 | 4.000 | 0.362 | 0.000 |
| predicted_AVG | 0.247 | 0.250 | 0.250 | Hitting_AVG | 0.304 | 0.250 | -0.054 | 0.000 |
| predicted_BB | 0.557 | 0.000 | 1.000 | Hitting_BB | 0.568 | 0.000 | -0.568 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 1.105 | 1.000 | -0.105 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.363 | 0.250 | 0.400 | Hitting_OBP | 0.401 | 0.250 | -0.151 | 0.000 |
| predicted_R | 0.506 | 1.000 | 0.000 | Hitting_R | 0.549 | 0.000 | 0.451 | 1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_SLG | 0.413 | 0.250 | 0.250 | Hitting_SLG | 0.445 | 0.250 | -0.195 | 0.000 |
| predicted_SO | 1.139 | 2.000 | 1.000 | Hitting_SO | 1.195 | 0.000 | 0.805 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 1.1390 -> 2.0000 (boost 0.8610, worse) |
| Biggest Deboost | predicted_BB: 0.5570 -> 0.0000 (deboost -0.5570, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_AVG: 0.2470 -> 0.2567 (boost 0.0097, better) | predicted_AB: 3.8700 -> 3.7210 (deboost -0.1490, worse) | Final model input calibrated with local 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.3722 -> 0.3573 (deboost -0.0149, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_BB: 0.5950 -> 1.0000 (boost 0.4050, better) | predicted_RBI: 0.3642 -> 0.0000 (deboost -0.3642, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.245 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4979 -> 0.0000 (deboost -0.4979, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3573 -> 0.4000 (boost 0.0427, better) | predicted_SLG: 0.4135 -> 0.2500 (deboost -0.1635, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4135 (boost 0.1635, better) | predicted_OBP: 0.4000 -> 0.3573 (deboost -0.0427, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682985",
"player_name": "Riley Greene",
"position": "LF",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.0,
"predicted_AB": 3.87,
"predicted_AVG": 0.247,
"predicted_BB": 0.557,
"predicted_H": 0.96,
"predicted_HR": 0.15,
"predicted_OBP": 0.363,
"predicted_R": 0.506,
"predicted_RBI": 0.4,
"predicted_SLG": 0.413,
"predicted_SO": 1.139
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1694,
"predicted_3B": 0.0004,
"predicted_AB": 3.721,
"predicted_AVG": 0.2567,
"predicted_BB": 0.5983,
"predicted_H": 0.9557,
"predicted_HBP": 0.016,
"predicted_HR": 0.1415,
"predicted_OBP": 0.3722,
"predicted_R": 0.506,
"predicted_RBI": 0.3702,
"predicted_SLG": 0.4147,
"predicted_SO": 1.0488
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1694,
"delta": -0.0336,
"percent_delta": -0.1655,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 3.721,
"delta": -0.149,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2567,
"delta": 0.0097,
"percent_delta": 0.0393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.557,
"after": 0.5983,
"delta": 0.0413,
"percent_delta": 0.0741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9557,
"delta": -0.0043,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1415,
"delta": -0.0085,
"percent_delta": -0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3722,
"delta": 0.0092,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.506,
"after": 0.506,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3702,
"delta": -0.0298,
"percent_delta": -0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4147,
"delta": 0.0017,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.139,
"after": 1.0488,
"delta": -0.0902,
"percent_delta": -0.0792,
"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_AVG",
"before": 0.247,
"after": 0.2567,
"delta": 0.0097,
"percent_delta": 0.0393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.87,
"after": 3.721,
"delta": -0.149,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1694,
"predicted_3B": 0.0004,
"predicted_AB": 3.721,
"predicted_AVG": 0.2545,
"predicted_BB": 0.595,
"predicted_H": 0.9469,
"predicted_HBP": 0.016,
"predicted_HR": 0.1405,
"predicted_OBP": 0.3573,
"predicted_R": 0.4979,
"predicted_RBI": 0.3642,
"predicted_SLG": 0.4135,
"predicted_SO": 1.0546
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1694,
"after": 0.1694,
"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.721,
"after": 3.721,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2567,
"after": 0.2545,
"delta": -0.0022,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5983,
"after": 0.595,
"delta": -0.0033,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9557,
"after": 0.9469,
"delta": -0.0088,
"percent_delta": -0.0092,
"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.1415,
"after": 0.1405,
"delta": -0.001,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3722,
"after": 0.3573,
"delta": -0.0149,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.506,
"after": 0.4979,
"delta": -0.0081,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3702,
"after": 0.3642,
"delta": -0.006,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4147,
"after": 0.4135,
"delta": -0.0012,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0488,
"after": 1.0546,
"delta": 0.0058,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3722,
"after": 0.3573,
"delta": -0.0149,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.245 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1694,
"after": 0.0,
"delta": -0.1694,
"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.721,
"after": 4.0,
"delta": 0.279,
"percent_delta": 0.075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9469,
"after": 1.0,
"delta": 0.0531,
"percent_delta": 0.0561,
"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.1405,
"after": 0.0,
"delta": -0.1405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3642,
"after": 0.0,
"delta": -0.3642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0546,
"after": 1.0,
"delta": -0.0546,
"percent_delta": -0.0518,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3642,
"after": 0.0,
"delta": -0.3642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4979,
"after": 0.0,
"delta": -0.4979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4979,
"after": 0.0,
"delta": -0.4979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2545,
"after": 0.25,
"delta": -0.0045,
"percent_delta": -0.0177,
"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.3573,
"after": 0.4,
"delta": 0.0427,
"percent_delta": 0.1195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4135,
"after": 0.25,
"delta": -0.1635,
"percent_delta": -0.3954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3573,
"after": 0.4,
"delta": 0.0427,
"percent_delta": 0.1195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4135,
"after": 0.25,
"delta": -0.1635,
"percent_delta": -0.3954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2545,
"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.3573,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4135,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2545,
"delta": 0.0045,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3573,
"delta": -0.0427,
"percent_delta": -0.1069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4135,
"delta": 0.1635,
"percent_delta": 0.6539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4135,
"delta": 0.1635,
"percent_delta": 0.6539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3573,
"delta": -0.0427,
"percent_delta": -0.1069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.0,
"delta": -0.203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 4.0,
"delta": 0.13,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2545,
"delta": 0.0075,
"percent_delta": 0.0304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.557,
"after": 0.0,
"delta": -0.557,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3573,
"delta": -0.0057,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.506,
"after": 1.0,
"delta": 0.494,
"percent_delta": 0.9763,
"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.413,
"after": 0.4135,
"delta": 0.0005,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.139,
"after": 2.0,
"delta": 0.861,
"percent_delta": 0.7559,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.139,
"after": 2.0,
"delta": 0.861,
"percent_delta": 0.7559,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.557,
"after": 0.0,
"delta": -0.557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.000 | - |
| predicted_AB | 3.870 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.557 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.506 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 1.139 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | -0.034 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.721 | -0.149 |
| predicted_AVG | 0.257 | 0.010 |
| predicted_BB | 0.598 | 0.041 |
| predicted_H | 0.956 | -0.004 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.141 | -0.009 |
| predicted_OBP | 0.372 | 0.009 |
| predicted_R | 0.506 | 0.000 |
| predicted_RBI | 0.370 | -0.030 |
| predicted_SLG | 0.415 | 0.002 |
| predicted_SO | 1.049 | -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.169 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.721 | 0.000 |
| predicted_AVG | 0.255 | -0.002 |
| predicted_BB | 0.595 | -0.003 |
| predicted_H | 0.947 | -0.009 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.141 | -0.001 |
| predicted_OBP | 0.357 | -0.015 |
| predicted_R | 0.498 | -0.008 |
| predicted_RBI | 0.364 | -0.006 |
| predicted_SLG | 0.413 | -0.001 |
| predicted_SO | 1.055 | 0.006 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.245 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.169 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.279 |
| predicted_AVG | 0.250 | -0.005 |
| predicted_BB | 1.000 | 0.405 |
| predicted_H | 1.000 | 0.053 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.400 | 0.043 |
| predicted_R | 0.000 | -0.498 |
| predicted_RBI | 0.000 | -0.364 |
| predicted_SLG | 0.250 | -0.163 |
| predicted_SO | 1.000 | -0.055 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 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 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 5.000 | 2.000 | 0.2500 | 0.4286 | 0.4375 | 0.2500 | 0.0625 | 0.0625 | 0.3125 | 0.1250 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 7.000 | 9.000 | 0.2286 | 0.3571 | 0.3143 | 0.2286 | 0.0286 | 0.0286 | 0.2000 | 0.2571 |
| season | 0.60 | 79 | - | 283.000 | 83.000 | 16.000 | 0.000 | 9.000 | 34.000 | 40.000 | 44.000 | 90.000 | 0.2933 | 0.3897 | 0.4452 | 0.2933 | 0.0318 | 0.1201 | 0.1555 | 0.3180 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1240 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5200 |
| predicted_AVG | 0.2699 |
| predicted_BB | 0.6540 |
| predicted_H | 0.9500 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.3845 |
| predicted_R | 0.5060 |
| predicted_RBI | 0.3300 |
| predicted_SLG | 0.4169 |
| predicted_SO | 0.9270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1240 | 0.1694 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8700 | 3.5200 | 3.7210 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2699 | 0.2567 | model_form_blend |
| predicted_BB | 0.5570 | 0.6540 | 0.5983 | model_form_blend |
| predicted_H | 0.9600 | 0.9500 | 0.9557 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1500 | 0.1300 | 0.1415 | model_form_blend |
| predicted_OBP | 0.3630 | 0.3845 | 0.3722 | model_form_blend |
| predicted_R | 0.5060 | 0.5060 | 0.5060 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3300 | 0.3702 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4169 | 0.4147 | model_form_blend |
| predicted_SO | 1.1390 | 0.9270 | 1.0488 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.293 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260624_NYY@DET |
| game_type | full |
| mlbID | 682985 |
| playerID | 682985 |
| playerName | Riley Greene |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.366 |
| sl_xwoba | 0.358 |
| sl_xba | 0.256 |
| sl_xslg | 0.456 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 50.5 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 17.8 |
| sl_whiff_percent | 30.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.208 | 0.000 | 0.000 | Hitting_2B | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 4.140 | 4.000 | 4.000 | Hitting_AB | 3.753 | 5.000 | 0.247 | -1.000 |
| predicted_AVG | 0.257 | 0.500 | 0.250 | Hitting_AVG | 0.254 | 0.000 | 0.246 | 0.500 |
| predicted_BB | 0.292 | 0.000 | 0.000 | Hitting_BB | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 2.000 | 1.000 | Hitting_H | 0.952 | 0.000 | 1.048 | 2.000 |
| predicted_HR | 0.220 | 1.000 | 0.000 | Hitting_HR | 0.247 | 0.000 | 0.753 | 1.000 |
| predicted_OBP | 0.330 | 0.500 | 0.250 | Hitting_OBP | 0.335 | 0.000 | 0.165 | 0.500 |
| predicted_R | 0.542 | 1.000 | 1.000 | Hitting_R | 0.480 | 0.000 | 0.520 | 1.000 |
| predicted_RBI | 0.720 | 1.000 | 1.000 | Hitting_RBI | 0.749 | 0.000 | 0.251 | 1.000 |
| predicted_SLG | 0.509 | 1.250 | 0.250 | Hitting_SLG | 0.514 | 0.000 | 0.736 | 1.250 |
| predicted_SO | 0.861 | 0.000 | 1.000 | Hitting_SO | 0.868 | 1.000 | -0.868 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 1.0600 -> 2.0000 (boost 0.9400, better) |
| Biggest Deboost | predicted_SO: 0.8610 -> 0.0000 (deboost -0.8610, 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.5090 -> 0.5324 (boost 0.0234, better) | predicted_AB: 4.1400 -> 4.0532 (deboost -0.0868, worse) | Final model input calibrated with local 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.5324 -> 0.5104 (deboost -0.0220, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_RBI: 0.7325 -> 1.0000 (boost 0.2675, better) | predicted_BB: 0.2495 -> 0.0000 (deboost -0.2495, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.264 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5553 -> 1.0000 (boost 0.4447, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5104 -> 0.2500 (deboost -0.2604, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5104 (boost 0.2604, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693307",
"player_name": "Dillon Dingler",
"position": "C",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.028,
"predicted_AB": 4.14,
"predicted_AVG": 0.257,
"predicted_BB": 0.292,
"predicted_H": 1.06,
"predicted_HR": 0.22,
"predicted_OBP": 0.33,
"predicted_R": 0.542,
"predicted_RBI": 0.72,
"predicted_SLG": 0.509,
"predicted_SO": 0.861
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1991,
"predicted_3B": 0.0382,
"predicted_AB": 4.0532,
"predicted_AVG": 0.2732,
"predicted_BB": 0.2509,
"predicted_H": 1.1027,
"predicted_HBP": 0.069,
"predicted_HR": 0.2352,
"predicted_OBP": 0.333,
"predicted_R": 0.5644,
"predicted_RBI": 0.7445,
"predicted_SLG": 0.5324,
"predicted_SO": 0.8682
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.1991,
"delta": -0.0089,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0382,
"delta": 0.0102,
"percent_delta": 0.3643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0532,
"delta": -0.0868,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2732,
"delta": 0.0162,
"percent_delta": 0.063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.2509,
"delta": -0.0411,
"percent_delta": -0.1408,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.1027,
"delta": 0.0427,
"percent_delta": 0.0403,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2352,
"delta": 0.0152,
"percent_delta": 0.0691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.333,
"delta": 0.003,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 0.5644,
"delta": 0.0224,
"percent_delta": 0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.7445,
"delta": 0.0245,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.509,
"after": 0.5324,
"delta": 0.0234,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.861,
"after": 0.8682,
"delta": 0.0072,
"percent_delta": 0.0084,
"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.509,
"after": 0.5324,
"delta": 0.0234,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0532,
"delta": -0.0868,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1991,
"predicted_3B": 0.0382,
"predicted_AB": 4.0532,
"predicted_AVG": 0.2696,
"predicted_BB": 0.2495,
"predicted_H": 1.0926,
"predicted_HBP": 0.069,
"predicted_HR": 0.2335,
"predicted_OBP": 0.3119,
"predicted_R": 0.5553,
"predicted_RBI": 0.7325,
"predicted_SLG": 0.5104,
"predicted_SO": 0.873
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1991,
"after": 0.1991,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0382,
"after": 0.0382,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0532,
"after": 4.0532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2732,
"after": 0.2696,
"delta": -0.0036,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2509,
"after": 0.2495,
"delta": -0.0014,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1027,
"after": 1.0926,
"delta": -0.0101,
"percent_delta": -0.0092,
"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.2352,
"after": 0.2335,
"delta": -0.0017,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3119,
"delta": -0.0211,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5644,
"after": 0.5553,
"delta": -0.0091,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7445,
"after": 0.7325,
"delta": -0.012,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5324,
"after": 0.5104,
"delta": -0.022,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8682,
"after": 0.873,
"delta": 0.0048,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5324,
"after": 0.5104,
"delta": -0.022,
"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=4.14), rates preserved: AVG=0.264 HR/AB=0.056",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1991,
"after": 0.0,
"delta": -0.1991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0382,
"after": 0.0,
"delta": -0.0382,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0532,
"after": 4.0,
"delta": -0.0532,
"percent_delta": -0.0131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2495,
"after": 0.0,
"delta": -0.2495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0926,
"after": 1.0,
"delta": -0.0926,
"percent_delta": -0.0848,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2335,
"after": 0.0,
"delta": -0.2335,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7325,
"after": 1.0,
"delta": 0.2675,
"percent_delta": 0.3652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.873,
"after": 1.0,
"delta": 0.127,
"percent_delta": 0.1455,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7325,
"after": 1.0,
"delta": 0.2675,
"percent_delta": 0.3652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2495,
"after": 0.0,
"delta": -0.2495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5553,
"after": 1.0,
"delta": 0.4447,
"percent_delta": 0.8008,
"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.5553,
"after": 1.0,
"delta": 0.4447,
"percent_delta": 0.8008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2696,
"after": 0.25,
"delta": -0.0196,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3119,
"after": 0.25,
"delta": -0.0619,
"percent_delta": -0.1985,
"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.5104,
"after": 0.25,
"delta": -0.2604,
"percent_delta": -0.5102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5104,
"after": 0.25,
"delta": -0.2604,
"percent_delta": -0.5102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2696,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3119,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5104,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2696,
"delta": 0.0196,
"percent_delta": 0.0782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3119,
"delta": 0.0619,
"percent_delta": 0.2477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5104,
"delta": 0.2604,
"percent_delta": 1.0414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5104,
"delta": 0.2604,
"percent_delta": 1.0414,
"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.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0,
"delta": -0.14,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2696,
"delta": 0.0126,
"percent_delta": 0.049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3119,
"delta": -0.0181,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 1.0,
"delta": 0.458,
"percent_delta": 0.845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.509,
"after": 0.5104,
"delta": 0.0014,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.861,
"after": 0.0,
"delta": -0.861,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.861,
"after": 0.0,
"delta": -0.861,
"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.208 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.292 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.542 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.509 | - |
| predicted_SO | 0.861 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.199 | -0.009 |
| predicted_3B | 0.038 | 0.010 |
| predicted_AB | 4.053 | -0.087 |
| predicted_AVG | 0.273 | 0.016 |
| predicted_BB | 0.251 | -0.041 |
| predicted_H | 1.103 | 0.043 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.235 | 0.015 |
| predicted_OBP | 0.333 | 0.003 |
| predicted_R | 0.564 | 0.022 |
| predicted_RBI | 0.745 | 0.025 |
| predicted_SLG | 0.532 | 0.023 |
| predicted_SO | 0.868 | 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.199 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 4.053 | 0.000 |
| predicted_AVG | 0.270 | -0.004 |
| predicted_BB | 0.249 | -0.001 |
| predicted_H | 1.093 | -0.010 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.234 | -0.002 |
| predicted_OBP | 0.312 | -0.021 |
| predicted_R | 0.555 | -0.009 |
| predicted_RBI | 0.733 | -0.012 |
| predicted_SLG | 0.510 | -0.022 |
| predicted_SO | 0.873 | 0.005 |
AB rounded to 4 (raw=4.14), rates preserved: AVG=0.264 HR/AB=0.056
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.199 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 4.000 | -0.053 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 0.000 | -0.249 |
| predicted_H | 1.000 | -0.093 |
| predicted_HR | 0.000 | -0.234 |
| predicted_OBP | 0.250 | -0.062 |
| predicted_R | 1.000 | 0.445 |
| predicted_RBI | 1.000 | 0.267 |
| predicted_SLG | 0.250 | -0.260 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 7.000 | 1.000 | 0.000 | 2.000 | 5.000 | 3.000 | 0.000 | 4.000 | 0.3182 | 0.3182 | 0.6364 | 0.3182 | 0.0909 | 0.2273 | 0.0000 | 0.1818 |
| last_10 | 0.20 | 10 | - | 41.000 | 15.000 | 1.000 | 2.000 | 2.000 | 7.000 | 8.000 | 0.000 | 10.000 | 0.3659 | 0.3721 | 0.6341 | 0.3659 | 0.0488 | 0.1707 | 0.0000 | 0.2439 |
| season | 0.60 | 72 | - | 269.000 | 73.000 | 15.000 | 2.000 | 18.000 | 56.000 | 39.000 | 21.000 | 62.000 | 0.2714 | 0.3356 | 0.5428 | 0.2714 | 0.0669 | 0.2082 | 0.0781 | 0.2305 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1870 |
| predicted_3B | 0.0520 |
| predicted_AB | 3.9350 |
| predicted_AVG | 0.2952 |
| predicted_BB | 0.1950 |
| predicted_H | 1.1610 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.2560 |
| predicted_OBP | 0.3370 |
| predicted_R | 0.5950 |
| predicted_RBI | 0.7780 |
| predicted_SLG | 0.5642 |
| predicted_SO | 0.8780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2080 | 0.1870 | 0.1991 | model_form_blend |
| predicted_3B | 0.0280 | 0.0520 | 0.0382 | model_form_blend |
| predicted_AB | 4.1400 | 3.9350 | 4.0532 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2952 | 0.2732 | model_form_blend |
| predicted_BB | 0.2920 | 0.1950 | 0.2509 | model_form_blend |
| predicted_H | 1.0600 | 1.1610 | 1.1027 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.2200 | 0.2560 | 0.2352 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3370 | 0.3330 | model_form_blend |
| predicted_R | 0.5420 | 0.5950 | 0.5644 | model_form_blend |
| predicted_RBI | 0.7200 | 0.7780 | 0.7445 | model_form_blend |
| predicted_SLG | 0.5090 | 0.5642 | 0.5324 | model_form_blend |
| predicted_SO | 0.8610 | 0.8780 | 0.8682 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260624_NYY@DET |
| game_type | full |
| mlbID | 693307 |
| playerID | 693307 |
| playerName | Dillon Dingler |
| pos | C |
| started | True |
| startingPosition | DH |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.372 |
| sl_xwoba | 0.394 |
| sl_xba | 0.3 |
| sl_xslg | 0.555 |
| sl_sweet_spot_percent | 42.0 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 21.7 |
| 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.113 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.120 | 4.000 | 3.000 | Hitting_AB | 3.209 | 1.000 | 0.791 | 3.000 |
| predicted_AVG | 0.246 | 0.000 | 0.333 | Hitting_AVG | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_BB | 0.155 | 0.000 | 0.000 | Hitting_BB | 0.198 | 0.000 | -0.198 | 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.885 | 0.000 | -0.885 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_OBP | 0.285 | 0.000 | 0.333 | Hitting_OBP | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_R | 0.394 | 0.000 | 0.000 | Hitting_R | 0.401 | 0.000 | -0.401 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_SLG | 0.391 | 0.000 | 0.333 | Hitting_SLG | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_SO | 0.620 | 1.000 | 1.000 | Hitting_SO | 0.742 | 0.000 | 0.258 | 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.1200 -> 4.0000 (boost 0.8800, better) |
| 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_AVG: 0.2460 -> 0.2406 (deboost -0.0054, worse) | Final model input calibrated with local 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.3899 -> 0.4020 (boost 0.0121, better) | predicted_OBP: 0.2805 -> 0.2713 (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 | 2 | 6 | 1 | 7 | predicted_SO: 0.5763 -> 1.0000 (boost 0.4237, worse) | predicted_RBI: 0.4088 -> 0.0000 (deboost -0.4088, worse) | AB rounded to 3 (raw=3.12), rates preserved: AVG=0.235 HR/AB=0.038 |
| 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 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2390 -> 0.3330 (boost 0.0940, better) | predicted_SLG: 0.4020 -> 0.3330 (deboost -0.0690, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4020 (boost 0.0690, better) | predicted_AVG: 0.3330 -> 0.2390 (deboost -0.0940, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "690993",
"player_name": "Colt Keith",
"position": "3B",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.113,
"predicted_3B": 0.028,
"predicted_AB": 3.12,
"predicted_AVG": 0.246,
"predicted_BB": 0.155,
"predicted_H": 0.77,
"predicted_HR": 0.12,
"predicted_OBP": 0.285,
"predicted_R": 0.394,
"predicted_RBI": 0.43,
"predicted_SLG": 0.391,
"predicted_SO": 0.62
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0985,
"predicted_3B": 0.0234,
"predicted_AB": 3.071,
"predicted_AVG": 0.2406,
"predicted_BB": 0.1367,
"predicted_H": 0.7409,
"predicted_HBP": 0.064,
"predicted_HR": 0.1192,
"predicted_OBP": 0.2805,
"predicted_R": 0.4006,
"predicted_RBI": 0.4155,
"predicted_SLG": 0.3899,
"predicted_SO": 0.5731
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.0985,
"delta": -0.0145,
"percent_delta": -0.1283,
"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.12,
"after": 3.071,
"delta": -0.049,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2406,
"delta": -0.0054,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.155,
"after": 0.1367,
"delta": -0.0183,
"percent_delta": -0.1181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7409,
"delta": -0.0291,
"percent_delta": -0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1192,
"delta": -0.0008,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2805,
"delta": -0.0045,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.394,
"after": 0.4006,
"delta": 0.0066,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4155,
"delta": -0.0145,
"percent_delta": -0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3899,
"delta": -0.0011,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.62,
"after": 0.5731,
"delta": -0.0469,
"percent_delta": -0.0756,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.246,
"after": 0.2406,
"delta": -0.0054,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0985,
"predicted_3B": 0.0234,
"predicted_AB": 3.071,
"predicted_AVG": 0.239,
"predicted_BB": 0.1359,
"predicted_H": 0.7341,
"predicted_HBP": 0.064,
"predicted_HR": 0.1183,
"predicted_OBP": 0.2713,
"predicted_R": 0.3942,
"predicted_RBI": 0.4088,
"predicted_SLG": 0.402,
"predicted_SO": 0.5763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0985,
"after": 0.0985,
"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.071,
"after": 3.071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2406,
"after": 0.239,
"delta": -0.0016,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1367,
"after": 0.1359,
"delta": -0.0008,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7409,
"after": 0.7341,
"delta": -0.0068,
"percent_delta": -0.0092,
"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.1192,
"after": 0.1183,
"delta": -0.0009,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2805,
"after": 0.2713,
"delta": -0.0092,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4006,
"after": 0.3942,
"delta": -0.0064,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4155,
"after": 0.4088,
"delta": -0.0067,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3899,
"after": 0.402,
"delta": 0.0121,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5731,
"after": 0.5763,
"delta": 0.0032,
"percent_delta": 0.0056,
"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.3899,
"after": 0.402,
"delta": 0.0121,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2805,
"after": 0.2713,
"delta": -0.0092,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.12), rates preserved: AVG=0.235 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.0985,
"after": 0.0,
"delta": -0.0985,
"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.071,
"after": 3.0,
"delta": -0.071,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1359,
"after": 0.0,
"delta": -0.1359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7341,
"after": 1.0,
"delta": 0.2659,
"percent_delta": 0.3622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1183,
"after": 0.0,
"delta": -0.1183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4088,
"after": 0.0,
"delta": -0.4088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5763,
"after": 1.0,
"delta": 0.4237,
"percent_delta": 0.7352,
"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.5763,
"after": 1.0,
"delta": 0.4237,
"percent_delta": 0.7352,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4088,
"after": 0.0,
"delta": -0.4088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_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": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.333,
"delta": 0.094,
"percent_delta": 0.3933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2713,
"after": 0.333,
"delta": 0.0617,
"percent_delta": 0.2274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.333,
"delta": -0.069,
"percent_delta": -0.1716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.333,
"delta": 0.094,
"percent_delta": 0.3933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.333,
"delta": -0.069,
"percent_delta": -0.1716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.239,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2713,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.402,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.239,
"delta": -0.094,
"percent_delta": -0.2822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2713,
"delta": -0.0617,
"percent_delta": -0.1853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.402,
"delta": 0.069,
"percent_delta": 0.2071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.402,
"delta": 0.069,
"percent_delta": 0.2071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.239,
"delta": -0.094,
"percent_delta": -0.2822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.12,
"after": 4.0,
"delta": 0.88,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.239,
"delta": -0.007,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.285,
"after": 0.2713,
"delta": -0.0137,
"percent_delta": -0.0481,
"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.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.402,
"delta": 0.011,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"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.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.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.113 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 3.120 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.155 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.394 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 0.620 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.071 | -0.049 |
| predicted_AVG | 0.241 | -0.005 |
| predicted_BB | 0.137 | -0.018 |
| predicted_H | 0.741 | -0.029 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.119 | -0.001 |
| predicted_OBP | 0.281 | -0.004 |
| predicted_R | 0.401 | 0.007 |
| predicted_RBI | 0.415 | -0.015 |
| predicted_SLG | 0.390 | -0.001 |
| predicted_SO | 0.573 | -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.099 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.071 | 0.000 |
| predicted_AVG | 0.239 | -0.002 |
| predicted_BB | 0.136 | -0.001 |
| predicted_H | 0.734 | -0.007 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.118 | -0.001 |
| predicted_OBP | 0.271 | -0.009 |
| predicted_R | 0.394 | -0.006 |
| predicted_RBI | 0.409 | -0.007 |
| predicted_SLG | 0.402 | 0.012 |
| predicted_SO | 0.576 | 0.003 |
AB rounded to 3 (raw=3.12), rates preserved: AVG=0.235 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.099 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.071 |
| predicted_AVG | 0.333 | 0.094 |
| predicted_BB | 0.000 | -0.136 |
| predicted_H | 1.000 | 0.266 |
| predicted_HR | 0.000 | -0.118 |
| predicted_OBP | 0.333 | 0.062 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 0.000 | -0.409 |
| predicted_SLG | 0.333 | -0.069 |
| predicted_SO | 1.000 | 0.424 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 1.000 | 0.1429 | 0.1429 | 0.1429 | 0.1429 | 0.0000 | 0.0714 | 0.0000 | 0.0714 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 0.000 | 0.000 | 4.000 | 10.000 | 6.000 | 0.000 | 3.000 | 0.2500 | 0.3000 | 0.6786 | 0.2500 | 0.1429 | 0.3571 | 0.0000 | 0.1071 |
| season | 0.60 | 71 | - | 209.000 | 53.000 | 8.000 | 2.000 | 4.000 | 16.000 | 28.000 | 11.000 | 44.000 | 0.2536 | 0.3004 | 0.3684 | 0.2536 | 0.0191 | 0.0766 | 0.0526 | 0.2105 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0780 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.0020 |
| predicted_AVG | 0.2331 |
| predicted_BB | 0.1110 |
| predicted_H | 0.7000 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.1180 |
| predicted_OBP | 0.2741 |
| predicted_R | 0.4100 |
| predicted_RBI | 0.3950 |
| predicted_SLG | 0.3883 |
| predicted_SO | 0.5070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1130 | 0.0780 | 0.0985 | model_form_blend |
| predicted_3B | 0.0280 | 0.0170 | 0.0234 | model_form_blend |
| predicted_AB | 3.1200 | 3.0020 | 3.0710 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2331 | 0.2406 | model_form_blend |
| predicted_BB | 0.1550 | 0.1110 | 0.1367 | model_form_blend |
| predicted_H | 0.7700 | 0.7000 | 0.7409 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.1200 | 0.1180 | 0.1192 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2741 | 0.2805 | model_form_blend |
| predicted_R | 0.3940 | 0.4100 | 0.4006 | model_form_blend |
| predicted_RBI | 0.4300 | 0.3950 | 0.4155 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3883 | 0.3899 | model_form_blend |
| predicted_SO | 0.6200 | 0.5070 | 0.5731 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 182 |
| Season rows before report date | 182 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260624_NYY@DET |
| game_type | ph |
| mlbID | 690993 |
| note | Grounded out for Rogers in the 9th. |
| playerID | 690993 |
| playerName | Colt Keith |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.297 |
| sl_xwoba | 0.319 |
| sl_xba | 0.266 |
| sl_xslg | 0.423 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 22.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.218 | 0.000 | 0.000 | Hitting_2B | 0.235 | 1.000 | -0.235 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.460 | 3.000 | 3.000 | Hitting_AB | 3.475 | 3.000 | -0.475 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.333 | Hitting_AVG | 0.209 | 0.333 | -0.209 | -0.333 |
| predicted_BB | 0.449 | 1.000 | 0.000 | Hitting_BB | 0.483 | 1.000 | 0.517 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.820 | 0.000 | 1.000 | Hitting_H | 0.727 | 1.000 | -0.727 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_OBP | 0.326 | 0.250 | 0.333 | Hitting_OBP | 0.313 | 0.500 | -0.063 | -0.250 |
| predicted_R | 0.385 | 0.000 | 0.000 | Hitting_R | 0.370 | 2.000 | -0.370 | -2.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.378 | 0.000 | -0.378 | 0.000 |
| predicted_SLG | 0.409 | 0.000 | 0.333 | Hitting_SLG | 0.407 | 0.667 | -0.407 | -0.667 |
| predicted_SO | 1.269 | 2.000 | 1.000 | Hitting_SO | 1.324 | 1.000 | 0.676 | 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.2690 -> 2.0000 (boost 0.7310, 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 | 2 | 1 | 1 | 2 | 0 | predicted_SLG: 0.4090 -> 0.4154 (boost 0.0064, better) | predicted_SO: 1.2690 -> 1.2139 (deboost -0.0551, 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 | 1 | 6 | 2 | 5 | predicted_H: 0.8117 -> 1.0000 (boost 0.1883, better) | predicted_BB: 0.4571 -> 0.0000 (deboost -0.4571, worse) | AB rounded to 3 (raw=3.46), rates preserved: AVG=0.235 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4080 -> 0.0000 (deboost -0.4080, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2348 -> 0.3330 (boost 0.0982, better) | predicted_SLG: 0.4145 -> 0.3330 (deboost -0.0815, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4145 (boost 0.0815, better) | predicted_AVG: 0.3330 -> 0.2348 (deboost -0.0982, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679529",
"player_name": "Spencer Torkelson",
"position": "1B",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.218,
"predicted_3B": 0.0,
"predicted_AB": 3.46,
"predicted_AVG": 0.237,
"predicted_BB": 0.449,
"predicted_H": 0.82,
"predicted_HR": 0.13,
"predicted_OBP": 0.326,
"predicted_R": 0.385,
"predicted_RBI": 0.41,
"predicted_SLG": 0.409,
"predicted_SO": 1.269
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2532,
"predicted_3B": 0.0004,
"predicted_AB": 3.4562,
"predicted_AVG": 0.237,
"predicted_BB": 0.4596,
"predicted_H": 0.8192,
"predicted_HBP": 0.031,
"predicted_HR": 0.1232,
"predicted_OBP": 0.329,
"predicted_R": 0.4147,
"predicted_RBI": 0.3986,
"predicted_SLG": 0.4154,
"predicted_SO": 1.2139
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.218,
"after": 0.2532,
"delta": 0.0352,
"percent_delta": 0.1615,
"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.46,
"after": 3.4562,
"delta": -0.0038,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.237,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.449,
"after": 0.4596,
"delta": 0.0106,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8192,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1232,
"delta": -0.0068,
"percent_delta": -0.0523,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.329,
"delta": 0.003,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.4147,
"delta": 0.0297,
"percent_delta": 0.0771,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3986,
"delta": -0.0114,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4154,
"delta": 0.0064,
"percent_delta": 0.0156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.269,
"after": 1.2139,
"delta": -0.0551,
"percent_delta": -0.0434,
"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_SLG",
"before": 0.409,
"after": 0.4154,
"delta": 0.0064,
"percent_delta": 0.0156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.269,
"after": 1.2139,
"delta": -0.0551,
"percent_delta": -0.0434,
"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": 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.2532,
"predicted_3B": 0.0004,
"predicted_AB": 3.4562,
"predicted_AVG": 0.2348,
"predicted_BB": 0.4571,
"predicted_H": 0.8117,
"predicted_HBP": 0.031,
"predicted_HR": 0.1223,
"predicted_OBP": 0.3242,
"predicted_R": 0.408,
"predicted_RBI": 0.3922,
"predicted_SLG": 0.4145,
"predicted_SO": 1.2206
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2532,
"after": 0.2532,
"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.4562,
"after": 3.4562,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2348,
"delta": -0.0022,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4596,
"after": 0.4571,
"delta": -0.0025,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8192,
"after": 0.8117,
"delta": -0.0075,
"percent_delta": -0.0092,
"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.1232,
"after": 0.1223,
"delta": -0.0009,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3242,
"delta": -0.0048,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4147,
"after": 0.408,
"delta": -0.0067,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3986,
"after": 0.3922,
"delta": -0.0064,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4154,
"after": 0.4145,
"delta": -0.0009,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2139,
"after": 1.2206,
"delta": 0.0067,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_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.46), rates preserved: AVG=0.235 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.2532,
"after": 0.0,
"delta": -0.2532,
"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.4562,
"after": 3.0,
"delta": -0.4562,
"percent_delta": -0.132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4571,
"after": 0.0,
"delta": -0.4571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8117,
"after": 1.0,
"delta": 0.1883,
"percent_delta": 0.232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1223,
"after": 0.0,
"delta": -0.1223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3922,
"after": 0.0,
"delta": -0.3922,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2206,
"after": 1.0,
"delta": -0.2206,
"percent_delta": -0.1807,
"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.8117,
"after": 1.0,
"delta": 0.1883,
"percent_delta": 0.232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4571,
"after": 0.0,
"delta": -0.4571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.408,
"after": 0.0,
"delta": -0.408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.408,
"after": 0.0,
"delta": -0.408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2348,
"after": 0.333,
"delta": 0.0982,
"percent_delta": 0.4182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3242,
"after": 0.333,
"delta": 0.0088,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4145,
"after": 0.333,
"delta": -0.0815,
"percent_delta": -0.1966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2348,
"after": 0.333,
"delta": 0.0982,
"percent_delta": 0.4182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4145,
"after": 0.333,
"delta": -0.0815,
"percent_delta": -0.1966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2348,
"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.3242,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4145,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2348,
"delta": -0.0982,
"percent_delta": -0.2948,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3242,
"delta": -0.0088,
"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.333,
"after": 0.4145,
"delta": 0.0815,
"percent_delta": 0.2448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4145,
"delta": 0.0815,
"percent_delta": 0.2448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2348,
"delta": -0.0982,
"percent_delta": -0.2948,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.218,
"after": 0.0,
"delta": -0.218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.46,
"after": 3.0,
"delta": -0.46,
"percent_delta": -0.1329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2348,
"delta": -0.0022,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.449,
"after": 1.0,
"delta": 0.551,
"percent_delta": 1.2272,
"direction": "boost",
"projection_effect": "better",
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3242,
"delta": -0.0018,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.409,
"after": 0.4145,
"delta": 0.0055,
"percent_delta": 0.0134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.269,
"after": 2.0,
"delta": 0.731,
"percent_delta": 0.576,
"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.269,
"after": 2.0,
"delta": 0.731,
"percent_delta": 0.576,
"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.218 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.460 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.449 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.385 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.409 | - |
| predicted_SO | 1.269 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.253 | 0.035 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.456 | -0.004 |
| predicted_AVG | 0.237 | 0.000 |
| predicted_BB | 0.460 | 0.011 |
| predicted_H | 0.819 | -0.001 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.123 | -0.007 |
| predicted_OBP | 0.329 | 0.003 |
| predicted_R | 0.415 | 0.030 |
| predicted_RBI | 0.399 | -0.011 |
| predicted_SLG | 0.415 | 0.006 |
| predicted_SO | 1.214 | -0.055 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.253 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.456 | 0.000 |
| predicted_AVG | 0.235 | -0.002 |
| predicted_BB | 0.457 | -0.003 |
| predicted_H | 0.812 | -0.008 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.122 | -0.001 |
| predicted_OBP | 0.324 | -0.005 |
| predicted_R | 0.408 | -0.007 |
| predicted_RBI | 0.392 | -0.006 |
| predicted_SLG | 0.414 | -0.001 |
| predicted_SO | 1.221 | 0.007 |
AB rounded to 3 (raw=3.46), rates preserved: AVG=0.235 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.253 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.456 |
| predicted_AVG | 0.333 | 0.098 |
| predicted_BB | 0.000 | -0.457 |
| predicted_H | 1.000 | 0.188 |
| predicted_HR | 0.000 | -0.122 |
| predicted_OBP | 0.333 | 0.009 |
| predicted_R | 0.000 | -0.408 |
| predicted_RBI | 0.000 | -0.392 |
| predicted_SLG | 0.333 | -0.081 |
| predicted_SO | 1.000 | -0.221 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 4.000 | 0.3529 | 0.4500 | 0.5294 | 0.3529 | 0.0000 | 0.1177 | 0.1765 | 0.2353 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 3.000 | 0.000 | 1.000 | 3.000 | 5.000 | 5.000 | 12.000 | 0.2000 | 0.3000 | 0.3714 | 0.2000 | 0.0286 | 0.0857 | 0.1429 | 0.3429 |
| season | 0.60 | 78 | - | 264.000 | 55.000 | 17.000 | 0.000 | 12.000 | 30.000 | 30.000 | 35.000 | 99.000 | 0.2083 | 0.3082 | 0.4091 | 0.2083 | 0.0454 | 0.1136 | 0.1326 | 0.3750 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3010 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4510 |
| predicted_AVG | 0.2369 |
| predicted_BB | 0.4740 |
| predicted_H | 0.8180 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.1140 |
| predicted_OBP | 0.3330 |
| predicted_R | 0.4550 |
| predicted_RBI | 0.3830 |
| predicted_SLG | 0.4242 |
| predicted_SO | 1.1390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2180 | 0.3010 | 0.2532 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4600 | 3.4510 | 3.4562 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2369 | 0.2370 | model_form_blend |
| predicted_BB | 0.4490 | 0.4740 | 0.4596 | model_form_blend |
| predicted_H | 0.8200 | 0.8180 | 0.8192 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.1300 | 0.1140 | 0.1232 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3330 | 0.3290 | model_form_blend |
| predicted_R | 0.3850 | 0.4550 | 0.4147 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3830 | 0.3986 | model_form_blend |
| predicted_SLG | 0.4090 | 0.4242 | 0.4154 | model_form_blend |
| predicted_SO | 1.2690 | 1.1390 | 1.2139 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 238 |
| Season rows before report date | 238 |
| 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.208 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 1B |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 679529 |
| playerID | 679529 |
| playerName | Spencer Torkelson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.319 |
| sl_xwoba | 0.318 |
| sl_xba | 0.214 |
| sl_xslg | 0.406 |
| sl_sweet_spot_percent | 46.4 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 31.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.077 | 0.000 | 0.000 | Hitting_2B | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 3.000 | 3.000 | 3.000 | Hitting_AB | 3.118 | 4.000 | -0.118 | -1.000 |
| predicted_AVG | 0.242 | 0.333 | 0.333 | Hitting_AVG | 0.160 | 0.250 | 0.173 | 0.083 |
| predicted_BB | 0.365 | 0.000 | 0.000 | Hitting_BB | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_H | 0.700 | 1.000 | 1.000 | Hitting_H | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_OBP | 0.303 | 0.333 | 0.333 | Hitting_OBP | 0.243 | 0.250 | 0.090 | 0.083 |
| predicted_R | 0.212 | 0.000 | 0.000 | Hitting_R | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.287 | 1.000 | -0.287 | -1.000 |
| predicted_SLG | 0.358 | 0.333 | 0.333 | Hitting_SLG | 0.236 | 0.250 | 0.097 | 0.083 |
| predicted_SO | 0.654 | 0.000 | 1.000 | Hitting_SO | 0.662 | 2.000 | -0.662 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.7000 -> 1.0000 (boost 0.3000, better) |
| Biggest Deboost | predicted_SO: 0.6540 -> 0.0000 (deboost -0.6540, 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.0000 -> 3.0791 (boost 0.0791, better) | predicted_AVG: 0.2420 -> 0.2341 (deboost -0.0079, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3017 -> 0.3073 (boost 0.0056, better) | predicted_AVG: 0.2341 -> 0.2267 (deboost -0.0074, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.6687 -> 1.0000 (boost 0.3313, worse) | predicted_BB: 0.3585 -> 0.0000 (deboost -0.3585, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.227 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2623 -> 0.0000 (deboost -0.2623, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2267 -> 0.3330 (boost 0.1063, better) | predicted_SLG: 0.3525 -> 0.3330 (deboost -0.0195, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3525 (boost 0.0195, better) | predicted_AVG: 0.3330 -> 0.2267 (deboost -0.1063, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656716",
"player_name": "Zach McKinstry",
"position": "SS",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.077,
"predicted_3B": 0.038,
"predicted_AB": 3.0,
"predicted_AVG": 0.242,
"predicted_BB": 0.365,
"predicted_H": 0.7,
"predicted_HR": 0.07,
"predicted_OBP": 0.303,
"predicted_R": 0.212,
"predicted_RBI": 0.33,
"predicted_SLG": 0.358,
"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.0929,
"predicted_3B": 0.0527,
"predicted_AB": 3.0791,
"predicted_AVG": 0.2341,
"predicted_BB": 0.3605,
"predicted_H": 0.7045,
"predicted_HBP": 0.004,
"predicted_HR": 0.0635,
"predicted_OBP": 0.3017,
"predicted_R": 0.2666,
"predicted_RBI": 0.3202,
"predicted_SLG": 0.3571,
"predicted_SO": 0.665
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.077,
"after": 0.0929,
"delta": 0.0159,
"percent_delta": 0.2065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0527,
"delta": 0.0147,
"percent_delta": 0.3868,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0791,
"delta": 0.0791,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2341,
"delta": -0.0079,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.365,
"after": 0.3605,
"delta": -0.0045,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7045,
"delta": 0.0045,
"percent_delta": 0.0064,
"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.303,
"after": 0.3017,
"delta": -0.0013,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.212,
"after": 0.2666,
"delta": 0.0546,
"percent_delta": 0.2575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3202,
"delta": -0.0098,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3571,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.654,
"after": 0.665,
"delta": 0.011,
"percent_delta": 0.0168,
"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": 3.0791,
"delta": 0.0791,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2341,
"delta": -0.0079,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0929,
"predicted_3B": 0.0527,
"predicted_AB": 3.0791,
"predicted_AVG": 0.2267,
"predicted_BB": 0.3585,
"predicted_H": 0.698,
"predicted_HBP": 0.004,
"predicted_HR": 0.063,
"predicted_OBP": 0.3073,
"predicted_R": 0.2623,
"predicted_RBI": 0.315,
"predicted_SLG": 0.3525,
"predicted_SO": 0.6687
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0929,
"after": 0.0929,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0527,
"after": 0.0527,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0791,
"after": 3.0791,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2341,
"after": 0.2267,
"delta": -0.0074,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3605,
"after": 0.3585,
"delta": -0.002,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7045,
"after": 0.698,
"delta": -0.0065,
"percent_delta": -0.0092,
"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.0635,
"after": 0.063,
"delta": -0.0005,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3017,
"after": 0.3073,
"delta": 0.0056,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2666,
"after": 0.2623,
"delta": -0.0043,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3202,
"after": 0.315,
"delta": -0.0052,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3571,
"after": 0.3525,
"delta": -0.0046,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.665,
"after": 0.6687,
"delta": 0.0037,
"percent_delta": 0.0056,
"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.3017,
"after": 0.3073,
"delta": 0.0056,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2341,
"after": 0.2267,
"delta": -0.0074,
"percent_delta": -0.0316,
"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.227 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0929,
"after": 0.0,
"delta": -0.0929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0527,
"after": 0.0,
"delta": -0.0527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.0791,
"after": 3.0,
"delta": -0.0791,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3585,
"after": 0.0,
"delta": -0.3585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.698,
"after": 1.0,
"delta": 0.302,
"percent_delta": 0.4327,
"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.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.315,
"after": 0.0,
"delta": -0.315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6687,
"after": 1.0,
"delta": 0.3313,
"percent_delta": 0.4954,
"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.6687,
"after": 1.0,
"delta": 0.3313,
"percent_delta": 0.4954,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3585,
"after": 0.0,
"delta": -0.3585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2623,
"after": 0.0,
"delta": -0.2623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2623,
"after": 0.0,
"delta": -0.2623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2267,
"after": 0.333,
"delta": 0.1063,
"percent_delta": 0.4689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0257,
"percent_delta": 0.0836,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3525,
"after": 0.333,
"delta": -0.0195,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2267,
"after": 0.333,
"delta": 0.1063,
"percent_delta": 0.4689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3525,
"after": 0.333,
"delta": -0.0195,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2267,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3073,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3525,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2267,
"delta": -0.1063,
"percent_delta": -0.3192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3073,
"delta": -0.0257,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3525,
"delta": 0.0195,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3525,
"delta": 0.0195,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2267,
"delta": -0.1063,
"percent_delta": -0.3192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2267,
"delta": -0.0153,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.365,
"after": 0.0,
"delta": -0.365,
"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.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.3073,
"delta": 0.0043,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"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.358,
"after": 0.3525,
"delta": -0.0055,
"percent_delta": -0.0154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.654,
"after": 0.0,
"delta": -0.654,
"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_H",
"before": 0.7,
"after": 1.0,
"delta": 0.3,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.654,
"after": 0.0,
"delta": -0.654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.077 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.365 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.212 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.358 | - |
| 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.093 | 0.016 |
| predicted_3B | 0.053 | 0.015 |
| predicted_AB | 3.079 | 0.079 |
| predicted_AVG | 0.234 | -0.008 |
| predicted_BB | 0.360 | -0.005 |
| predicted_H | 0.705 | 0.005 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.064 | -0.007 |
| predicted_OBP | 0.302 | -0.001 |
| predicted_R | 0.267 | 0.055 |
| predicted_RBI | 0.320 | -0.010 |
| predicted_SLG | 0.357 | -0.001 |
| predicted_SO | 0.665 | 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.093 | 0.000 |
| predicted_3B | 0.053 | 0.000 |
| predicted_AB | 3.079 | 0.000 |
| predicted_AVG | 0.227 | -0.007 |
| predicted_BB | 0.358 | -0.002 |
| predicted_H | 0.698 | -0.007 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.063 | -0.001 |
| predicted_OBP | 0.307 | 0.006 |
| predicted_R | 0.262 | -0.004 |
| predicted_RBI | 0.315 | -0.005 |
| predicted_SLG | 0.352 | -0.005 |
| predicted_SO | 0.669 | 0.004 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.227 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.093 |
| predicted_3B | 0.000 | -0.053 |
| predicted_AB | 3.000 | -0.079 |
| predicted_AVG | 0.333 | 0.106 |
| predicted_BB | 0.000 | -0.358 |
| predicted_H | 1.000 | 0.302 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.333 | 0.026 |
| predicted_R | 0.000 | -0.262 |
| predicted_RBI | 0.000 | -0.315 |
| predicted_SLG | 0.333 | -0.019 |
| 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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 1.000 | 1.000 | 0.000 | 2.000 | 3.000 | 2.000 | 3.000 | 0.3125 | 0.3889 | 0.5000 | 0.3125 | 0.0000 | 0.1250 | 0.1250 | 0.1875 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 1.000 | 1.000 | 1.000 | 3.000 | 4.000 | 3.000 | 7.000 | 0.2188 | 0.2857 | 0.4062 | 0.2188 | 0.0312 | 0.0938 | 0.0938 | 0.2188 |
| season | 0.60 | 52 | - | 156.000 | 29.000 | 4.000 | 2.000 | 2.000 | 12.000 | 11.000 | 19.000 | 34.000 | 0.1859 | 0.2712 | 0.2756 | 0.1859 | 0.0128 | 0.0769 | 0.1218 | 0.2180 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0740 |
| predicted_AB | 3.1940 |
| predicted_AVG | 0.2225 |
| predicted_BB | 0.3540 |
| predicted_H | 0.7110 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0540 |
| predicted_OBP | 0.2999 |
| predicted_R | 0.3460 |
| predicted_RBI | 0.3060 |
| predicted_SLG | 0.3558 |
| predicted_SO | 0.6810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0770 | 0.1160 | 0.0929 | model_form_blend |
| predicted_3B | 0.0380 | 0.0740 | 0.0527 | model_form_blend |
| predicted_AB | 3.0000 | 3.1940 | 3.0791 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2225 | 0.2341 | model_form_blend |
| predicted_BB | 0.3650 | 0.3540 | 0.3605 | model_form_blend |
| predicted_H | 0.7000 | 0.7110 | 0.7045 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0700 | 0.0540 | 0.0635 | model_form_blend |
| predicted_OBP | 0.3030 | 0.2999 | 0.3017 | model_form_blend |
| predicted_R | 0.2120 | 0.3460 | 0.2666 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3060 | 0.3202 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3558 | 0.3571 | model_form_blend |
| predicted_SO | 0.6540 | 0.6810 | 0.6650 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 136 |
| Season rows before report date | 136 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.186 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260624_NYY@DET |
| game_type | full |
| mlbID | 656716 |
| playerID | 656716 |
| playerName | Zach McKinstry |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.247 |
| sl_xwoba | 0.26 |
| sl_xba | 0.205 |
| sl_xslg | 0.277 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 20.9 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 48.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.125 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 1.778 | 0.000 | 1.222 | 3.000 |
| predicted_AVG | 0.254 | 0.333 | 0.333 | Hitting_AVG | 0.188 | - | 0.146 | - |
| predicted_BB | 0.156 | 0.000 | 0.000 | Hitting_BB | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.150 | 1.000 | 1.000 | Hitting_H | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.254 | 0.333 | 0.333 | Hitting_OBP | 0.278 | - | 0.056 | - |
| predicted_R | 0.281 | 0.000 | 0.000 | Hitting_R | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_SLG | 0.300 | 0.333 | 0.333 | Hitting_SLG | 0.375 | - | -0.042 | - |
| predicted_SO | 1.219 | 0.000 | 1.000 | Hitting_SO | 1.111 | 0.000 | -1.111 | 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_H: 0.1500 -> 1.0000 (boost 0.8500, better) |
| Biggest Deboost | predicted_SO: 1.2190 -> 0.0000 (deboost -1.2190, 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 | 3 | 3 | predicted_H: 0.1500 -> 0.2845 (boost 0.1345, better) | predicted_AVG: 0.2540 -> 0.2258 (deboost -0.0282, worse) | Final model input calibrated with local 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.2258 -> 0.1071 (deboost -0.1187, 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: 2.6330 -> 3.0000 (boost 0.3670, better) | predicted_SO: 1.2835 -> 1.0000 (deboost -0.2835, better) | AB rounded to 3 (raw=2.63), rates preserved: AVG=0.107 HR/AB=0.015 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2860 -> 0.0000 (deboost -0.2860, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1071 -> 0.3330 (boost 0.2259, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1071 (deboost -0.2259, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681546",
"player_name": "James Outman",
"position": "CF",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.031,
"predicted_AB": 2.5,
"predicted_AVG": 0.254,
"predicted_BB": 0.156,
"predicted_H": 0.15,
"predicted_HR": 0.03,
"predicted_OBP": 0.254,
"predicted_R": 0.281,
"predicted_RBI": 0.11,
"predicted_SLG": 0.3,
"predicted_SO": 1.219
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1157,
"predicted_3B": 0.0265,
"predicted_AB": 2.633,
"predicted_AVG": 0.2258,
"predicted_BB": 0.1672,
"predicted_H": 0.2845,
"predicted_HBP": 0.007,
"predicted_HR": 0.0408,
"predicted_OBP": 0.2454,
"predicted_R": 0.2907,
"predicted_RBI": 0.1604,
"predicted_SLG": 0.2957,
"predicted_SO": 1.2765
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1157,
"delta": -0.0093,
"percent_delta": -0.0744,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0265,
"delta": -0.0045,
"percent_delta": -0.1452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.633,
"delta": 0.133,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2258,
"delta": -0.0282,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.1672,
"delta": 0.0112,
"percent_delta": 0.0718,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 0.2845,
"delta": 0.1345,
"percent_delta": 0.8967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0408,
"delta": 0.0108,
"percent_delta": 0.36,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.2454,
"delta": -0.0086,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.281,
"after": 0.2907,
"delta": 0.0097,
"percent_delta": 0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1604,
"delta": 0.0504,
"percent_delta": 0.4582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3,
"after": 0.2957,
"delta": -0.0043,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.219,
"after": 1.2765,
"delta": 0.0575,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.15,
"after": 0.2845,
"delta": 0.1345,
"percent_delta": 0.8967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2258,
"delta": -0.0282,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1157,
"predicted_3B": 0.0265,
"predicted_AB": 2.633,
"predicted_AVG": 0.1071,
"predicted_BB": 0.1663,
"predicted_H": 0.2819,
"predicted_HBP": 0.007,
"predicted_HR": 0.0405,
"predicted_OBP": 0.1601,
"predicted_R": 0.286,
"predicted_RBI": 0.1578,
"predicted_SLG": 0.2173,
"predicted_SO": 1.2835
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1157,
"after": 0.1157,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0265,
"after": 0.0265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.633,
"after": 2.633,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2258,
"after": 0.1071,
"delta": -0.1187,
"percent_delta": -0.5257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1672,
"after": 0.1663,
"delta": -0.0009,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.2845,
"after": 0.2819,
"delta": -0.0026,
"percent_delta": -0.0091,
"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.0408,
"after": 0.0405,
"delta": -0.0003,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2454,
"after": 0.1601,
"delta": -0.0853,
"percent_delta": -0.3476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2907,
"after": 0.286,
"delta": -0.0047,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1604,
"after": 0.1578,
"delta": -0.0026,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2957,
"after": 0.2173,
"delta": -0.0784,
"percent_delta": -0.2651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2765,
"after": 1.2835,
"delta": 0.007,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2258,
"after": 0.1071,
"delta": -0.1187,
"percent_delta": -0.5257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.63), rates preserved: AVG=0.107 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1157,
"after": 0.0,
"delta": -0.1157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0265,
"after": 0.0,
"delta": -0.0265,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.633,
"after": 3.0,
"delta": 0.367,
"percent_delta": 0.1394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1663,
"after": 0.0,
"delta": -0.1663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.2819,
"after": 0.0,
"delta": -0.2819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0405,
"after": 0.0,
"delta": -0.0405,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1578,
"after": 0.0,
"delta": -0.1578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2835,
"after": 1.0,
"delta": -0.2835,
"percent_delta": -0.2209,
"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": 2.633,
"after": 3.0,
"delta": 0.367,
"percent_delta": 0.1394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.2835,
"after": 1.0,
"delta": -0.2835,
"percent_delta": -0.2209,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1071,
"after": 0.333,
"delta": 0.2259,
"percent_delta": 2.1092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1601,
"after": 0.333,
"delta": 0.1729,
"percent_delta": 1.08,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2173,
"after": 0.333,
"delta": 0.1157,
"percent_delta": 0.5324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1071,
"after": 0.333,
"delta": 0.2259,
"percent_delta": 2.1092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1071,
"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.1601,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2173,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1071,
"delta": -0.2259,
"percent_delta": -0.6785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1601,
"delta": -0.1729,
"percent_delta": -0.5192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2173,
"delta": -0.1157,
"percent_delta": -0.3475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1071,
"delta": -0.2259,
"percent_delta": -0.6785,
"direction": "deboost",
"projection_effect": "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.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.1071,
"delta": -0.1469,
"percent_delta": -0.5783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"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.1601,
"delta": -0.0939,
"percent_delta": -0.3697,
"direction": "deboost",
"projection_effect": "worse",
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3,
"after": 0.2173,
"delta": -0.0827,
"percent_delta": -0.2757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.219,
"after": 0.0,
"delta": -1.219,
"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_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_SO",
"before": 1.219,
"after": 0.0,
"delta": -1.219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.156 | - |
| predicted_H | 0.150 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.254 | - |
| predicted_R | 0.281 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.300 | - |
| predicted_SO | 1.219 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.116 | -0.009 |
| predicted_3B | 0.026 | -0.005 |
| predicted_AB | 2.633 | 0.133 |
| predicted_AVG | 0.226 | -0.028 |
| predicted_BB | 0.167 | 0.011 |
| predicted_H | 0.284 | 0.134 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.041 | 0.011 |
| predicted_OBP | 0.245 | -0.009 |
| predicted_R | 0.291 | 0.010 |
| predicted_RBI | 0.160 | 0.050 |
| predicted_SLG | 0.296 | -0.004 |
| predicted_SO | 1.276 | 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.116 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 2.633 | 0.000 |
| predicted_AVG | 0.107 | -0.119 |
| predicted_BB | 0.166 | -0.001 |
| predicted_H | 0.282 | -0.003 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.041 | -0.000 |
| predicted_OBP | 0.160 | -0.085 |
| predicted_R | 0.286 | -0.005 |
| predicted_RBI | 0.158 | -0.003 |
| predicted_SLG | 0.217 | -0.078 |
| predicted_SO | 1.284 | 0.007 |
AB rounded to 3 (raw=2.63), rates preserved: AVG=0.107 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.116 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 3.000 | 0.367 |
| predicted_AVG | 0.333 | 0.226 |
| predicted_BB | 0.000 | -0.166 |
| predicted_H | 1.000 | 0.718 |
| predicted_HR | 0.000 | -0.041 |
| predicted_OBP | 0.333 | 0.173 |
| predicted_R | 0.000 | -0.286 |
| predicted_RBI | 0.000 | -0.158 |
| predicted_SLG | 0.333 | 0.116 |
| predicted_SO | 1.000 | -0.284 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 9.000 | 0.1538 | 0.2143 | 0.1538 | 0.1538 | 0.0000 | 0.0769 | 0.0769 | 0.6923 |
| last_10 | 0.20 | 10 | - | 24.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 17.000 | 0.1250 | 0.1600 | 0.2500 | 0.1250 | 0.0417 | 0.0833 | 0.0417 | 0.7083 |
| season | 0.60 | 32 | - | 80.000 | 13.000 | 4.000 | 1.000 | 1.000 | 5.000 | 9.000 | 5.000 | 39.000 | 0.1625 | 0.2118 | 0.2750 | 0.1625 | 0.0125 | 0.0625 | 0.0625 | 0.4875 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1000 |
| predicted_3B | 0.0190 |
| predicted_AB | 2.8560 |
| predicted_AVG | 0.1786 |
| predicted_BB | 0.1860 |
| predicted_H | 0.5100 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.2310 |
| predicted_R | 0.3070 |
| predicted_RBI | 0.2450 |
| predicted_SLG | 0.2886 |
| predicted_SO | 1.3730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1000 | 0.1157 | model_form_blend |
| predicted_3B | 0.0310 | 0.0190 | 0.0265 | model_form_blend |
| predicted_AB | 2.5000 | 2.8560 | 2.6330 | model_form_blend |
| predicted_AVG | 0.2540 | 0.1786 | 0.2258 | model_form_blend |
| predicted_BB | 0.1560 | 0.1860 | 0.1672 | model_form_blend |
| predicted_H | 0.1500 | 0.5100 | 0.2845 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0300 | 0.0590 | 0.0408 | model_form_blend |
| predicted_OBP | 0.2540 | 0.2310 | 0.2454 | model_form_blend |
| predicted_R | 0.2810 | 0.3070 | 0.2907 | model_form_blend |
| predicted_RBI | 0.1100 | 0.2450 | 0.1604 | model_form_blend |
| predicted_SLG | 0.3000 | 0.2886 | 0.2957 | model_form_blend |
| predicted_SO | 1.2190 | 1.3730 | 1.2765 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 9 |
| Season rows before report date | 9 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.162 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260624_NYY@DET |
| game_type | ph |
| mlbID | 681546 |
| playerID | 681546 |
| playerName | James Outman |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 44.3 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.234 |
| sl_xwoba | 0.212 |
| sl_xba | 0.149 |
| sl_xslg | 0.231 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 34.1 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 18.3 |
| sl_whiff_percent | 41.8 |
| 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.122 | 0.000 | 0.000 | Hitting_2B | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 2.732 | 3.000 | 3.000 | Hitting_AB | 2.954 | 3.000 | 0.046 | 0.000 |
| predicted_AVG | 0.278 | 0.333 | 0.333 | Hitting_AVG | 0.206 | 0.667 | 0.127 | -0.333 |
| predicted_BB | 0.122 | 0.000 | 0.000 | Hitting_BB | 0.207 | 1.000 | -0.207 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 0.690 | 1.000 | 1.000 | Hitting_H | 0.609 | 2.000 | 0.391 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_OBP | 0.321 | 0.333 | 0.333 | Hitting_OBP | 0.258 | 0.750 | 0.075 | -0.417 |
| predicted_R | 0.195 | 0.000 | 0.000 | Hitting_R | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.287 | 0.000 | -0.287 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_SLG | 0.390 | 0.333 | 0.333 | Hitting_SLG | 0.300 | 0.667 | 0.034 | -0.333 |
| predicted_SO | 0.780 | 2.000 | 1.000 | Hitting_SO | 0.862 | 1.000 | 1.138 | 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.7800 -> 2.0000 (boost 1.2200, worse) |
| Biggest Deboost | predicted_RBI: 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 | 2 | 2 | 0 | 2 | 0 | predicted_AB: 2.7320 -> 2.8366 (boost 0.1046, 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.3230 -> 0.2983 (deboost -0.0247, 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.7505 -> 1.0000 (boost 0.2495, better) | predicted_RBI: 0.2483 -> 0.0000 (deboost -0.2483, worse) | AB rounded to 3 (raw=2.84), rates preserved: AVG=0.265 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2126 -> 0.0000 (deboost -0.2126, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2646 -> 0.3330 (boost 0.0684, better) | predicted_SLG: 0.3851 -> 0.3330 (deboost -0.0521, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3851 (boost 0.0521, better) | predicted_AVG: 0.3330 -> 0.2646 (deboost -0.0684, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701678",
"player_name": "Hao-Yu Lee",
"position": "2B",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.122,
"predicted_3B": 0.024,
"predicted_AB": 2.732,
"predicted_AVG": 0.278,
"predicted_BB": 0.122,
"predicted_H": 0.69,
"predicted_HR": 0.06,
"predicted_OBP": 0.321,
"predicted_R": 0.195,
"predicted_RBI": 0.27,
"predicted_SLG": 0.39,
"predicted_SO": 0.78
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1372,
"predicted_3B": 0.0205,
"predicted_AB": 2.8366,
"predicted_AVG": 0.2818,
"predicted_BB": 0.1372,
"predicted_H": 0.7575,
"predicted_HBP": 0.006,
"predicted_HR": 0.0549,
"predicted_OBP": 0.323,
"predicted_R": 0.2161,
"predicted_RBI": 0.2524,
"predicted_SLG": 0.3932,
"predicted_SO": 0.7929
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.1372,
"delta": 0.0152,
"percent_delta": 0.1246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0205,
"delta": -0.0035,
"percent_delta": -0.1458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.732,
"after": 2.8366,
"delta": 0.1046,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2818,
"delta": 0.0038,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.122,
"after": 0.1372,
"delta": 0.0152,
"percent_delta": 0.1246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.7575,
"delta": 0.0675,
"percent_delta": 0.0978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0549,
"delta": -0.0051,
"percent_delta": -0.085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.323,
"delta": 0.002,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.195,
"after": 0.2161,
"delta": 0.0211,
"percent_delta": 0.1082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2524,
"delta": -0.0176,
"percent_delta": -0.0652,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3932,
"delta": 0.0032,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 0.7929,
"delta": 0.0129,
"percent_delta": 0.0165,
"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.732,
"after": 2.8366,
"delta": 0.1046,
"percent_delta": 0.0383,
"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": 41
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1372,
"predicted_3B": 0.0205,
"predicted_AB": 2.8366,
"predicted_AVG": 0.2646,
"predicted_BB": 0.1364,
"predicted_H": 0.7505,
"predicted_HBP": 0.006,
"predicted_HR": 0.0545,
"predicted_OBP": 0.2983,
"predicted_R": 0.2126,
"predicted_RBI": 0.2483,
"predicted_SLG": 0.3851,
"predicted_SO": 0.7973
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1372,
"after": 0.1372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0205,
"after": 0.0205,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8366,
"after": 2.8366,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2818,
"after": 0.2646,
"delta": -0.0172,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1372,
"after": 0.1364,
"delta": -0.0008,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7575,
"after": 0.7505,
"delta": -0.007,
"percent_delta": -0.0092,
"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.0549,
"after": 0.0545,
"delta": -0.0004,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.2983,
"delta": -0.0247,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2161,
"after": 0.2126,
"delta": -0.0035,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2524,
"after": 0.2483,
"delta": -0.0041,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3932,
"after": 0.3851,
"delta": -0.0081,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7929,
"after": 0.7973,
"delta": 0.0044,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.323,
"after": 0.2983,
"delta": -0.0247,
"percent_delta": -0.0765,
"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.265 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.1372,
"after": 0.0,
"delta": -0.1372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0205,
"after": 0.0,
"delta": -0.0205,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8366,
"after": 3.0,
"delta": 0.1634,
"percent_delta": 0.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1364,
"after": 0.0,
"delta": -0.1364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7505,
"after": 1.0,
"delta": 0.2495,
"percent_delta": 0.3324,
"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.0545,
"after": 0.0,
"delta": -0.0545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2483,
"after": 0.0,
"delta": -0.2483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7973,
"after": 1.0,
"delta": 0.2027,
"percent_delta": 0.2542,
"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.7505,
"after": 1.0,
"delta": 0.2495,
"percent_delta": 0.3324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2483,
"after": 0.0,
"delta": -0.2483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2126,
"after": 0.0,
"delta": -0.2126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2126,
"after": 0.0,
"delta": -0.2126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2646,
"after": 0.333,
"delta": 0.0684,
"percent_delta": 0.2585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2983,
"after": 0.333,
"delta": 0.0347,
"percent_delta": 0.1163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3851,
"after": 0.333,
"delta": -0.0521,
"percent_delta": -0.1353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2646,
"after": 0.333,
"delta": 0.0684,
"percent_delta": 0.2585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3851,
"after": 0.333,
"delta": -0.0521,
"percent_delta": -0.1353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2646,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2983,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3851,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2646,
"delta": -0.0684,
"percent_delta": -0.2054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2983,
"delta": -0.0347,
"percent_delta": -0.1041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3851,
"delta": 0.0521,
"percent_delta": 0.1563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3851,
"delta": 0.0521,
"percent_delta": 0.1563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2646,
"delta": -0.0684,
"percent_delta": -0.2054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.732,
"after": 3.0,
"delta": 0.268,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2646,
"delta": -0.0134,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.2983,
"delta": -0.0227,
"percent_delta": -0.0707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.195,
"after": 0.0,
"delta": -0.195,
"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.39,
"after": 0.3851,
"delta": -0.0049,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"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_SO",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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.122 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 2.732 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.122 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.195 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.780 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.137 | 0.015 |
| predicted_3B | 0.021 | -0.003 |
| predicted_AB | 2.837 | 0.105 |
| predicted_AVG | 0.282 | 0.004 |
| predicted_BB | 0.137 | 0.015 |
| predicted_H | 0.757 | 0.068 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.055 | -0.005 |
| predicted_OBP | 0.323 | 0.002 |
| predicted_R | 0.216 | 0.021 |
| predicted_RBI | 0.252 | -0.018 |
| predicted_SLG | 0.393 | 0.003 |
| predicted_SO | 0.793 | 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.137 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 2.837 | 0.000 |
| predicted_AVG | 0.265 | -0.017 |
| predicted_BB | 0.136 | -0.001 |
| predicted_H | 0.750 | -0.007 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.054 | -0.000 |
| predicted_OBP | 0.298 | -0.025 |
| predicted_R | 0.213 | -0.003 |
| predicted_RBI | 0.248 | -0.004 |
| predicted_SLG | 0.385 | -0.008 |
| predicted_SO | 0.797 | 0.004 |
AB rounded to 3 (raw=2.84), rates preserved: AVG=0.265 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.137 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | 0.163 |
| predicted_AVG | 0.333 | 0.068 |
| predicted_BB | 0.000 | -0.136 |
| predicted_H | 1.000 | 0.250 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.333 | 0.035 |
| predicted_R | 0.000 | -0.213 |
| predicted_RBI | 0.000 | -0.248 |
| predicted_SLG | 0.333 | -0.052 |
| predicted_SO | 1.000 | 0.203 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.3571 | 0.4000 | 0.4286 | 0.3571 | 0.0000 | 0.0000 | 0.0714 | 0.2857 |
| last_10 | 0.20 | 10 | - | 29.000 | 11.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.3793 | 0.4000 | 0.4483 | 0.3793 | 0.0000 | 0.0345 | 0.0345 | 0.2759 |
| season | 0.60 | 41 | - | 112.000 | 28.000 | 5.000 | 1.000 | 2.000 | 10.000 | 8.000 | 5.000 | 32.000 | 0.2500 | 0.2821 | 0.3661 | 0.2500 | 0.0179 | 0.0893 | 0.0446 | 0.2857 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1610 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.0000 |
| predicted_AVG | 0.2877 |
| predicted_BB | 0.1610 |
| predicted_H | 0.8630 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.0470 |
| predicted_OBP | 0.3260 |
| predicted_R | 0.2490 |
| predicted_RBI | 0.2250 |
| predicted_SLG | 0.3981 |
| predicted_SO | 0.8130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1220 | 0.1610 | 0.1372 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0205 | model_form_blend |
| predicted_AB | 2.7320 | 3.0000 | 2.8366 | model_form_blend |
| predicted_AVG | 0.2780 | 0.2877 | 0.2818 | model_form_blend |
| predicted_BB | 0.1220 | 0.1610 | 0.1372 | model_form_blend |
| predicted_H | 0.6900 | 0.8630 | 0.7575 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0600 | 0.0470 | 0.0549 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3260 | 0.3230 | model_form_blend |
| predicted_R | 0.1950 | 0.2490 | 0.2161 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2250 | 0.2524 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3981 | 0.3932 | model_form_blend |
| predicted_SO | 0.7800 | 0.8130 | 0.7929 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 41 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 2B |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 701678 |
| playerID | 701678 |
| playerName | Hao-Yu Lee |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-24 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.285 |
| sl_xwoba | 0.282 |
| sl_xba | 0.231 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 32.1 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 49.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 | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.800 | 3.000 | 1.200 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.800 | 1.000 | 1.200 | 2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.200 | 1.000 | 1.800 | 5.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.240 | 6.000 | -0.140 | 0.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 3.800 | 5.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: 4.0000 -> 5.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "675512",
"player_name": "Troy Melton",
"position": "Starter",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"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": 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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_R": 3.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": 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": 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": 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": 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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 5.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 31.200 | 9.000 | 21.000 | 9.000 | 19.000 | 6.000 | 2.5579 | 0.9474 | 0.2842 | 0.6632 | 0.2842 | 0.6000 | 0.1895 |
| last_10 | 0.35 | 5 | 31.200 | 9.000 | 21.000 | 9.000 | 19.000 | 6.000 | 2.5579 | 0.9474 | 0.2842 | 0.6632 | 0.2842 | 0.6000 | 0.1895 |
| season | 0.20 | 5 | 31.200 | 9.000 | 21.000 | 9.000 | 19.000 | 6.000 | 2.5579 | 0.9474 | 0.2842 | 0.6632 | 0.2842 | 0.6000 | 0.1895 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0410 |
| predicted_ER | 2.4820 |
| predicted_ERA | 3.5273 |
| predicted_H | 5.1700 |
| predicted_HR | 1.0630 |
| predicted_IP | 6.1000 |
| predicted_SO | 4.8990 |
| predicted_WHIP | 1.1385 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.0410 | 2.5792 | model_form_blend |
| predicted_ER | 3.0000 | 2.4820 | 2.7727 | model_form_blend |
| predicted_ERA | - | 3.5273 | 3.5273 | form_only |
| predicted_H | 6.0000 | 5.1700 | 5.6358 | model_form_blend |
| predicted_HR | 0.0000 | 1.0630 | 0.4664 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 4.0000 | 4.8990 | 4.3944 | model_form_blend |
| predicted_WHIP | - | 1.1385 | 1.1385 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 5 |
| HR | 0 |
| BF | 28 |
| Pitches | 110 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 23 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.56 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 6 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 84 |
| Pitching_R | 1 |
| Pitching_SO | 5 |
| Pitching_Strikes | 46 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260620_CHW@DET |
| game_type | full |
| mlbID | 675512 |
| playerID | 675512 |
| playerName | Troy Melton |
| pos | P |
| started | True |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-20 |
| sl_k_percent | 15.2 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.279 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 36.8 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 48.6 |
| sl_avg_best_speed | 79.101674792 |
| sl_avg_hyper_speed | 93.858404421 |
| 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.476 | 1.000 | -0.476 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.476 | 1.000 | -0.476 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.790 | 1.000 | 0.210 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.048 | 0.000 | -1.048 | 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": "445276",
"player_name": "Kenley Jansen",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 2.000 | 4.000 | 3.000 | 1.000 | 5.7857 | 1.2857 | 0.6429 | 0.4286 | 0.8571 | 0.6429 | 0.2143 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 2.000 | 5.000 | 12.000 | 1.000 | 2.7931 | 0.7241 | 0.3103 | 0.2069 | 0.5172 | 1.2414 | 0.1035 |
| season | 0.20 | 20 | 18.000 | 6.000 | 9.000 | 9.000 | 22.000 | 3.000 | 3.0000 | 1.0000 | 0.3333 | 0.5000 | 0.5000 | 1.2222 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4880 |
| predicted_ER | 0.4850 |
| predicted_ERA | 4.3654 |
| predicted_H | 0.7180 |
| predicted_HR | 0.1540 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9560 |
| predicted_WHIP | 1.2057 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4880 | 0.1968 | model_form_blend |
| predicted_ER | 0.0000 | 0.4850 | 0.1956 | model_form_blend |
| predicted_ERA | - | 4.3654 | 4.3654 | form_only |
| predicted_H | 0.0000 | 0.7180 | 0.2896 | model_form_blend |
| predicted_HR | 0.0000 | 0.1540 | 0.0621 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9560 | 0.3856 | model_form_blend |
| predicted_WHIP | - | 1.2057 | 1.2057 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 20 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.00 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260620_CHW@DET |
| game_type | full |
| mlbID | 445276 |
| playerID | 445276 |
| playerName | Kenley Jansen |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-20 |
| sl_k_percent | 30.1 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.282 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 29.3 |
| sl_whiff_percent | 29.1 |
| sl_swing_percent | 45.7 |
| sl_avg_best_speed | 72.786985 |
| sl_avg_hyper_speed | 93.371754 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.615 | 0.000 | -0.615 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.923 | 0.000 | -0.923 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.862 | 1.100 | 0.138 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.962 | 2.000 | 0.038 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676684",
"player_name": "Will Vest",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 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 | 1.000 | 2.000 | 2.000 | 2.000 | 0.000 | 1.8000 | 0.8000 | 0.2000 | 0.4000 | 0.4000 | 0.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 7.000 | 11.000 | 4.000 | 9.000 | 1.000 | 5.7273 | 1.3636 | 0.6364 | 1.0000 | 0.3636 | 0.8182 | 0.0909 |
| season | 0.20 | 26 | 25.200 | 16.000 | 24.000 | 10.000 | 25.000 | 2.000 | 5.6104 | 1.3247 | 0.6234 | 0.9351 | 0.3896 | 0.9740 | 0.0779 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3730 |
| predicted_ER | 0.4680 |
| predicted_ERA | 4.2144 |
| predicted_H | 0.8420 |
| predicted_HR | 0.0960 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8030 |
| predicted_WHIP | 1.2150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3730 | 0.1643 | model_form_blend |
| predicted_ER | 0.0000 | 0.4680 | 0.2061 | model_form_blend |
| predicted_ERA | - | 4.2144 | 4.2144 | form_only |
| predicted_H | 0.0000 | 0.8420 | 0.3709 | model_form_blend |
| predicted_HR | 0.0000 | 0.0960 | 0.0423 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8030 | 1.4727 | model_form_blend |
| predicted_WHIP | - | 1.2150 | 1.2150 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 6 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.61 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260622_NYY@DET |
| game_type | full |
| mlbID | 676684 |
| playerID | 676684 |
| playerName | Will Vest |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-22 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.312 |
| sl_xwoba | 0.301 |
| sl_sweet_spot_percent | 19.4 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 36.1 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 78.769656286 |
| sl_avg_hyper_speed | 94.183420571 |
| 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.686 | 0.000 | -0.686 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.886 | 0.000 | -0.886 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.937 | 1.100 | -0.737 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.743 | 4.000 | 0.257 | -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: 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": "640448",
"player_name": "Kyle Finnegan",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 1.000 | 6.000 | 3.000 | 6.000 | 0.000 | 1.5882 | 1.5882 | 0.1765 | 1.0588 | 0.5294 | 1.0588 | 0.0000 |
| last_10 | 0.35 | 10 | 11.100 | 3.000 | 10.000 | 5.000 | 11.000 | 0.000 | 2.3824 | 1.3235 | 0.2647 | 0.8823 | 0.4412 | 0.9706 | 0.0000 |
| season | 0.20 | 34 | 37.000 | 6.000 | 28.000 | 23.000 | 26.000 | 2.000 | 1.4595 | 1.3784 | 0.1622 | 0.7568 | 0.6216 | 0.7027 | 0.0541 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3920 |
| predicted_ER | 0.2800 |
| predicted_ERA | 2.9181 |
| predicted_H | 0.8210 |
| predicted_HR | 0.0570 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8240 |
| predicted_WHIP | 1.4033 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3920 | 0.1876 | model_form_blend |
| predicted_ER | 0.0000 | 0.2800 | 0.1340 | model_form_blend |
| predicted_ERA | - | 2.9181 | 2.9181 | form_only |
| predicted_H | 0.0000 | 0.8210 | 0.3929 | model_form_blend |
| predicted_HR | 0.0000 | 0.0570 | 0.0273 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8240 | 0.9158 | model_form_blend |
| predicted_WHIP | - | 1.4033 | 1.4033 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.95 |
| 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 | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 4 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_NYY@DET |
| game_type | full |
| mlbID | 640448 |
| playerID | 640448 |
| playerName | Kyle Finnegan |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-23 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 15.5 |
| sl_woba | 0.328 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 45.3 |
| sl_avg_best_speed | 78.851867115 |
| sl_avg_hyper_speed | 94.45142233 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | KC 4 - 5 TB | TB | 0.510 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | KC 2 - 6 TB | TB | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 7 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5100 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.443 | 4.401 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 5 | 0.5100 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 4 | 5 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 6 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5134576271186441,
"base_low_score_probability": 0.423728813559322,
"low_score_signal_threshold": 0.503728813559322,
"low_score_signal_strength": 0.08972881355932205,
"confidence": 0.7058800000000001,
"factors": {
"environmental": 1.1016000000000001,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.2117600000000002
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 8,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 12,
"near_bucket_sample_size": 12,
"medium_bucket_sample_size": 12,
"wide_bucket_sample_size": 12,
"global_sample_size": 12,
"bucket_scope": "sparse_near_0.05",
"sparse_bucket": true,
"empirical_hit_rate": 0.3333,
"bayesian_hit_rate": 0.45,
"sample_weight": 0.255,
"prior_strength": 28.0,
"reliability": 0.3,
"confidence_cap": 0.525,
"raw_pick_probability": 0.5319,
"calibrated_pick_probability": 0.5088,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "TB",
"games": 77,
"wins": 44,
"losses": 33,
"win_pct": 0.5714285714285714,
"runs_scored": 338,
"runs_allowed": 336,
"run_differential": 2,
"run_differential_per_game": 0.025974025974025976,
"available": true
},
"away": {
"team": "KC",
"games": 81,
"wins": 34,
"losses": 47,
"win_pct": 0.41975308641975306,
"runs_scored": 348,
"runs_allowed": 386,
"run_differential": -38,
"run_differential_per_game": -0.4691358024691358,
"available": true
},
"run_differential_edge_per_game": 0.4951,
"win_pct_edge": 0.1517,
"quality_edge": 0.7226,
"margin_adjustment": 0.3035,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 3.881,
"home_runs": 3.344,
"home_win_probability": 0.4543
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "KC",
"guardrail_predicted_team": "KC",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "TB",
"output_opponent_team": "KC",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "KC 4 - 5 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "KC 2 - 6 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -2,
"home_run_delta": 1,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": true,
"reasons": [
"season-to-date record and run differential support the home team over a close road lean"
],
"signals": {
"home": {
"team": "TB",
"games": 77,
"wins": 44,
"losses": 33,
"win_pct": 0.5714285714285714,
"runs_scored": 338,
"runs_allowed": 336,
"run_differential": 2,
"run_differential_per_game": 0.025974025974025976,
"available": true
},
"away": {
"team": "KC",
"games": 81,
"wins": 34,
"losses": 47,
"win_pct": 0.41975308641975306,
"runs_scored": 348,
"runs_allowed": 386,
"run_differential": -38,
"run_differential_per_game": -0.4691358024691358,
"available": true
},
"home_quality_edge": 0.2111,
"original_score": {
"away_runs": 3.881,
"home_runs": 3.344,
"home_win_probability": 0.4543
},
"adjusted_score": {
"away_runs": 3.59,
"home_runs": 3.989,
"home_win_probability": 0.5319
}
}
}{
"applied": false,
"raw_margin": 0.3988,
"final_margin": 0.3988,
"margin_cap": 1.5,
"season_quality_edge": 0.7226,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.508812,
"final_confidence": 0.508812,
"confidence_cap": 0.525,
"score_gap": 0.3988,
"calibration_sample_size": 12,
"calibration_empirical_hit_rate": 0.3333,
"calibration_bayesian_hit_rate": 0.45,
"calibration_sparse_bucket": true,
"season_quality_edge": 0.7226,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"historical confidence bucket is sparse",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "KC 4 - 5 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "KC 2 - 6 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -2,
"home_run_delta": 1,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 4,
"home_runs": 5,
"confidence": 0.51,
"home_win_probability": 0.51,
"away_win_probability": 0.49,
"predicted_score_text": "KC 4 - 5 TB",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "KC",
"original_runs": 4,
"run_delta": 0.131,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": 0.08370895105683468,
"contact": 0.1346212851529824,
"power": 0.2696205683339782,
"discipline": -0.00916276091633214,
"xwoba": 0.3216333333333333,
"recent_xwoba": 0.3216333333333333,
"barrel": 9.643333333333334,
"ab_hard_contact": -0.37877593490773936,
"ab_bat_speed": 71.18345176136553,
"ab_strikeout_rate": 0.24164925159956213,
"available_players": 8,
"top_players": [
{
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "1B",
"weight": 4.0,
"quality": 1.0337514753552666,
"contact": 1.3480586503326892,
"power": 1.9196463436058615,
"discipline": -0.5242545351473921,
"xwoba": 0.384,
"recent_xwoba": 0.384,
"barrel": 16.8,
"ab_hard_contact": 0.4976887768791382,
"ab_bat_speed": 75.01769517330742,
"ab_strikeout_rate": 0.31411564625850336,
"available": 1.0
},
{
"player_id": "668942",
"player_name": "Josh Rojas",
"position": "2B",
"weight": 3.0,
"quality": 0.0,
"contact": 0.6082000000000004,
"power": 1.6188952380952384,
"discipline": 0.032214285714285806,
"xwoba": 0.319,
"recent_xwoba": 0.319,
"barrel": 14.3,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.22137681159420292,
"available": 0.0
},
{
"player_id": "686475",
"player_name": "Tyler Tolbert",
"position": "SS",
"weight": 3.0,
"quality": -0.010251795217665552,
"contact": -0.12676338756818467,
"power": -1.001532518914047,
"discipline": 0.13150396825396835,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 5.3,
"ab_hard_contact": -0.928555140185704,
"ab_bat_speed": 69.22999999999999,
"ab_strikeout_rate": 0.2,
"available": 1.0
},
{
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"weight": 3.0,
"quality": -0.15924781707489166,
"contact": -0.17125743889093606,
"power": -0.4762281140523735,
"discipline": 0.38186111111111126,
"xwoba": 0.309,
"recent_xwoba": 0.309,
"barrel": 6.1,
"ab_hard_contact": -0.06627656676176262,
"ab_bat_speed": 71.07328395061728,
"ab_strikeout_rate": 0.27999999999999997,
"available": 1.0
},
{
"player_id": "695600",
"player_name": "Carter Jensen",
"position": "C",
"weight": 4.0,
"quality": -0.20608052393772705,
"contact": -0.3973426188607025,
"power": 0.0303714507893186,
"discipline": -0.26767290249433073,
"xwoba": 0.288,
"recent_xwoba": 0.288,
"barrel": 8.4,
"ab_hard_contact": -0.3455233651660037,
"ab_bat_speed": 72.7519387755102,
"ab_strikeout_rate": 0.3064625850340136,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "668984",
"player_name": "Casey Legumina",
"quality": -0.11979269545005959,
"contact": -0.432223243005,
"command": -0.3256428571428571,
"movement": -0.15164562571258194,
"xwoba": 0.331,
"whiff": 20.9,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "TB",
"original_runs": 5,
"run_delta": 0.4524,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.021919312518854314,
"contact": -0.025274705938154417,
"power": -0.24718510955651987,
"discipline": 0.510337717408151,
"xwoba": 0.315483870967742,
"recent_xwoba": 0.315483870967742,
"barrel": 6.5516129032258075,
"ab_hard_contact": 0.014460635290493025,
"ab_bat_speed": 68.66624672219389,
"ab_strikeout_rate": 0.18184367020065612,
"available_players": 9,
"top_players": [
{
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"weight": 4.0,
"quality": -0.9780672621678929,
"contact": -0.8625432537146438,
"power": -1.647781451084137,
"discipline": 0.5123816526610645,
"xwoba": 0.257,
"recent_xwoba": 0.257,
"barrel": 0.0,
"ab_hard_contact": -1.3080099740636992,
"ab_bat_speed": 62.22826333333333,
"ab_strikeout_rate": 0.09626517273576098,
"available": 1.0
},
{
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"weight": 3.0,
"quality": -0.8972432124564028,
"contact": -1.7041021500995137,
"power": -1.7214402404819493,
"discipline": 0.36492878028404374,
"xwoba": 0.24699999999999997,
"recent_xwoba": 0.247,
"barrel": 2.3,
"ab_hard_contact": -1.3244238572580391,
"ab_bat_speed": 61.07811038011696,
"ab_strikeout_rate": 0.24078947368421053,
"available": 1.0
},
{
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"weight": 4.0,
"quality": 1.0281609333996784,
"contact": 1.1691827198363154,
"power": 1.1039452573883541,
"discipline": 0.8308867521367523,
"xwoba": 0.361,
"recent_xwoba": 0.361,
"barrel": 11.7,
"ab_hard_contact": 1.072809909671847,
"ab_bat_speed": 78.56293650793651,
"ab_strikeout_rate": 0.16254578754578755,
"available": 1.0
},
{
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"weight": 4.0,
"quality": 0.7698439351595958,
"contact": 0.8537418160786581,
"power": 0.7930960143043684,
"discipline": 0.6135570818070819,
"xwoba": 0.365,
"recent_xwoba": 0.365,
"barrel": 10.8,
"ab_hard_contact": 1.2089679051349889,
"ab_bat_speed": 69.23668742368741,
"ab_strikeout_rate": 0.2310897435897436,
"available": 1.0
},
{
"player_id": "656775",
"player_name": "Cedric Mullins",
"position": "CF",
"weight": 3.0,
"quality": -0.6932517586557663,
"contact": -1.127105063758661,
"power": -0.9841588274552546,
"discipline": 0.21603042328042352,
"xwoba": 0.26,
"recent_xwoba": 0.26,
"barrel": 3.4,
"ab_hard_contact": -0.9803194062479498,
"ab_bat_speed": 66.68995943562611,
"ab_strikeout_rate": 0.17925925925925926,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "607625",
"player_name": "Seth Lugo",
"quality": -0.780984422775563,
"contact": -0.9722018913199202,
"command": -0.49164285714285716,
"movement": -1.0177953571816374,
"xwoba": 0.351,
"whiff": 17.9,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Season quality guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 5,
"predicted_score_text": "KC 4 - 5 TB",
"confidence": 0.51,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "KC 4 - 5 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 6,
"score_text": "KC 2 - 6 TB",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -2,
"home_run_delta": 1,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 KC | True | 1.0163 | 1.0163 | 1 | 9 | 0 |
| Home TB | True | 1.0030 | 1.0030 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| C | Carter Jensen | 144 | 0.9849 | -0.2017 | negative_batter_regression | 0.2880 | 0.2170 | 0.3570 | 8.40 | 42.80 | 90.80 | 19.70 | 29.40 | 26.50 | 9.50 | -0.9714 |
| CF | Lane Thomas | 289 | 1.0042 | 0.0567 | neutral | 0.3220 | 0.2410 | 0.3560 | 4.60 | 36.20 | 87.50 | 20.80 | 19.10 | 20.70 | 14.30 | 0.1714 |
| 1B | Jac Caglianone | 46 | 1.1068 | 1.4241 | neutral | 0.3840 | 0.2840 | 0.5410 | 16.80 | 59 | 94 | 8 | 30.40 | 29.50 | 8.40 | 0.6000 |
| 2B | Josh Rojas | 275 | 1.0166 | 0.2219 | negative_batter_regression | 0.3190 | 0.2150 | 0.5480 | 14.30 | 71.40 | 92.90 | 16.50 | 11.10 | 0 | 0 | -2 |
| 3B | Nick Loftin | 233 | 1.0120 | 0.1601 | neutral | 0.3360 | 0.2580 | 0.3920 | 7.10 | 34.50 | 88.20 | 14.40 | 14.80 | 13 | 11 | -0.2857 |
| DH | Salvador Perez | 563 | 1.0070 | 0.0932 | positive_batter_regression | 0.2890 | 0.2270 | 0.3940 | 9.70 | 41.60 | 88.80 | 16.70 | 25 | 19.20 | 3.80 | 0.9714 |
| SS | Tyler Tolbert | 319 | 1.0083 | 0.1109 | positive_batter_regression | 0.3410 | 0.2660 | 0.3040 | 5.30 | 36.80 | 82.90 | -1.70 | 30.60 | 28.10 | 12.50 | 1.4000 |
| LF | Isaac Collins | 511 | 0.9966 | -0.0455 | neutral | 0.3090 | 0.2330 | 0.3240 | 6.10 | 39.60 | 88.40 | 17.90 | 23.60 | 24.10 | 12.40 | 0.2000 |
| RF | Starling Marte | 353 | 1.0102 | 0.1361 | neutral | 0.3080 | 0.2510 | 0.4060 | 12.50 | 37.50 | 89.70 | 7 | 28.70 | 26 | 5.20 | 0.4286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Jonathan Aranda | 149 | 1.0771 | 1.0281 | neutral | 0.3650 | 0.2640 | 0.4570 | 10.80 | 44.60 | 90.80 | 13.90 | 22 | 23.50 | 13.30 | 0 |
| DH | Yandy Díaz | 29 | 1.0637 | 0.8490 | negative_batter_regression | 0.3700 | 0.2920 | 0.4580 | 7.50 | 45.80 | 90.60 | 6.20 | 14.30 | 13.20 | 9.80 | -0.9143 |
| 3B | Junior Caminero | 38 | 1.0793 | 1.0571 | neutral | 0.3610 | 0.2730 | 0.4660 | 11.70 | 51.50 | 93.20 | 6.90 | 22.30 | 17.80 | 13.40 | -0.2857 |
| 2B | Richie Palacios | 245 | 0.9842 | -0.2104 | neutral | 0.2990 | 0.2320 | 0.3120 | 3.30 | 27.30 | 86.60 | 12.80 | 22.30 | 20.20 | 12 | -0.1143 |
| LF | Chandler Simpson | 210 | 0.9165 | -1.1136 | neutral | 0.2570 | 0.2450 | 0.2810 | 0 | 13.30 | 84 | 1.50 | 11 | 10.40 | 5.70 | -0.6000 |
| SS | Taylor Walls | 80 | 0.9305 | -0.9262 | negative_batter_regression | 0.2470 | 0.1790 | 0.2350 | 2.30 | 18.50 | 84.20 | 21.90 | 22.30 | 25.10 | 11.80 | -1.0857 |
| CF | Cedric Mullins | 436 | 0.9446 | -0.7389 | neutral | 0.2600 | 0.1840 | 0.2990 | 3.40 | 30.30 | 88 | 28 | 21.70 | 19.50 | 8.80 | -0.3143 |
| RF | Victor Mesa Jr. | 404 | 1.0346 | 0.4609 | positive_batter_regression | 0.3540 | 0.2610 | 0.4280 | 11.80 | 38.20 | 86.50 | 16.60 | 28.80 | 25 | 14.30 | 2 |
| C | Hunter Feduccia | 314 | 0.9967 | -0.0435 | neutral | 0.2960 | 0.2170 | 0.3370 | 6.90 | 36.20 | 90.70 | 20.30 | 25.20 | 31.70 | 10.60 | 0.2000 |
{
"home": {
"applied": true,
"offense_factor": 1.003,
"raw_average_factor": 1.003,
"team_espn_average_rank": 211.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.0771,
"quality_score": 1.0281,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666018",
"espn_id": 40810,
"player_name": "Jonathan Aranda",
"team": "TB",
"role": "batter",
"espn_rank": 149,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 149,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 277.0,
"ab_rank": 80,
"r_value": 38.0,
"r_rank": 77,
"h_value": 78.0,
"h_rank": 41,
"avg_value": 0.2815884,
"avg_rank": 32.0,
"2b_value": 11.0,
"2b_rank": 128,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 12.0,
"hr_rank": 57,
"rbi_value": 53.0,
"rbi_rank": 10,
"tb_value": 125.0,
"tb_rank": 748,
"bb_value": 44.0,
"bb_rank": 18,
"so_value": 78.0,
"so_rank": 41,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3825301,
"obp_rank": "15",
"slg_value": 0.4512635,
"slg_rank": "59",
"ops_value": 0.8337936,
"ops_rank": 44.0,
"war_value": 0.92,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 23.5,
"bb_percent": 13.3,
"woba": 0.365,
"xwoba": 0.365,
"xba": 0.264,
"xslg": 0.457,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 13.9,
"whiff_percent": 22.0,
"swing_percent": 44.4
},
"components": {
"expected_quality": 1.1955,
"regression_edge": 0.0,
"xwoba_edge": 1.7429,
"xba_edge": 0.6857,
"xslg_edge": 1.1857,
"barrel_edge": 0.8444,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0637,
"quality_score": 0.849,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650490",
"espn_id": 33481,
"player_name": "Yandy Diaz",
"team": "TB",
"role": "batter",
"espn_rank": 29,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 29,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 283.0,
"ab_rank": 64,
"r_value": 40.0,
"r_rank": 64,
"h_value": 94.0,
"h_rank": 3,
"avg_value": 0.3321554,
"avg_rank": 3.0,
"2b_value": 13.0,
"2b_rank": 81,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 12.0,
"hr_rank": 57,
"rbi_value": 51.0,
"rbi_rank": 17,
"tb_value": 145.0,
"tb_rank": 419,
"bb_value": 32.0,
"bb_rank": 58,
"so_value": 43.0,
"so_rank": 191,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.4141104,
"obp_rank": "3",
"slg_value": 0.5123674,
"slg_rank": "20",
"ops_value": 0.9264778,
"ops_rank": 17.0,
"war_value": 2.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 13.2,
"bb_percent": 9.8,
"woba": 0.402,
"xwoba": 0.37,
"xba": 0.292,
"xslg": 0.458,
"sweet_spot_percent": 28.1,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 6.2,
"whiff_percent": 14.3,
"swing_percent": 46.0
},
"components": {
"expected_quality": 1.1637,
"regression_edge": -0.9143,
"xwoba_edge": 1.8857,
"xba_edge": 1.4857,
"xslg_edge": 1.2,
"barrel_edge": 0.1111,
"hard_hit_edge": 1.0714,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.0793,
"quality_score": 1.0571,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691406",
"espn_id": 4905921,
"player_name": "Junior Caminero",
"team": "TB",
"role": "batter",
"espn_rank": 38,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 38,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 290.0,
"ab_rank": 41,
"r_value": 46.0,
"r_rank": 33,
"h_value": 81.0,
"h_rank": 28,
"avg_value": 0.2793103,
"avg_rank": 39.0,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 16.0,
"hr_rank": 27,
"rbi_value": 37.0,
"rbi_rank": 77,
"tb_value": 141.0,
"tb_rank": 616,
"bb_value": 45.0,
"bb_rank": 17,
"so_value": 60.0,
"so_rank": 102,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3738872,
"obp_rank": "22",
"slg_value": 0.4862068,
"slg_rank": "32",
"ops_value": 0.860094,
"ops_rank": 54.0,
"war_value": 2.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 17.8,
"bb_percent": 13.4,
"woba": 0.371,
"xwoba": 0.361,
"xba": 0.273,
"xslg": 0.466,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 51.5,
"exit_velocity_avg": 93.2,
"launch_angle_avg": 6.9,
"whiff_percent": 22.3,
"swing_percent": 41.8
},
"components": {
"expected_quality": 1.2757,
"regression_edge": -0.2857,
"xwoba_edge": 1.6286,
"xba_edge": 0.9429,
"xslg_edge": 1.3143,
"barrel_edge": 1.0444,
"hard_hit_edge": 1.8857,
"exit_velocity_edge": 1.76,
"sweet_spot_edge": -1.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "680700",
"player_name": "Richie Palacios",
"offense_factor": 0.9842,
"quality_score": -0.2104,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680700",
"espn_id": 41359,
"player_name": "Richie Palacios",
"team": "TB",
"role": "batter",
"espn_rank": 245,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 245,
"gp_value": 56.0,
"gp_rank": 223,
"ab_value": 157.0,
"ab_rank": 247,
"r_value": 22.0,
"r_rank": 209,
"h_value": 37.0,
"h_rank": 237,
"avg_value": 0.2356687,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 21.0,
"rbi_rank": 220,
"tb_value": 50.0,
"tb_rank": 1648,
"bb_value": 22.0,
"bb_rank": 145,
"so_value": 37.0,
"so_rank": 240,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.3387978,
"obp_rank": "-",
"slg_value": 0.3184713,
"slg_rank": "-",
"ops_value": 0.6572691,
"ops_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 20.2,
"bb_percent": 12.0,
"woba": 0.303,
"xwoba": 0.299,
"xba": 0.232,
"xslg": 0.312,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 27.3,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 12.8,
"whiff_percent": 22.3,
"swing_percent": 44.9
},
"components": {
"expected_quality": -0.4578,
"regression_edge": -0.1143,
"xwoba_edge": -0.1429,
"xba_edge": -0.2286,
"xslg_edge": -0.8857,
"barrel_edge": -0.8222,
"hard_hit_edge": -1.5714,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "802415",
"player_name": "Chandler Simpson",
"offense_factor": 0.9165,
"quality_score": -1.1136,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802415",
"espn_id": 4679983,
"player_name": "Chandler Simpson",
"team": "TB",
"role": "batter",
"espn_rank": 210,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 210,
"gp_value": 75.0,
"gp_rank": 79,
"ab_value": 275.0,
"ab_rank": 82,
"r_value": 33.0,
"r_rank": 116,
"h_value": 73.0,
"h_rank": 64,
"avg_value": 0.2654545,
"avg_rank": 59.0,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 4.0,
"3b_rank": 5,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 15.0,
"rbi_rank": 276,
"tb_value": 86.0,
"tb_rank": 1717,
"bb_value": 17.0,
"bb_rank": 193,
"so_value": 31.0,
"so_rank": 285,
"sb_value": 19.0,
"sb_rank": 6,
"obp_value": 0.3061224,
"obp_rank": "128",
"slg_value": 0.3127272,
"slg_rank": "157",
"ops_value": 0.6188496,
"ops_rank": 29.0,
"war_value": 0.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 10.4,
"bb_percent": 5.7,
"woba": 0.278,
"xwoba": 0.257,
"xba": 0.245,
"xslg": 0.281,
"sweet_spot_percent": 24.4,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 13.3,
"exit_velocity_avg": 84.0,
"launch_angle_avg": 1.5,
"whiff_percent": 11.0,
"swing_percent": 45.9
},
"components": {
"expected_quality": -1.2212,
"regression_edge": -0.6,
"xwoba_edge": -1.3429,
"xba_edge": 0.1429,
"xslg_edge": -1.3286,
"barrel_edge": -1.5556,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.92,
"sweet_spot_edge": -1.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670764",
"player_name": "Taylor Walls",
"offense_factor": 0.9305,
"quality_score": -0.9262,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670764",
"espn_id": 40576,
"player_name": "Taylor Walls",
"team": "TB",
"role": "batter",
"espn_rank": 80,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 80,
"gp_value": 60.0,
"gp_rank": 197,
"ab_value": 176.0,
"ab_rank": 221,
"r_value": 27.0,
"r_rank": 168,
"h_value": 39.0,
"h_rank": 227,
"avg_value": 0.2215909,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 18.0,
"rbi_rank": 249,
"tb_value": 52.0,
"tb_rank": 1807,
"bb_value": 25.0,
"bb_rank": 104,
"so_value": 53.0,
"so_rank": 140,
"sb_value": 12.0,
"sb_rank": 26,
"obp_value": 0.3219512,
"obp_rank": "-",
"slg_value": 0.2954545,
"slg_rank": "-",
"ops_value": 0.6174057,
"ops_rank": null,
"war_value": 1.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 139.0,
"k_percent": 25.1,
"bb_percent": 11.8,
"woba": 0.285,
"xwoba": 0.247,
"xba": 0.179,
"xslg": 0.235,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 18.5,
"exit_velocity_avg": 84.2,
"launch_angle_avg": 21.9,
"whiff_percent": 22.3,
"swing_percent": 42.8
},
"components": {
"expected_quality": -1.5278,
"regression_edge": -1.0857,
"xwoba_edge": -1.6286,
"xba_edge": -1.7429,
"xslg_edge": -1.9857,
"barrel_edge": -1.0444,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.84,
"sweet_spot_edge": -0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "656775",
"player_name": "Cedric Mullins",
"offense_factor": 0.9446,
"quality_score": -0.7389,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656775",
"espn_id": 35578,
"player_name": "Cedric Mullins",
"team": "TB",
"role": "batter",
"espn_rank": 436,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 436,
"gp_value": 67.0,
"gp_rank": 161,
"ab_value": 226.0,
"ab_rank": 142,
"r_value": 24.0,
"r_rank": 192,
"h_value": 45.0,
"h_rank": 195,
"avg_value": 0.199115,
"avg_rank": 159.0,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 22.0,
"rbi_rank": 206,
"tb_value": 69.0,
"tb_rank": 1191,
"bb_value": 23.0,
"bb_rank": 130,
"so_value": 51.0,
"so_rank": 150,
"sb_value": 12.0,
"sb_rank": 26,
"obp_value": 0.2862745,
"obp_rank": "149",
"slg_value": 0.3053097,
"slg_rank": "159",
"ops_value": 0.5915842,
"ops_rank": 308.0,
"war_value": -0.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 19.5,
"bb_percent": 8.8,
"woba": 0.271,
"xwoba": 0.26,
"xba": 0.184,
"xslg": 0.299,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 30.3,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 28.0,
"whiff_percent": 21.7,
"swing_percent": 49.4
},
"components": {
"expected_quality": -1.0228,
"regression_edge": -0.3143,
"xwoba_edge": -1.2571,
"xba_edge": -1.6,
"xslg_edge": -1.0714,
"barrel_edge": -0.8,
"hard_hit_edge": -1.1429,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.8333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"offense_factor": 1.0346,
"quality_score": 0.4609,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683748",
"espn_id": 4917849,
"player_name": "Victor Mesa Jr.",
"team": "TB",
"role": "batter",
"espn_rank": 404,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 404,
"gp_value": 19.0,
"gp_rank": 429,
"ab_value": 47.0,
"ab_rank": 432,
"r_value": 7.0,
"r_rank": 397,
"h_value": 8.0,
"h_rank": 446,
"avg_value": 0.1702127,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 495,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 5.0,
"rbi_rank": 416,
"tb_value": 14.0,
"tb_rank": 2303,
"bb_value": 8.0,
"bb_rank": 334,
"so_value": 14.0,
"so_rank": 419,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.290909,
"obp_rank": "-",
"slg_value": 0.2978723,
"slg_rank": "-",
"ops_value": 0.5887813,
"ops_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 11.0,
"k_percent": 25.0,
"bb_percent": 14.3,
"woba": 0.274,
"xwoba": 0.354,
"xba": 0.261,
"xslg": 0.428,
"sweet_spot_percent": 41.2,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 16.6,
"whiff_percent": 28.8,
"swing_percent": 50.9
},
"components": {
"expected_quality": 0.8655,
"regression_edge": 2.0,
"xwoba_edge": 1.4286,
"xba_edge": 0.6,
"xslg_edge": 0.7714,
"barrel_edge": 1.0667,
"hard_hit_edge": -0.0143,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 1.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"offense_factor": 0.9967,
"quality_score": -0.0435,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676439",
"espn_id": 41801,
"player_name": "Hunter Feduccia",
"team": "TB",
"role": "batter",
"espn_rank": 314,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 314,
"gp_value": 42.0,
"gp_rank": 315,
"ab_value": 89.0,
"ab_rank": 355,
"r_value": 11.0,
"r_rank": 343,
"h_value": 21.0,
"h_rank": 342,
"avg_value": 0.235955,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 366,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 7.0,
"rbi_rank": 375,
"tb_value": 27.0,
"tb_rank": 2235,
"bb_value": 11.0,
"bb_rank": 278,
"so_value": 33.0,
"so_rank": 266,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3235294,
"obp_rank": "-",
"slg_value": 0.3033707,
"slg_rank": "-",
"ops_value": 0.6269001,
"ops_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 69.0,
"k_percent": 31.7,
"bb_percent": 10.6,
"woba": 0.289,
"xwoba": 0.296,
"xba": 0.217,
"xslg": 0.337,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 20.3,
"whiff_percent": 25.2,
"swing_percent": 46.0
},
"components": {
"expected_quality": -0.1449,
"regression_edge": 0.2,
"xwoba_edge": -0.2286,
"xba_edge": -0.6571,
"xslg_edge": -0.5286,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.3,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.95,
"launch_angle_hr_bonus": 0.45
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0163,
"raw_average_factor": 1.0163,
"team_espn_average_rank": 303.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "C",
"player_id": "695600",
"player_name": "Carter Jensen",
"offense_factor": 0.9849,
"quality_score": -0.2017,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695600",
"espn_id": 4917812,
"player_name": "Carter Jensen",
"team": "KC",
"role": "batter",
"espn_rank": 144,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 144,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 250.0,
"ab_rank": 113,
"r_value": 38.0,
"r_rank": 77,
"h_value": 61.0,
"h_rank": 116,
"avg_value": 0.244,
"avg_rank": 99.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 40.0,
"rbi_rank": 57,
"tb_value": 107.0,
"tb_rank": 801,
"bb_value": 27.0,
"bb_rank": 92,
"so_value": 75.0,
"so_rank": 48,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3144876,
"obp_rank": "112",
"slg_value": 0.428,
"slg_rank": "79",
"ops_value": 0.7424876,
"ops_rank": 191.0,
"war_value": 0.95,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 26.5,
"bb_percent": 9.5,
"woba": 0.322,
"xwoba": 0.288,
"xba": 0.217,
"xslg": 0.357,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 42.8,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 19.7,
"whiff_percent": 29.4,
"swing_percent": 44.3
},
"components": {
"expected_quality": -0.1223,
"regression_edge": -0.9714,
"xwoba_edge": -0.4571,
"xba_edge": -0.6571,
"xslg_edge": -0.2429,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.6429,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.45,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "657041",
"player_name": "Lane Thomas",
"offense_factor": 1.0042,
"quality_score": 0.0567,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657041",
"espn_id": 36409,
"player_name": "Lane Thomas",
"team": "KC",
"role": "batter",
"espn_rank": 289,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 289,
"gp_value": 66.0,
"gp_rank": 164,
"ab_value": 170.0,
"ab_rank": 229,
"r_value": 19.0,
"r_rank": 236,
"h_value": 38.0,
"h_rank": 234,
"avg_value": 0.2235294,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 22.0,
"rbi_rank": 206,
"tb_value": 60.0,
"tb_rank": 1452,
"bb_value": 29.0,
"bb_rank": 74,
"so_value": 42.0,
"so_rank": 203,
"sb_value": 3.0,
"sb_rank": 161,
"obp_value": 0.3399014,
"obp_rank": "-",
"slg_value": 0.3529411,
"slg_rank": "-",
"ops_value": 0.6928425,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 20.7,
"bb_percent": 14.3,
"woba": 0.316,
"xwoba": 0.322,
"xba": 0.241,
"xslg": 0.356,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 20.8,
"whiff_percent": 19.1,
"swing_percent": 40.6
},
"components": {
"expected_quality": 0.1004,
"regression_edge": 0.1714,
"xwoba_edge": 0.5143,
"xba_edge": 0.0286,
"xslg_edge": -0.2571,
"barrel_edge": -0.5333,
"hard_hit_edge": -0.3,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "695506",
"player_name": "Jac Caglianone",
"offense_factor": 1.1068,
"quality_score": 1.4241,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695506",
"espn_id": 4926296,
"player_name": "Jac Caglianone",
"team": "KC",
"role": "batter",
"espn_rank": 46,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 46,
"gp_value": 75.0,
"gp_rank": 79,
"ab_value": 257.0,
"ab_rank": 107,
"r_value": 39.0,
"r_rank": 76,
"h_value": 70.0,
"h_rank": 73,
"avg_value": 0.2723735,
"avg_rank": 45.0,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 14.0,
"hr_rank": 34,
"rbi_value": 30.0,
"rbi_rank": 128,
"tb_value": 126.0,
"tb_rank": 438,
"bb_value": 24.0,
"bb_rank": 114,
"so_value": 84.0,
"so_rank": 22,
"sb_value": 3.0,
"sb_rank": 161,
"obp_value": 0.3438596,
"obp_rank": "60",
"slg_value": 0.4902723,
"slg_rank": "30",
"ops_value": 0.8341319,
"ops_rank": 90.0,
"war_value": 2.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 178.0,
"k_percent": 29.5,
"bb_percent": 8.4,
"woba": 0.363,
"xwoba": 0.384,
"xba": 0.284,
"xslg": 0.541,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 16.8,
"hard_hit_percent": 59.0,
"exit_velocity_avg": 94.0,
"launch_angle_avg": 8.0,
"whiff_percent": 30.4,
"swing_percent": 50.3
},
"components": {
"expected_quality": 1.949,
"regression_edge": 0.6,
"xwoba_edge": 2.2857,
"xba_edge": 1.2571,
"xslg_edge": 2.3857,
"barrel_edge": 2.1778,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.08,
"sweet_spot_edge": 0.9,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "668942",
"player_name": "Josh Rojas",
"offense_factor": 1.0166,
"quality_score": 0.2219,
"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": 275,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 275,
"gp_value": 4.0,
"gp_rank": 550,
"ab_value": 7.0,
"ab_rank": 545,
"r_value": 2.0,
"r_rank": 482,
"h_value": 3.0,
"h_rank": 514,
"avg_value": 0.4285714,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 449,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 4.0,
"rbi_rank": 439,
"tb_value": 7.0,
"tb_rank": 2490,
"bb_value": 0.0,
"bb_rank": 533,
"so_value": 0.0,
"so_rank": 569,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.4285714,
"obp_rank": "-",
"slg_value": 1.0,
"slg_rank": "-",
"ops_value": 1.4285713,
"ops_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 0.0,
"bb_percent": 0.0,
"woba": 0.601,
"xwoba": 0.319,
"xba": 0.215,
"xslg": 0.548,
"sweet_spot_percent": 14.3,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 71.4,
"exit_velocity_avg": 92.9,
"launch_angle_avg": 16.5,
"whiff_percent": 11.1,
"swing_percent": 42.9
},
"components": {
"expected_quality": 0.8991,
"regression_edge": -2.0,
"xwoba_edge": 0.4286,
"xba_edge": -0.7143,
"xslg_edge": 2.4857,
"barrel_edge": 1.6222,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.64,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "679845",
"player_name": "Nick Loftin",
"offense_factor": 1.012,
"quality_score": 0.1601,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679845",
"espn_id": 4314013,
"player_name": "Nick Loftin",
"team": "KC",
"role": "batter",
"espn_rank": 233,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 233,
"gp_value": 45.0,
"gp_rank": 297,
"ab_value": 129.0,
"ab_rank": 280,
"r_value": 21.0,
"r_rank": 221,
"h_value": 33.0,
"h_rank": 265,
"avg_value": 0.2558139,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 24.0,
"rbi_rank": 188,
"tb_value": 56.0,
"tb_rank": 1308,
"bb_value": 17.0,
"bb_rank": 193,
"so_value": 20.0,
"so_rank": 373,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3529411,
"obp_rank": "-",
"slg_value": 0.4341085,
"slg_rank": "-",
"ops_value": 0.7870496,
"ops_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 66.0,
"k_percent": 13.0,
"bb_percent": 11.0,
"woba": 0.346,
"xwoba": 0.336,
"xba": 0.258,
"xslg": 0.392,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 14.4,
"whiff_percent": 14.8,
"swing_percent": 41.0
},
"components": {
"expected_quality": 0.4602,
"regression_edge": -0.2857,
"xwoba_edge": 0.9143,
"xba_edge": 0.5143,
"xslg_edge": 0.2571,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.5429,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.8,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "521692",
"player_name": "Salvador Perez",
"offense_factor": 1.007,
"quality_score": 0.0932,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "521692",
"espn_id": 31127,
"player_name": "Salvador Perez",
"team": "KC",
"role": "batter",
"espn_rank": 563,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 563,
"gp_value": 75.0,
"gp_rank": 79,
"ab_value": 295.0,
"ab_rank": 30,
"r_value": 29.0,
"r_rank": 154,
"h_value": 60.0,
"h_rank": 121,
"avg_value": 0.2033898,
"avg_rank": 156.0,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 30.0,
"rbi_rank": 128,
"tb_value": 99.0,
"tb_rank": 953,
"bb_value": 12.0,
"bb_rank": 267,
"so_value": 61.0,
"so_rank": 100,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2460567,
"obp_rank": "163",
"slg_value": 0.3355932,
"slg_rank": "149",
"ops_value": 0.5816499,
"ops_rank": 312.0,
"war_value": -0.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 218.0,
"k_percent": 19.2,
"bb_percent": 3.8,
"woba": 0.255,
"xwoba": 0.289,
"xba": 0.227,
"xslg": 0.394,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 41.6,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 16.7,
"whiff_percent": 25.0,
"swing_percent": 57.6
},
"components": {
"expected_quality": -0.0487,
"regression_edge": 0.9714,
"xwoba_edge": -0.4286,
"xba_edge": -0.3714,
"xslg_edge": 0.2857,
"barrel_edge": 0.6,
"hard_hit_edge": 0.4714,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "686475",
"player_name": "Tyler Tolbert",
"offense_factor": 1.0083,
"quality_score": 0.1109,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686475",
"espn_id": 4151063,
"player_name": "Tyler Tolbert",
"team": "KC",
"role": "batter",
"espn_rank": 319,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 319,
"gp_value": 23.0,
"gp_rank": 411,
"ab_value": 26.0,
"ab_rank": 488,
"r_value": 9.0,
"r_rank": 363,
"h_value": 7.0,
"h_rank": 461,
"avg_value": 0.2692307,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 495,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 1.0,
"rbi_rank": 506,
"tb_value": 7.0,
"tb_rank": 2726,
"bb_value": 4.0,
"bb_rank": 416,
"so_value": 9.0,
"so_rank": 470,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.3548387,
"obp_rank": "-",
"slg_value": 0.2692307,
"slg_rank": "-",
"ops_value": 0.6240694,
"ops_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 6.0,
"k_percent": 28.1,
"bb_percent": 12.5,
"woba": 0.292,
"xwoba": 0.341,
"xba": 0.266,
"xslg": 0.304,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 36.8,
"exit_velocity_avg": 82.9,
"launch_angle_avg": -1.7,
"whiff_percent": 30.6,
"swing_percent": 54.4
},
"components": {
"expected_quality": 0.0587,
"regression_edge": 1.4,
"xwoba_edge": 1.0571,
"xba_edge": 0.7429,
"xslg_edge": -1.0,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.2143,
"exit_velocity_edge": -2.36,
"sweet_spot_edge": -0.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "686555",
"player_name": "Isaac Collins",
"offense_factor": 0.9966,
"quality_score": -0.0455,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686555",
"espn_id": 42959,
"player_name": "Isaac Collins",
"team": "KC",
"role": "batter",
"espn_rank": 511,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 511,
"gp_value": 71.0,
"gp_rank": 129,
"ab_value": 224.0,
"ab_rank": 146,
"r_value": 28.0,
"r_rank": 158,
"h_value": 51.0,
"h_rank": 160,
"avg_value": 0.2276785,
"avg_rank": 133.0,
"2b_value": 11.0,
"2b_rank": 128,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 23.0,
"rbi_rank": 197,
"tb_value": 71.0,
"tb_rank": 1476,
"bb_value": 33.0,
"bb_rank": 53,
"so_value": 64.0,
"so_rank": 90,
"sb_value": 4.0,
"sb_rank": 133,
"obp_value": 0.3371212,
"obp_rank": "75",
"slg_value": 0.3169642,
"slg_rank": "156",
"ops_value": 0.6540854,
"ops_rank": 81.0,
"war_value": -0.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 24.1,
"bb_percent": 12.4,
"woba": 0.302,
"xwoba": 0.309,
"xba": 0.233,
"xslg": 0.324,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 39.6,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 17.9,
"whiff_percent": 23.6,
"swing_percent": 39.1
},
"components": {
"expected_quality": -0.0987,
"regression_edge": 0.2,
"xwoba_edge": 0.1429,
"xba_edge": -0.2,
"xslg_edge": -0.7143,
"barrel_edge": -0.2,
"hard_hit_edge": 0.1857,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "516782",
"player_name": "Starling Marte",
"offense_factor": 1.0102,
"quality_score": 0.1361,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "516782",
"espn_id": 30830,
"player_name": "Starling Marte",
"team": "KC",
"role": "batter",
"espn_rank": 353,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 353,
"gp_value": 35.0,
"gp_rank": 344,
"ab_value": 87.0,
"ab_rank": 358,
"r_value": 8.0,
"r_rank": 377,
"h_value": 23.0,
"h_rank": 327,
"avg_value": 0.2643678,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 7.0,
"rbi_rank": 375,
"tb_value": 30.0,
"tb_rank": 2179,
"bb_value": 5.0,
"bb_rank": 394,
"so_value": 25.0,
"so_rank": 321,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.3448275,
"slg_rank": "-",
"ops_value": 0.6573275,
"ops_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 54.0,
"k_percent": 26.0,
"bb_percent": 5.2,
"woba": 0.293,
"xwoba": 0.308,
"xba": 0.251,
"xslg": 0.406,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 7.0,
"whiff_percent": 28.7,
"swing_percent": 50.4
},
"components": {
"expected_quality": 0.2818,
"regression_edge": 0.4286,
"xwoba_edge": 0.1143,
"xba_edge": 0.3143,
"xslg_edge": 0.4571,
"barrel_edge": 1.2222,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -0.0833,
"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 KC | True | 69 | -0.6931 | 1 | 1.0589 | 0.9306 | 0.9740 | 1.1107 | neutral | 0.3510 | 0.3290 | 18.50 | 7.80 | 17.90 | 10.30 | 42.40 | |
| Home TB | True | 230 | -0.1136 | 0.4500 | 1.0097 | 0.9734 | 0.9658 | 1.0073 | neutral | 0.3310 | 0.3330 | 17.30 | 5.30 | 20.90 | 7.40 | 37.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away KC | True | None | 90 | 85.68 | 2493 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2279 | |
| Home TB | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0044 |
| home_runs_vs_away_pitcher | 1.0589 |
| home_pitcher_quality_edge | 0.5795 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "668984",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 17.3,
"bb_percent": 5.3,
"woba": 0.333,
"xwoba": 0.331,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 37.9,
"avg_best_speed": 75.3842,
"avg_hyper_speed": 93.3128,
"whiff_percent": 20.9,
"swing_percent": 51.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2732,
"command_and_miss": -0.4046,
"regression_edge": 0.0571,
"xwoba_edge": -0.4714,
"barrel_edge": -0.0556,
"hard_hit_edge": 0.0571,
"whiff_edge": -0.7071,
"bb_edge": 0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668984",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1136,
"sample_weight": 0.45,
"run_prevention_factor": 1.0097,
"strikeout_factor": 0.9734,
"walk_factor": 0.9658,
"homer_factor": 1.0073,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668984",
"espn_id": 4346117,
"player_name": "Casey Legumina",
"team": "TB",
"role": "pitcher",
"espn_rank": 230,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 230,
"gp_value": 24.0,
"gp_rank": 158,
"gs_value": 1.0,
"gs_rank": 247,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.4468,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 3.0,
"hld_rank": 147,
"ip_value": 31.1,
"ip_rank": 267,
"h_value": 35.0,
"h_rank": 186,
"er_value": 12.0,
"er_rank": 294,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 7.0,
"bb_rank": 417,
"k_value": 23.0,
"k_rank": 346,
"k_per_9_value": 6.606383,
"k_per_9_rank": 34,
"whip_value": 1.3404,
"whip_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "607625",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 272.0,
"k_percent": 18.5,
"bb_percent": 7.8,
"woba": 0.329,
"xwoba": 0.351,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 42.4,
"avg_best_speed": 80.1775,
"avg_hyper_speed": 94.6633,
"whiff_percent": 17.9,
"swing_percent": 47.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.8131,
"command_and_miss": -0.6025,
"regression_edge": -0.6286,
"xwoba_edge": -1.0429,
"barrel_edge": -0.7,
"hard_hit_edge": -0.5857,
"whiff_edge": -1.1357,
"bb_edge": 0.325,
"pitch_design_score": -0.2279
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607625",
"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": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.6808,
"release_spin_rate": 2492.7299,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2279,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6282,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6931,
"sample_weight": 1.0,
"run_prevention_factor": 1.0589,
"strikeout_factor": 0.9306,
"walk_factor": 0.974,
"homer_factor": 1.1107,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607625",
"espn_id": 34873,
"player_name": "Seth Lugo",
"team": "KC",
"role": "pitcher",
"espn_rank": 69,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 69,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 15.0,
"gs_rank": 41,
"qs_value": 9.0,
"qs_rank": 11,
"era_value": 3.6914,
"era_rank": 33.0,
"w_value": 3.0,
"w_rank": 120,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 85.1,
"ip_rank": 42,
"h_value": 87.0,
"h_rank": 15,
"er_value": 35.0,
"er_rank": 69,
"hr_value": 7.0,
"hr_rank": 120,
"bb_value": 28.0,
"bb_rank": 50,
"k_value": 66.0,
"k_rank": 73,
"k_per_9_value": 6.9609375,
"k_per_9_rank": 46,
"whip_value": 1.3476,
"whip_rank": 53.0,
"war_value": 1.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0044,
"home_runs_vs_away_pitcher": 1.0589,
"home_pitcher_quality_edge": 0.5795
},
"score_before": {
"away_runs": 4.0,
"home_runs": 3.0
},
"score_after": {
"away_runs": 4.0175,
"home_runs": 3.1767,
"home_win_probability": 0.439
},
"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 KC | 16-53 | 0.232 | 1.30 | 3.80 | -170 | cold | average | |
| Home TB | 12-50 | 0.194 | 0.90 | 3.10 | -132 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away KC | 34-47 | 0.420 | -38 | -0.469 | True |
| Home TB | 44-33 | 0.571 | 2 | 0.026 | True |
| Signal | - | - | 0.495 | 0.723 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target KC | - | - | 4 | - | - | - | - |
| Game target TB | - | - | 5 | - | - | - | - |
| Player finalized KC | 30 | 9 | 4 | 0 | 2 | 0 | 8 |
| Player finalized TB | 31 | 9 | 3 | 0 | 3 | 1 | 8 |
| Player model fractional KC | 29.24 | 6.31 | 4.34 | 0.95 | 3.58 | 2.62 | 6.83 |
| Player model fractional TB | 31.33 | 7.17 | 4.06 | 0.75 | 3.48 | 3.76 | 7.11 |
| Simulation box KC | 33 | 6 | 2 | 0 | 2 | 2 | 15 |
| Simulation box TB | 32 | 9 | 6 | 0 | 6 | 4 | 10 |
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 KC | Starter | Seth Lugo | 5.10 | 4 | 6 | 5 | 3 | 4.29 | 1.37 | True |
| Away KC | Middle Reliever | Alex Lange | 1 | 1 | 1 | 1 | 0 | 3.64 | 1.35 | True |
| Away KC | Middle Reliever | Daniel Lynch IV | 1 | 0 | 1 | 1 | 0 | 4.34 | 1.05 | True |
| Away KC | Middle Reliever | John Schreiber | 0.20 | 0 | 2 | 0 | 0 | 3.04 | 1.03 | True |
| Away KC | Middle Reliever | Lucas Erceg | 0 | 0 | 0 | 0 | 0 | 4.07 | 1.41 | True |
| Away KC | Middle Reliever | Matt Strahm | 0 | 1 | 0 | 2 | 1 | 8.36 | 1.70 | True |
| Home TB | Starter | Casey Legumina | 5 | 2 | 8 | 5 | 1 | 3.75 | 1.23 | True |
| Home TB | Middle Reliever | Bryan Baker | 1 | 0 | 1 | 0 | 0 | 2.85 | 0.86 | True |
| Home TB | Middle Reliever | Cam Booser | 1 | 0 | 1 | 1 | 0 | 3.72 | 1.28 | True |
| Home TB | Middle Reliever | Garrett Cleavinger | 1 | 0 | 3 | 0 | 1 | 3.67 | 1.09 | True |
| Home TB | Middle Reliever | Kevin Kelly | 1 | 0 | 2 | 0 | 0 | 3.29 | 1.19 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | KC | batter | RF | Starling Marte | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 3.2190 | boost | worse |
| away | KC | pitcher | Starter | Seth Lugo | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 3.0000 | boost | better |
| home | TB | batter | RF | Victor Mesa Jr. | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 2.6500 | boost | better |
| home | TB | batter | LF | Chandler Simpson | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.5630 | boost | worse |
| away | KC | batter | LF | Isaac Collins | worse | 10 | 5 | 5 | 4 | 6 | predicted_H | 2.2200 | boost | better |
| away | KC | batter | DH | Salvador Perez | worse | 10 | 1 | 9 | 0 | 10 | predicted_SO | 2.1890 | boost | worse |
| away | KC | pitcher | Middle Reliever | Lucas Erceg | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -2.0000 | deboost | worse |
| away | KC | batter | 3B | Nick Loftin | better | 10 | 7 | 3 | 6 | 4 | predicted_SO | 1.5350 | boost | worse |
| away | KC | batter | 2B | Josh Rojas | worse | 9 | 2 | 7 | 2 | 7 | predicted_AB | 1.5000 | boost | better |
| away | KC | batter | CF | Lane Thomas | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.3110 | boost | worse |
| home | TB | batter | SS | Taylor Walls | better | 9 | 6 | 3 | 5 | 4 | predicted_H | 1.2700 | boost | better |
| home | TB | batter | DH | Yandy Díaz | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -1.2400 | deboost | worse |
| home | TB | batter | 3B | Junior Caminero | worse | 9 | 3 | 6 | 2 | 7 | predicted_SO | 1.2210 | boost | worse |
| home | TB | batter | CF | Cedric Mullins | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.2100 | boost | better |
| away | KC | pitcher | Middle Reliever | Matt Strahm | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | KC | batter | C | Carter Jensen | worse | 9 | 2 | 7 | 2 | 7 | predicted_H | -0.9800 | deboost | worse |
| home | TB | batter | 1B | Jonathan Aranda | worse | 10 | 4 | 6 | 4 | 6 | predicted_H | 0.9400 | boost | better |
| home | TB | batter | C | Hunter Feduccia | better | 10 | 5 | 5 | 6 | 4 | predicted_SO | -0.9270 | deboost | better |
| away | KC | batter | SS | Tyler Tolbert | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | 0.8200 | boost | better |
| away | KC | batter | 1B | Jac Caglianone | worse | 11 | 1 | 10 | 2 | 9 | predicted_BB | 0.6890 | boost | better |
| away | KC | pitcher | Middle Reliever | John Schreiber | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | TB | batter | 2B | Richie Palacios | worse | 9 | 1 | 8 | 0 | 9 | predicted_BB | -0.4150 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Seth Lugo |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6931 |
| ESPN Rank | 69 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2279 |
| Avg Velo | 85.6808 |
| Avg Spin | 2492.7299 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 4 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 3.6914 |
| Season WHIP | 1.3477 |
| Role Avg IP | 5.6890 |
| Recent Avg IP | 5.3330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"opponent": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"edges": {
"quality_edge": -0.1295,
"offense_edge": -0.0795,
"opponent_offense_edge": -0.0753,
"defense_strength": -0.0542,
"opponent_defense_weakness": -0.0576,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 0.9998,
"strikeout": 1.0021
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607625",
"profile": {
"available": true,
"pitcher_id": "607625",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 272.0,
"k_percent": 18.5,
"bb_percent": 7.8,
"woba": 0.329,
"xwoba": 0.351,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 42.4,
"avg_best_speed": 80.1775,
"avg_hyper_speed": 94.6633,
"whiff_percent": 17.9,
"swing_percent": 47.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.8131,
"command_and_miss": -0.6025,
"regression_edge": -0.6286,
"xwoba_edge": -1.0429,
"barrel_edge": -0.7,
"hard_hit_edge": -0.5857,
"whiff_edge": -1.1357,
"bb_edge": 0.325,
"pitch_design_score": -0.2279
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607625",
"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": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.6808,
"release_spin_rate": 2492.7299,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2279,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6282,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6931,
"sample_weight": 1.0,
"run_prevention_factor": 1.0589,
"strikeout_factor": 0.9306,
"walk_factor": 0.974,
"homer_factor": 1.1107,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607625",
"espn_id": 34873,
"player_name": "Seth Lugo",
"team": "KC",
"role": "pitcher",
"espn_rank": 69,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 69,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 15.0,
"gs_rank": 41,
"qs_value": 9.0,
"qs_rank": 11,
"era_value": 3.6914,
"era_rank": 33.0,
"w_value": 3.0,
"w_rank": 120,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 85.1,
"ip_rank": 42,
"h_value": 87.0,
"h_rank": 15,
"er_value": 35.0,
"er_rank": 69,
"hr_value": 7.0,
"hr_rank": 120,
"bb_value": 28.0,
"bb_rank": 50,
"k_value": 66.0,
"k_rank": 73,
"k_per_9_value": 6.9609375,
"k_per_9_rank": 46,
"whip_value": 1.3476,
"whip_rank": 53.0,
"war_value": 1.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0589,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0589,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.974,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1107,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9306,
"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": 54.0,
"ER": 31,
"H": 68,
"BB": 18,
"SO": 38,
"HR": 7,
"ERA": 5.166666666666666,
"WHIP": 1.5925925925925923,
"K9": 6.333333333333332,
"HR9": 1.1666666666666665,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "607625",
"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": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 85.68077775677381,
"release_spin_rate": 2492.7299401289656,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.6808,
"release_spin_rate": 2492.7299,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2279,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6282,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "607625",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.2,
"ER": 11.0,
"R": 14.0,
"H": 26.0,
"BB": 7.0,
"SO": 15.0,
"HR": 5.0,
"BF": 111.0,
"Pitches": 397.0
},
"per_game": {
"IP": 5.1,
"ER": 2.2,
"R": 2.8,
"H": 5.2,
"BB": 1.4,
"SO": 3.0,
"HR": 1.0,
"BF": 22.2,
"Pitches": 79.4
},
"rates": {
"ERA": 3.7125,
"WHIP": 1.2375,
"ER_per_IP": 0.4125,
"H_per_IP": 0.975,
"BB_per_IP": 0.2625,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.0,
"ER": 31.0,
"R": 34.0,
"H": 68.0,
"BB": 18.0,
"SO": 38.0,
"HR": 7.0,
"BF": 241.0,
"Pitches": 884.0
},
"per_game": {
"IP": 5.1,
"ER": 3.1,
"R": 3.4,
"H": 6.8,
"BB": 1.8,
"SO": 3.8,
"HR": 0.7,
"BF": 24.1,
"Pitches": 88.4
},
"rates": {
"ERA": 5.1667,
"WHIP": 1.5926,
"ER_per_IP": 0.57407,
"H_per_IP": 1.25926,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.7037,
"HR_per_IP": 0.12963
}
},
"season": {
"games": 15,
"totals": {
"IP": 85.1,
"ER": 35.0,
"R": 39.0,
"H": 87.0,
"BB": 28.0,
"SO": 66.0,
"HR": 7.0,
"BF": 357.0,
"Pitches": 1341.0
},
"per_game": {
"IP": 5.2,
"ER": 2.3333,
"R": 2.6,
"H": 5.8,
"BB": 1.8667,
"SO": 4.4,
"HR": 0.4667,
"BF": 23.8,
"Pitches": 89.4
},
"rates": {
"ERA": 3.6914,
"WHIP": 1.3477,
"ER_per_IP": 0.41016,
"H_per_IP": 1.01953,
"BB_per_IP": 0.32812,
"SO_per_IP": 0.77344,
"HR_per_IP": 0.08203
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.564,
"predicted_H": 5.679,
"predicted_BB": 1.698,
"predicted_SO": 3.916,
"predicted_HR": 0.787,
"predicted_ERA": 4.2871,
"predicted_WHIP": 1.3703
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.564,
"final": 3.2183,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.679,
"final": 5.3696,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.698,
"final": 2.2912,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.916,
"final": 3.4986,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.787,
"final": 0.4284,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2871,
"final": 4.2871,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3703,
"final": 1.3703,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Alex Lange |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1576 |
| ESPN Rank | 245 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.8571 |
| Season WHIP | 1.3714 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"opponent": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"edges": {
"quality_edge": -0.1295,
"offense_edge": -0.0795,
"opponent_offense_edge": -0.0753,
"defense_strength": -0.0542,
"opponent_defense_weakness": -0.0576,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 0.9998,
"strikeout": 1.0021
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656638",
"profile": {
"available": true,
"pitcher_id": "656638",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 99.0,
"k_percent": 23.8,
"bb_percent": 12.6,
"woba": 0.321,
"xwoba": 0.329,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 42.4,
"avg_best_speed": 80.5079,
"avg_hyper_speed": 94.9806,
"whiff_percent": 28.8,
"swing_percent": 45.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.6048,
"command_and_miss": 0.0432,
"regression_edge": -0.2286,
"xwoba_edge": -0.4143,
"barrel_edge": -1.3,
"hard_hit_edge": -0.5857,
"whiff_edge": 0.4214,
"bb_edge": -0.875,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656638",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1576,
"sample_weight": 0.45,
"run_prevention_factor": 1.0134,
"strikeout_factor": 1.0104,
"walk_factor": 1.0315,
"homer_factor": 1.0629,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656638",
"espn_id": 40976,
"player_name": "Alex Lange",
"team": "KC",
"role": "pitcher",
"espn_rank": 245,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 245,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.8571,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 6.0,
"sv_rank": 23,
"hld_value": 1.0,
"hld_rank": 204,
"ip_value": 35.0,
"ip_rank": 217,
"h_value": 29.0,
"h_rank": 247,
"er_value": 15.0,
"er_rank": 230,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 19.0,
"bb_rank": 147,
"k_value": 36.0,
"k_rank": 214,
"k_per_9_value": 9.257143,
"k_per_9_rank": 26,
"whip_value": 1.3714,
"whip_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.006,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.006,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0142,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0283,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0047,
"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": 7,
"BB": 6,
"SO": 12,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.3,
"K9": 10.8,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "656638",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.93,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5809,
"prior_weight": 0.4191
},
"role": "pitcher",
"player_id": "656638",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 3.0,
"H": 4.0,
"BB": 3.0,
"SO": 3.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 107.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.8,
"BB": 0.6,
"SO": 0.6,
"HR": 0.0,
"BF": 4.6,
"Pitches": 21.4
},
"rates": {
"ERA": 3.6,
"WHIP": 1.4,
"ER_per_IP": 0.4,
"H_per_IP": 0.8,
"BB_per_IP": 0.6,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 3.0,
"H": 7.0,
"BB": 6.0,
"SO": 12.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 207.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.7,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.5,
"Pitches": 20.7
},
"rates": {
"ERA": 1.8,
"WHIP": 1.3,
"ER_per_IP": 0.2,
"H_per_IP": 0.7,
"BB_per_IP": 0.6,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"season": {
"games": 33,
"totals": {
"IP": 35.0,
"ER": 15.0,
"R": 17.0,
"H": 29.0,
"BB": 19.0,
"SO": 36.0,
"HR": 2.0,
"BF": 151.0,
"Pitches": 648.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4545,
"R": 0.5152,
"H": 0.8788,
"BB": 0.5758,
"SO": 1.0909,
"HR": 0.0606,
"BF": 4.5758,
"Pitches": 19.6364
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.3714,
"ER_per_IP": 0.42857,
"H_per_IP": 0.82857,
"BB_per_IP": 0.54286,
"SO_per_IP": 1.02857,
"HR_per_IP": 0.05714
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.404,
"predicted_H": 0.854,
"predicted_BB": 0.493,
"predicted_SO": 0.917,
"predicted_HR": 0.068,
"predicted_ERA": 3.6397,
"predicted_WHIP": 1.3468
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5271,
"form_weight": 0.4729,
"form_reliability": 0.5809,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.93,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5809,
"prior_weight": 0.4191
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.404,
"final": 0.7181,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.854,
"final": 0.931,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.493,
"final": 0.2332,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.917,
"final": 0.9607,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.068,
"final": 0.0322,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6397,
"final": 3.6397,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3468,
"final": 1.3468,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Daniel Lynch IV |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2337 |
| ESPN Rank | 129 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.4545 |
| Season WHIP | 0.9394 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"opponent": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"edges": {
"quality_edge": -0.1295,
"offense_edge": -0.0795,
"opponent_offense_edge": -0.0753,
"defense_strength": -0.0542,
"opponent_defense_weakness": -0.0576,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 0.9998,
"strikeout": 1.0021
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663738",
"profile": {
"available": true,
"pitcher_id": "663738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 22.6,
"bb_percent": 8.3,
"woba": 0.245,
"xwoba": 0.276,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 34.4,
"avg_best_speed": 75.1797,
"avg_hyper_speed": 93.6368,
"whiff_percent": 30.5,
"swing_percent": 47.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.962,
"command_and_miss": 0.2661,
"regression_edge": -0.8857,
"xwoba_edge": 1.1,
"barrel_edge": 0.3444,
"hard_hit_edge": 0.5571,
"whiff_edge": 0.6643,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663738",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2337,
"sample_weight": 0.45,
"run_prevention_factor": 0.9801,
"strikeout_factor": 1.0117,
"walk_factor": 0.9928,
"homer_factor": 0.9627,
"woba_minus_xwoba": -0.031,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663738",
"espn_id": 41227,
"player_name": "Daniel Lynch IV",
"team": "KC",
"role": "pitcher",
"espn_rank": 129,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 129,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.4545,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 9.0,
"hld_rank": 38,
"ip_value": 33.0,
"ip_rank": 240,
"h_value": 20.0,
"h_rank": 363,
"er_value": 9.0,
"er_rank": 383,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 11.0,
"bb_rank": 298,
"k_value": 30.0,
"k_rank": 277,
"k_per_9_value": 8.181818,
"k_per_9_rank": 31,
"whip_value": 0.9393,
"whip_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.991,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.991,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9968,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0053,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 4,
"H": 5,
"BB": 3,
"SO": 3,
"HR": 1,
"ERA": 3.724137931034483,
"WHIP": 0.8275862068965518,
"K9": 2.793103448275862,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "663738",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.534,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"role": "pitcher",
"player_id": "663738",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 2.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.4,
"BB": 0.4,
"SO": 0.2,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.2
},
"rates": {
"ERA": 5.4,
"WHIP": 0.8,
"ER_per_IP": 0.6,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 0.2,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 4.0,
"H": 5.0,
"BB": 3.0,
"SO": 3.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 140.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.5,
"BB": 0.3,
"SO": 0.3,
"HR": 0.1,
"BF": 3.7,
"Pitches": 14.0
},
"rates": {
"ERA": 3.7241,
"WHIP": 0.8276,
"ER_per_IP": 0.41379,
"H_per_IP": 0.51724,
"BB_per_IP": 0.31034,
"SO_per_IP": 0.31034,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 33,
"totals": {
"IP": 33.0,
"ER": 9.0,
"R": 12.0,
"H": 20.0,
"BB": 11.0,
"SO": 30.0,
"HR": 2.0,
"BF": 133.0,
"Pitches": 509.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2727,
"R": 0.3636,
"H": 0.6061,
"BB": 0.3333,
"SO": 0.9091,
"HR": 0.0606,
"BF": 4.0303,
"Pitches": 15.4242
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.9394,
"ER_per_IP": 0.27273,
"H_per_IP": 0.60606,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.90909,
"HR_per_IP": 0.06061
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.482,
"predicted_H": 0.693,
"predicted_BB": 0.357,
"predicted_SO": 0.626,
"predicted_HR": 0.142,
"predicted_ERA": 4.3424,
"predicted_WHIP": 1.0508
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5332,
"form_weight": 0.4668,
"form_reliability": 0.5665,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.534,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.482,
"final": 0.225,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.693,
"final": 0.8567,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.357,
"final": 0.1667,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.626,
"final": 0.8254,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0663,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3424,
"final": 4.3424,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0508,
"final": 1.0508,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | John Schreiber |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1139 |
| ESPN Rank | 112 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.5579 |
| Season WHIP | 1.1368 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"opponent": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"edges": {
"quality_edge": -0.1295,
"offense_edge": -0.0795,
"opponent_offense_edge": -0.0753,
"defense_strength": -0.0542,
"opponent_defense_weakness": -0.0576,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 0.9998,
"strikeout": 1.0021
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670167",
"profile": {
"available": true,
"pitcher_id": "670167",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 19.2,
"bb_percent": 9.6,
"woba": 0.298,
"xwoba": 0.322,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.3542,
"avg_hyper_speed": 94.1528,
"whiff_percent": 20.9,
"swing_percent": 43.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.0984,
"command_and_miss": -0.4975,
"regression_edge": -0.6857,
"xwoba_edge": -0.2143,
"barrel_edge": 0.0556,
"hard_hit_edge": -0.0429,
"whiff_edge": -0.7071,
"bb_edge": -0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670167",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1139,
"sample_weight": 0.45,
"run_prevention_factor": 1.0097,
"strikeout_factor": 0.9783,
"walk_factor": 1.0045,
"homer_factor": 1.0017,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670167",
"espn_id": 39949,
"player_name": "John Schreiber",
"team": "KC",
"role": "pitcher",
"espn_rank": 112,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 112,
"gp_value": 34.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.5578,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 5.0,
"hld_rank": 97,
"ip_value": 31.2,
"ip_rank": 260,
"h_value": 24.0,
"h_rank": 306,
"er_value": 9.0,
"er_rank": 383,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 24.0,
"k_rank": 337,
"k_per_9_value": 6.8210526,
"k_per_9_rank": 34,
"whip_value": 1.1368,
"whip_rank": null,
"war_value": 0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0044,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0044,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0008,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9902,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 2,
"H": 5,
"BB": 2,
"SO": 12,
"HR": 2,
"ERA": 1.862068965517241,
"WHIP": 0.7241379310344827,
"K9": 11.172413793103447,
"HR9": 1.862068965517241,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "670167",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.27,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5563,
"prior_weight": 0.4437
},
"role": "pitcher",
"player_id": "670167",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 7.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 91.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 1.4,
"HR": 0.2,
"BF": 3.8,
"Pitches": 18.2
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.7059,
"ER_per_IP": 0.17647,
"H_per_IP": 0.52941,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 2.0,
"SO": 12.0,
"HR": 2.0,
"BF": 33.0,
"Pitches": 144.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 3.3,
"Pitches": 14.4
},
"rates": {
"ERA": 1.8621,
"WHIP": 0.7241,
"ER_per_IP": 0.2069,
"H_per_IP": 0.51724,
"BB_per_IP": 0.2069,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.2069
}
},
"season": {
"games": 34,
"totals": {
"IP": 31.2,
"ER": 9.0,
"R": 10.0,
"H": 24.0,
"BB": 12.0,
"SO": 24.0,
"HR": 5.0,
"BF": 125.0,
"Pitches": 505.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2647,
"R": 0.2941,
"H": 0.7059,
"BB": 0.3529,
"SO": 0.7059,
"HR": 0.1471,
"BF": 3.6765,
"Pitches": 14.8529
},
"rates": {
"ERA": 2.5579,
"WHIP": 1.1368,
"ER_per_IP": 0.28421,
"H_per_IP": 0.75789,
"BB_per_IP": 0.37895,
"SO_per_IP": 0.75789,
"HR_per_IP": 0.15789
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.288,
"predicted_H": 0.637,
"predicted_BB": 0.244,
"predicted_SO": 0.899,
"predicted_HR": 0.142,
"predicted_ERA": 3.0399,
"predicted_WHIP": 1.0341
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5375,
"form_weight": 0.4625,
"form_reliability": 0.5563,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.27,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5563,
"prior_weight": 0.4437
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.288,
"final": 0.1332,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.637,
"final": 0.2946,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.244,
"final": 0.1129,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.899,
"final": 1.4907,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0657,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0399,
"final": 3.0399,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0341,
"final": 1.0341,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Lucas Erceg |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0355 |
| ESPN Rank | 563 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.2472 |
| Season WHIP | 1.6180 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"opponent": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"edges": {
"quality_edge": -0.1295,
"offense_edge": -0.0795,
"opponent_offense_edge": -0.0753,
"defense_strength": -0.0542,
"opponent_defense_weakness": -0.0576,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 0.9998,
"strikeout": 1.0021
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668674",
"profile": {
"available": true,
"pitcher_id": "668674",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 18.4,
"bb_percent": 14.0,
"woba": 0.373,
"xwoba": 0.316,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 37.8,
"avg_best_speed": 72.7324,
"avg_hyper_speed": 93.9208,
"whiff_percent": 21.6,
"swing_percent": 46.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.091,
"command_and_miss": -0.7339,
"regression_edge": 1.6286,
"xwoba_edge": -0.0429,
"barrel_edge": 0.3444,
"hard_hit_edge": 0.0714,
"whiff_edge": -0.6071,
"bb_edge": -1.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668674",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0355,
"sample_weight": 0.45,
"run_prevention_factor": 1.003,
"strikeout_factor": 0.978,
"walk_factor": 1.0441,
"homer_factor": 0.9869,
"woba_minus_xwoba": 0.057,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "668674",
"espn_id": 36618,
"player_name": "Lucas Erceg",
"team": "KC",
"role": "pitcher",
"espn_rank": 563,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 563,
"gp_value": 31.0,
"gp_rank": 85,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 5.1573,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 12.0,
"sv_rank": 13,
"hld_value": 2.0,
"hld_rank": 169,
"ip_value": 29.2,
"ip_rank": 295,
"h_value": 34.0,
"h_rank": 196,
"er_value": 17.0,
"er_rank": 200,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 19.0,
"bb_rank": 147,
"k_value": 25.0,
"k_rank": 325,
"k_per_9_value": 7.5842695,
"k_per_9_rank": 29,
"whip_value": 1.7865,
"whip_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0013,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0013,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0198,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9941,
"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": 9.1,
"ER": 4,
"H": 10,
"BB": 6,
"SO": 7,
"HR": 1,
"ERA": 3.8571428571428577,
"WHIP": 1.7142857142857144,
"K9": 6.750000000000001,
"HR9": 0.9642857142857144,
"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-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "668674",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.874,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"role": "pitcher",
"player_id": "668674",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 19.2
},
"rates": {
"ERA": 1.5882,
"WHIP": 1.0588,
"ER_per_IP": 0.17647,
"H_per_IP": 0.52941,
"BB_per_IP": 0.52941,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 7.0,
"R": 7.0,
"H": 14.0,
"BB": 6.0,
"SO": 8.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 196.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.4,
"BB": 0.6,
"SO": 0.8,
"HR": 0.1,
"BF": 5.1,
"Pitches": 19.6
},
"rates": {
"ERA": 6.0968,
"WHIP": 1.9355,
"ER_per_IP": 0.67742,
"H_per_IP": 1.35484,
"BB_per_IP": 0.58065,
"SO_per_IP": 0.77419,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 30,
"totals": {
"IP": 29.2,
"ER": 14.0,
"R": 16.0,
"H": 29.0,
"BB": 19.0,
"SO": 25.0,
"HR": 1.0,
"BF": 131.0,
"Pitches": 532.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4667,
"R": 0.5333,
"H": 0.9667,
"BB": 0.6333,
"SO": 0.8333,
"HR": 0.0333,
"BF": 4.3667,
"Pitches": 17.7333
},
"rates": {
"ERA": 4.2472,
"WHIP": 1.618,
"ER_per_IP": 0.47191,
"H_per_IP": 0.97753,
"BB_per_IP": 0.64045,
"SO_per_IP": 0.8427,
"HR_per_IP": 0.03371
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.313,
"predicted_H": 0.649,
"predicted_BB": 0.328,
"predicted_SO": 0.586,
"predicted_HR": 0.062,
"predicted_ERA": 4.0653,
"predicted_WHIP": 1.4095
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5443,
"form_weight": 0.4557,
"form_reliability": 0.5402,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.874,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.313,
"final": 0.1426,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.649,
"final": 0.2958,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.328,
"final": 0.1495,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.586,
"final": 1.3556,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0283,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0653,
"final": 4.0653,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4095,
"final": 1.4095,
"source": "form_only"
}
}
}{
"available": false,
"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 | Matt Strahm |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0825 |
| ESPN Rank | 652 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 6.2027 |
| Season WHIP | 1.4189 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"opponent": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"edges": {
"quality_edge": -0.1295,
"offense_edge": -0.0795,
"opponent_offense_edge": -0.0753,
"defense_strength": -0.0542,
"opponent_defense_weakness": -0.0576,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 0.9998,
"strikeout": 1.0021
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621381",
"profile": {
"available": true,
"pitcher_id": "621381",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 71.0,
"k_percent": 17.3,
"bb_percent": 9.1,
"woba": 0.381,
"xwoba": 0.312,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 41.8,
"avg_best_speed": 81.5502,
"avg_hyper_speed": 93.5922,
"whiff_percent": 22.8,
"swing_percent": 48.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.4475,
"command_and_miss": -0.4996,
"regression_edge": 1.9714,
"xwoba_edge": 0.0714,
"barrel_edge": -0.3889,
"hard_hit_edge": -0.5,
"whiff_edge": -0.4357,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "621381",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0825,
"sample_weight": 0.45,
"run_prevention_factor": 1.007,
"strikeout_factor": 0.9783,
"walk_factor": 1.0,
"homer_factor": 1.022,
"woba_minus_xwoba": 0.069,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "621381",
"espn_id": 34862,
"player_name": "Matt Strahm",
"team": "KC",
"role": "pitcher",
"espn_rank": 652,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 652,
"gp_value": 27.0,
"gp_rank": 128,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 6.2027,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 9.0,
"hld_rank": 38,
"ip_value": 24.2,
"ip_rank": 348,
"h_value": 25.0,
"h_rank": 287,
"er_value": 17.0,
"er_rank": 200,
"hr_value": 8.0,
"hr_rank": 91,
"bb_value": 10.0,
"bb_rank": 330,
"k_value": 19.0,
"k_rank": 381,
"k_per_9_value": 6.932432,
"k_per_9_rank": 29,
"whip_value": 1.4189,
"whip_rank": null,
"war_value": -0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0031,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0031,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0099,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9902,
"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": 8.1,
"ER": 10,
"H": 11,
"BB": 3,
"SO": 2,
"HR": 5,
"ERA": 10.8,
"WHIP": 1.6800000000000002,
"K9": 2.16,
"HR9": 5.4,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "621381",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.884,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4941,
"prior_weight": 0.5059
},
"role": "pitcher",
"player_id": "621381",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.1,
"ER": 6.0,
"R": 6.0,
"H": 6.0,
"BB": 3.0,
"SO": 1.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 68.0
},
"per_game": {
"IP": 0.2,
"ER": 1.2,
"R": 1.2,
"H": 1.2,
"BB": 0.6,
"SO": 0.2,
"HR": 0.2,
"BF": 3.8,
"Pitches": 13.6
},
"rates": {
"ERA": 16.2,
"WHIP": 2.7,
"ER_per_IP": 1.8,
"H_per_IP": 1.8,
"BB_per_IP": 0.9,
"SO_per_IP": 0.3,
"HR_per_IP": 0.3
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 10.0,
"R": 10.0,
"H": 11.0,
"BB": 3.0,
"SO": 2.0,
"HR": 5.0,
"BF": 39.0,
"Pitches": 142.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.1,
"BB": 0.3,
"SO": 0.2,
"HR": 0.5,
"BF": 3.9,
"Pitches": 14.2
},
"rates": {
"ERA": 10.8,
"WHIP": 1.68,
"ER_per_IP": 1.2,
"H_per_IP": 1.32,
"BB_per_IP": 0.36,
"SO_per_IP": 0.24,
"HR_per_IP": 0.6
}
},
"season": {
"games": 27,
"totals": {
"IP": 24.2,
"ER": 17.0,
"R": 17.0,
"H": 25.0,
"BB": 10.0,
"SO": 19.0,
"HR": 8.0,
"BF": 110.0,
"Pitches": 423.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6296,
"R": 0.6296,
"H": 0.9259,
"BB": 0.3704,
"SO": 0.7037,
"HR": 0.2963,
"BF": 4.0741,
"Pitches": 15.6667
},
"rates": {
"ERA": 6.2027,
"WHIP": 1.4189,
"ER_per_IP": 0.68919,
"H_per_IP": 1.01351,
"BB_per_IP": 0.40541,
"SO_per_IP": 0.77027,
"HR_per_IP": 0.32432
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.493,
"predicted_H": 0.647,
"predicted_BB": 0.257,
"predicted_SO": 0.352,
"predicted_HR": 0.147,
"predicted_ERA": 8.3575,
"predicted_WHIP": 1.7037
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5637,
"form_weight": 0.4363,
"form_reliability": 0.4941,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.884,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4941,
"prior_weight": 0.5059
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.493,
"final": 0.7788,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.647,
"final": 1.4097,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.257,
"final": 0.6759,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.352,
"final": 0.7173,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.147,
"final": 0.0641,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 8.3575,
"final": 8.3575,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7037,
"final": 1.7037,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.222 | 0.000 | 0.000 | Hitting_2B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.930 | 3.000 | 4.000 | Hitting_AB | 3.469 | 4.000 | -0.469 | -1.000 |
| predicted_AVG | 0.250 | 0.000 | 0.250 | Hitting_AVG | 0.239 | 0.250 | -0.239 | -0.250 |
| predicted_BB | 0.375 | 1.000 | 0.000 | Hitting_BB | 0.431 | 1.000 | 0.569 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.980 | 0.000 | 1.000 | Hitting_H | 0.828 | 1.000 | -0.828 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.348 | 0.250 | 0.250 | Hitting_OBP | 0.321 | 0.400 | -0.071 | -0.150 |
| predicted_R | 0.528 | 0.000 | 1.000 | Hitting_R | 0.459 | 1.000 | -0.459 | -1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.550 | 0.000 | -0.550 | 0.000 |
| predicted_SLG | 0.434 | 0.000 | 0.250 | Hitting_SLG | 0.403 | 0.250 | -0.403 | -0.250 |
| predicted_SO | 1.028 | 1.000 | 1.000 | Hitting_SO | 1.077 | 1.000 | -0.077 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3750 -> 1.0000 (boost 0.6250, better) |
| Biggest Deboost | predicted_H: 0.9800 -> 0.0000 (deboost -0.9800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 5 | 1 | predicted_R: 0.5280 -> 0.5951 (boost 0.0671, better) | predicted_AB: 3.9300 -> 3.8224 (deboost -0.1076, worse) | Final model input calibrated with local 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.3541 -> 0.3321 (deboost -0.0220, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 2 | 3 | predicted_RBI: 0.5400 -> 1.0000 (boost 0.4600, better) | predicted_BB: 0.4096 -> 0.0000 (deboost -0.4096, worse) | AB rounded to 4 (raw=3.93), rates preserved: AVG=0.253 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5832 -> 1.0000 (boost 0.4168, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4377 -> 0.2500 (deboost -0.1877, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4377 (boost 0.1877, 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.222,
"predicted_3B": 0.0,
"predicted_AB": 3.93,
"predicted_AVG": 0.25,
"predicted_BB": 0.375,
"predicted_H": 0.98,
"predicted_HR": 0.15,
"predicted_OBP": 0.348,
"predicted_R": 0.528,
"predicted_RBI": 0.54,
"predicted_SLG": 0.434,
"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.2237,
"predicted_3B": 0.0004,
"predicted_AB": 3.8224,
"predicted_AVG": 0.2646,
"predicted_BB": 0.4125,
"predicted_H": 1.0078,
"predicted_HBP": 0.011,
"predicted_HR": 0.1542,
"predicted_OBP": 0.3541,
"predicted_R": 0.5951,
"predicted_RBI": 0.551,
"predicted_SLG": 0.4522,
"predicted_SO": 0.9554
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2237,
"delta": 0.0017,
"percent_delta": 0.0077,
"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.93,
"after": 3.8224,
"delta": -0.1076,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2646,
"delta": 0.0146,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.375,
"after": 0.4125,
"delta": 0.0375,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0078,
"delta": 0.0278,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1542,
"delta": 0.0042,
"percent_delta": 0.028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3541,
"delta": 0.0061,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.528,
"after": 0.5951,
"delta": 0.0671,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.551,
"delta": 0.011,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4522,
"delta": 0.0182,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.028,
"after": 0.9554,
"delta": -0.0726,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.528,
"after": 0.5951,
"delta": 0.0671,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.93,
"after": 3.8224,
"delta": -0.1076,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2237,
"predicted_3B": 0.0004,
"predicted_AB": 3.8224,
"predicted_AVG": 0.2606,
"predicted_BB": 0.4096,
"predicted_H": 0.996,
"predicted_HBP": 0.011,
"predicted_HR": 0.1508,
"predicted_OBP": 0.3321,
"predicted_R": 0.5832,
"predicted_RBI": 0.54,
"predicted_SLG": 0.4377,
"predicted_SO": 0.9622
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2237,
"after": 0.2237,
"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.8224,
"after": 3.8224,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2646,
"after": 0.2606,
"delta": -0.004,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4125,
"after": 0.4096,
"delta": -0.0029,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0078,
"after": 0.996,
"delta": -0.0118,
"percent_delta": -0.0117,
"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.1542,
"after": 0.1508,
"delta": -0.0034,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3541,
"after": 0.3321,
"delta": -0.022,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5951,
"after": 0.5832,
"delta": -0.0119,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.551,
"after": 0.54,
"delta": -0.011,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4522,
"after": 0.4377,
"delta": -0.0145,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9554,
"after": 0.9622,
"delta": 0.0068,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3541,
"after": 0.3321,
"delta": -0.022,
"percent_delta": -0.0621,
"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.253 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.2237,
"after": 0.0,
"delta": -0.2237,
"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.8224,
"after": 4.0,
"delta": 0.1776,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4096,
"after": 0.0,
"delta": -0.4096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.996,
"after": 1.0,
"delta": 0.004,
"percent_delta": 0.004,
"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.1508,
"after": 0.0,
"delta": -0.1508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 1.0,
"delta": 0.46,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9622,
"after": 1.0,
"delta": 0.0378,
"percent_delta": 0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.54,
"after": 1.0,
"delta": 0.46,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": 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.5832,
"after": 1.0,
"delta": 0.4168,
"percent_delta": 0.7147,
"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.5832,
"after": 1.0,
"delta": 0.4168,
"percent_delta": 0.7147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2606,
"after": 0.25,
"delta": -0.0106,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3321,
"after": 0.25,
"delta": -0.0821,
"percent_delta": -0.2472,
"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.4377,
"after": 0.25,
"delta": -0.1877,
"percent_delta": -0.4288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4377,
"after": 0.25,
"delta": -0.1877,
"percent_delta": -0.4288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2606,
"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.3321,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4377,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2606,
"delta": 0.0106,
"percent_delta": 0.0423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3321,
"delta": 0.0821,
"percent_delta": 0.3285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4377,
"delta": 0.1877,
"percent_delta": 0.7508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4377,
"delta": 0.1877,
"percent_delta": 0.7508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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": 3.0,
"delta": -0.93,
"percent_delta": -0.2366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2606,
"delta": 0.0106,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3321,
"delta": -0.0159,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.528,
"after": 0.0,
"delta": -0.528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4377,
"delta": 0.0037,
"percent_delta": 0.0085,
"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": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.375 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 0.528 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.434 | - |
| 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.224 | 0.002 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.822 | -0.108 |
| predicted_AVG | 0.265 | 0.015 |
| predicted_BB | 0.412 | 0.037 |
| predicted_H | 1.008 | 0.028 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.154 | 0.004 |
| predicted_OBP | 0.354 | 0.006 |
| predicted_R | 0.595 | 0.067 |
| predicted_RBI | 0.551 | 0.011 |
| predicted_SLG | 0.452 | 0.018 |
| predicted_SO | 0.955 | -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.224 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.822 | 0.000 |
| predicted_AVG | 0.261 | -0.004 |
| predicted_BB | 0.410 | -0.003 |
| predicted_H | 0.996 | -0.012 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.151 | -0.003 |
| predicted_OBP | 0.332 | -0.022 |
| predicted_R | 0.583 | -0.012 |
| predicted_RBI | 0.540 | -0.011 |
| predicted_SLG | 0.438 | -0.015 |
| predicted_SO | 0.962 | 0.007 |
AB rounded to 4 (raw=3.93), rates preserved: AVG=0.253 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 | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.224 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.178 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.410 |
| predicted_H | 1.000 | 0.004 |
| predicted_HR | 0.000 | -0.151 |
| predicted_OBP | 0.250 | -0.082 |
| predicted_R | 1.000 | 0.417 |
| predicted_RBI | 1.000 | 0.460 |
| predicted_SLG | 0.250 | -0.188 |
| predicted_SO | 1.000 | 0.038 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 4.000 | 3.000 | 0.3158 | 0.4348 | 0.4737 | 0.3158 | 0.0526 | 0.1053 | 0.2105 | 0.1579 |
| last_10 | 0.20 | 10 | - | 41.000 | 16.000 | 5.000 | 0.000 | 2.000 | 8.000 | 10.000 | 5.000 | 5.000 | 0.3902 | 0.4565 | 0.6585 | 0.3902 | 0.0488 | 0.1951 | 0.1220 | 0.1220 |
| season | 0.60 | 72 | - | 249.000 | 61.000 | 16.000 | 0.000 | 10.000 | 40.000 | 38.000 | 27.000 | 74.000 | 0.2450 | 0.3156 | 0.4297 | 0.2450 | 0.0402 | 0.1606 | 0.1084 | 0.2972 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2260 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6750 |
| predicted_AVG | 0.2846 |
| predicted_BB | 0.4640 |
| predicted_H | 1.0460 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1600 |
| predicted_OBP | 0.3624 |
| predicted_R | 0.6870 |
| predicted_RBI | 0.5660 |
| predicted_SLG | 0.4771 |
| predicted_SO | 0.8560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.2260 | 0.2237 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9300 | 3.6750 | 3.8224 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2846 | 0.2646 | model_form_blend |
| predicted_BB | 0.3750 | 0.4640 | 0.4125 | model_form_blend |
| predicted_H | 0.9800 | 1.0460 | 1.0078 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1500 | 0.1600 | 0.1542 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3624 | 0.3541 | model_form_blend |
| predicted_R | 0.5280 | 0.6870 | 0.5951 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5660 | 0.5510 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4771 | 0.4522 | model_form_blend |
| predicted_SO | 1.0280 | 0.8560 | 0.9554 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 209 |
| Season rows before report date | 209 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.245 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 695600 |
| playerID | 695600 |
| playerName | Carter Jensen |
| pos | C |
| started | True |
| startingPosition | DH |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.322 |
| sl_xwoba | 0.288 |
| sl_xba | 0.217 |
| sl_xslg | 0.357 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 42.8 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 19.7 |
| sl_whiff_percent | 29.4 |
| 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.115 | 0.000 | 0.000 | Hitting_2B | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.787 | 4.000 | 3.000 | Hitting_AB | 2.854 | 1.000 | 1.146 | 3.000 |
| predicted_AVG | 0.245 | 0.000 | 0.333 | Hitting_AVG | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_BB | 0.443 | 0.000 | 0.000 | Hitting_BB | 0.528 | 0.000 | -0.528 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_H | 0.680 | 0.000 | 1.000 | Hitting_H | 0.646 | 0.000 | -0.646 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_OBP | 0.296 | 0.000 | 0.333 | Hitting_OBP | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_R | 0.279 | 0.000 | 0.000 | Hitting_R | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_SLG | 0.366 | 0.000 | 0.333 | Hitting_SLG | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SO | 0.689 | 2.000 | 1.000 | Hitting_SO | 0.750 | 1.000 | 1.250 | 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.6890 -> 2.0000 (boost 1.3110, worse) |
| 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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.7870 -> 2.9970 (boost 0.2100, better) | predicted_AVG: 0.2450 -> 0.2316 (deboost -0.0134, worse) | Final model input calibrated with local 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.2930 -> 0.3183 (boost 0.0253, 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_H: 0.6801 -> 1.0000 (boost 0.3199, better) | predicted_BB: 0.4018 -> 0.0000 (deboost -0.4018, worse) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.227 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2948 -> 0.0000 (deboost -0.2948, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2269 -> 0.3330 (boost 0.1061, better) | predicted_SLG: 0.3672 -> 0.3330 (deboost -0.0342, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3672 (boost 0.0342, better) | predicted_AVG: 0.3330 -> 0.2269 (deboost -0.1061, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657041",
"player_name": "Lane Thomas",
"position": "CF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.115,
"predicted_3B": 0.0,
"predicted_AB": 2.787,
"predicted_AVG": 0.245,
"predicted_BB": 0.443,
"predicted_H": 0.68,
"predicted_HR": 0.09,
"predicted_OBP": 0.296,
"predicted_R": 0.279,
"predicted_RBI": 0.39,
"predicted_SLG": 0.366,
"predicted_SO": 0.689
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1484,
"predicted_3B": 0.0008,
"predicted_AB": 2.997,
"predicted_AVG": 0.2316,
"predicted_BB": 0.4047,
"predicted_H": 0.6882,
"predicted_HBP": 0.024,
"predicted_HR": 0.0921,
"predicted_OBP": 0.293,
"predicted_R": 0.3008,
"predicted_RBI": 0.4015,
"predicted_SLG": 0.3632,
"predicted_SO": 0.7055
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.1484,
"delta": 0.0334,
"percent_delta": 0.2904,
"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.787,
"after": 2.997,
"delta": 0.21,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2316,
"delta": -0.0134,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 0.4047,
"delta": -0.0383,
"percent_delta": -0.0865,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.6882,
"delta": 0.0082,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0921,
"delta": 0.0021,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.293,
"delta": -0.003,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.279,
"after": 0.3008,
"delta": 0.0218,
"percent_delta": 0.0781,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.4015,
"delta": 0.0115,
"percent_delta": 0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3632,
"delta": -0.0028,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.689,
"after": 0.7055,
"delta": 0.0165,
"percent_delta": 0.0239,
"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.787,
"after": 2.997,
"delta": 0.21,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2316,
"delta": -0.0134,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1484,
"predicted_3B": 0.0008,
"predicted_AB": 2.997,
"predicted_AVG": 0.2269,
"predicted_BB": 0.4018,
"predicted_H": 0.6801,
"predicted_HBP": 0.024,
"predicted_HR": 0.0901,
"predicted_OBP": 0.3183,
"predicted_R": 0.2948,
"predicted_RBI": 0.3935,
"predicted_SLG": 0.3672,
"predicted_SO": 0.7105
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1484,
"after": 0.1484,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.997,
"after": 2.997,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2316,
"after": 0.2269,
"delta": -0.0047,
"percent_delta": -0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4047,
"after": 0.4018,
"delta": -0.0029,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6882,
"after": 0.6801,
"delta": -0.0081,
"percent_delta": -0.0118,
"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.0921,
"after": 0.0901,
"delta": -0.002,
"percent_delta": -0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3183,
"delta": 0.0253,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3008,
"after": 0.2948,
"delta": -0.006,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4015,
"after": 0.3935,
"delta": -0.008,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3632,
"after": 0.3672,
"delta": 0.004,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7055,
"after": 0.7105,
"delta": 0.005,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3183,
"delta": 0.0253,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.00), rates preserved: AVG=0.227 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.1484,
"after": 0.0,
"delta": -0.1484,
"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.997,
"after": 3.0,
"delta": 0.003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4018,
"after": 0.0,
"delta": -0.4018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6801,
"after": 1.0,
"delta": 0.3199,
"percent_delta": 0.4704,
"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.0901,
"after": 0.0,
"delta": -0.0901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3935,
"after": 0.0,
"delta": -0.3935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7105,
"after": 1.0,
"delta": 0.2895,
"percent_delta": 0.4075,
"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.6801,
"after": 1.0,
"delta": 0.3199,
"percent_delta": 0.4704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4018,
"after": 0.0,
"delta": -0.4018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2948,
"after": 0.0,
"delta": -0.2948,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2948,
"after": 0.0,
"delta": -0.2948,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2269,
"after": 0.333,
"delta": 0.1061,
"percent_delta": 0.4676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3183,
"after": 0.333,
"delta": 0.0147,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3672,
"after": 0.333,
"delta": -0.0342,
"percent_delta": -0.0931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2269,
"after": 0.333,
"delta": 0.1061,
"percent_delta": 0.4676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3672,
"after": 0.333,
"delta": -0.0342,
"percent_delta": -0.0931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2269,
"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.3183,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3672,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2269,
"delta": -0.1061,
"percent_delta": -0.3185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3183,
"delta": -0.0147,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3672,
"delta": 0.0342,
"percent_delta": 0.1026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3672,
"delta": 0.0342,
"percent_delta": 0.1026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2269,
"delta": -0.1061,
"percent_delta": -0.3185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.0,
"delta": -0.115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.787,
"after": 4.0,
"delta": 1.213,
"percent_delta": 0.4352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2269,
"delta": -0.0181,
"percent_delta": -0.0739,
"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.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3183,
"delta": 0.0223,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"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.366,
"after": 0.3672,
"delta": 0.0012,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.689,
"after": 2.0,
"delta": 1.311,
"percent_delta": 1.9028,
"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.689,
"after": 2.0,
"delta": 1.311,
"percent_delta": 1.9028,
"direction": "boost",
"projection_effect": "worse",
"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.115 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.787 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.443 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.279 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.366 | - |
| predicted_SO | 0.689 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.033 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.997 | 0.210 |
| predicted_AVG | 0.232 | -0.013 |
| predicted_BB | 0.405 | -0.038 |
| predicted_H | 0.688 | 0.008 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.092 | 0.002 |
| predicted_OBP | 0.293 | -0.003 |
| predicted_R | 0.301 | 0.022 |
| predicted_RBI | 0.402 | 0.012 |
| predicted_SLG | 0.363 | -0.003 |
| predicted_SO | 0.706 | 0.017 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.997 | 0.000 |
| predicted_AVG | 0.227 | -0.005 |
| predicted_BB | 0.402 | -0.003 |
| predicted_H | 0.680 | -0.008 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.090 | -0.002 |
| predicted_OBP | 0.318 | 0.025 |
| predicted_R | 0.295 | -0.006 |
| predicted_RBI | 0.394 | -0.008 |
| predicted_SLG | 0.367 | 0.004 |
| predicted_SO | 0.711 | 0.005 |
AB rounded to 3 (raw=3.00), rates preserved: AVG=0.227 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.148 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.003 |
| predicted_AVG | 0.333 | 0.106 |
| predicted_BB | 0.000 | -0.402 |
| predicted_H | 1.000 | 0.320 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.333 | 0.015 |
| predicted_R | 0.000 | -0.295 |
| predicted_RBI | 0.000 | -0.394 |
| predicted_SLG | 0.333 | -0.034 |
| predicted_SO | 1.000 | 0.289 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 4.000 | 0.1579 | 0.1579 | 0.2632 | 0.1579 | 0.0000 | 0.1053 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 8.000 | 3.000 | 0.000 | 2.000 | 6.000 | 5.000 | 3.000 | 6.000 | 0.2051 | 0.2619 | 0.4359 | 0.2051 | 0.0513 | 0.1538 | 0.0769 | 0.1538 |
| season | 0.60 | 61 | - | 170.000 | 38.000 | 7.000 | 0.000 | 5.000 | 21.000 | 17.000 | 27.000 | 42.000 | 0.2235 | 0.3350 | 0.3529 | 0.2235 | 0.0294 | 0.1235 | 0.1588 | 0.2471 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2970 |
| predicted_AVG | 0.2124 |
| predicted_BB | 0.3500 |
| predicted_H | 0.7000 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.2886 |
| predicted_R | 0.3320 |
| predicted_RBI | 0.4180 |
| predicted_SLG | 0.3592 |
| predicted_SO | 0.7290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.1960 | 0.1484 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.7870 | 3.2970 | 2.9970 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2124 | 0.2316 | model_form_blend |
| predicted_BB | 0.4430 | 0.3500 | 0.4047 | model_form_blend |
| predicted_H | 0.6800 | 0.7000 | 0.6882 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0900 | 0.0950 | 0.0921 | model_form_blend |
| predicted_OBP | 0.2960 | 0.2886 | 0.2930 | model_form_blend |
| predicted_R | 0.2790 | 0.3320 | 0.3008 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4180 | 0.4015 | model_form_blend |
| predicted_SLG | 0.3660 | 0.3592 | 0.3632 | model_form_blend |
| predicted_SO | 0.6890 | 0.7290 | 0.7055 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 144 |
| Season rows before report date | 144 |
| Report year | 2026 |
| Profile rows used | 61 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260624_KC@TB |
| game_type | ph |
| mlbID | 657041 |
| note | Struck out for Rave in the 8th. |
| playerID | 657041 |
| playerName | Lane Thomas |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.316 |
| sl_xwoba | 0.322 |
| sl_xba | 0.241 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 19.1 |
| 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.162 | 0.000 | 0.000 | Hitting_2B | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.432 | 3.000 | 4.000 | Hitting_AB | 3.522 | 4.000 | -0.522 | -1.000 |
| predicted_AVG | 0.246 | 0.000 | 0.250 | Hitting_AVG | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_BB | 0.311 | 1.000 | 0.000 | Hitting_BB | 0.330 | 0.000 | 0.670 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.400 | 0.000 | 1.000 | Hitting_H | 0.828 | 0.000 | -0.828 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.315 | 0.250 | 0.250 | Hitting_OBP | 0.310 | 0.000 | -0.060 | 0.250 |
| predicted_R | 0.527 | 0.000 | 1.000 | Hitting_R | 0.473 | 1.000 | -0.473 | -1.000 |
| predicted_RBI | 0.300 | 0.000 | 1.000 | Hitting_RBI | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_SLG | 0.540 | 0.000 | 0.250 | Hitting_SLG | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_SO | 1.135 | 1.000 | 1.000 | Hitting_SO | 1.153 | 2.000 | -0.153 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.3110 -> 1.0000 (boost 0.6890, better) |
| Biggest Deboost | predicted_R: 0.5270 -> 0.0000 (deboost -0.5270, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 8 | 0 | 8 | 0 | predicted_H: 0.4000 -> 0.6767 (boost 0.2767, 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.5807 -> 0.4337 (deboost -0.1470, 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.4713 -> 1.0000 (boost 0.5287, better) | predicted_BB: 0.3080 -> 0.0000 (deboost -0.3080, worse) | AB rounded to 4 (raw=3.55), rates preserved: AVG=0.188 HR/AB=0.066 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6499 -> 1.0000 (boost 0.3501, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.1883 -> 0.2500 (boost 0.0617, better) | predicted_SLG: 0.4337 -> 0.2500 (deboost -0.1837, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4337 (boost 0.1837, better) | predicted_AVG: 0.2500 -> 0.1883 (deboost -0.0617, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "1B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.014,
"predicted_AB": 3.432,
"predicted_AVG": 0.246,
"predicted_BB": 0.311,
"predicted_H": 0.4,
"predicted_HR": 0.13,
"predicted_OBP": 0.315,
"predicted_R": 0.527,
"predicted_RBI": 0.3,
"predicted_SLG": 0.54,
"predicted_SO": 1.135
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1481,
"predicted_3B": 0.0119,
"predicted_AB": 3.5514,
"predicted_AVG": 0.2621,
"predicted_BB": 0.3102,
"predicted_H": 0.6767,
"predicted_HBP": 0.051,
"predicted_HR": 0.2384,
"predicted_OBP": 0.3288,
"predicted_R": 0.6632,
"predicted_RBI": 0.4809,
"predicted_SLG": 0.5807,
"predicted_SO": 1.1498
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1481,
"delta": -0.0139,
"percent_delta": -0.0858,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.432,
"after": 3.5514,
"delta": 0.1194,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2621,
"delta": 0.0161,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.311,
"after": 0.3102,
"delta": -0.0008,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.6767,
"delta": 0.2767,
"percent_delta": 0.6917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2384,
"delta": 0.1084,
"percent_delta": 0.8338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3288,
"delta": 0.0138,
"percent_delta": 0.0438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.527,
"after": 0.6632,
"delta": 0.1362,
"percent_delta": 0.2584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.4809,
"delta": 0.1809,
"percent_delta": 0.603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.54,
"after": 0.5807,
"delta": 0.0407,
"percent_delta": 0.0754,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.135,
"after": 1.1498,
"delta": 0.0148,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4,
"after": 0.6767,
"delta": 0.2767,
"percent_delta": 0.6917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1481,
"predicted_3B": 0.0119,
"predicted_AB": 3.5514,
"predicted_AVG": 0.1883,
"predicted_BB": 0.308,
"predicted_H": 0.6688,
"predicted_HBP": 0.051,
"predicted_HR": 0.2332,
"predicted_OBP": 0.2531,
"predicted_R": 0.6499,
"predicted_RBI": 0.4713,
"predicted_SLG": 0.4337,
"predicted_SO": 1.158
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1481,
"after": 0.1481,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5514,
"after": 3.5514,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2621,
"after": 0.1883,
"delta": -0.0738,
"percent_delta": -0.2816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3102,
"after": 0.308,
"delta": -0.0022,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6767,
"after": 0.6688,
"delta": -0.0079,
"percent_delta": -0.0117,
"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.2384,
"after": 0.2332,
"delta": -0.0052,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3288,
"after": 0.2531,
"delta": -0.0757,
"percent_delta": -0.2302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6632,
"after": 0.6499,
"delta": -0.0133,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4809,
"after": 0.4713,
"delta": -0.0096,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5807,
"after": 0.4337,
"delta": -0.147,
"percent_delta": -0.2531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1498,
"after": 1.158,
"delta": 0.0082,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5807,
"after": 0.4337,
"delta": -0.147,
"percent_delta": -0.2531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.55), rates preserved: AVG=0.188 HR/AB=0.066",
"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.1481,
"after": 0.0,
"delta": -0.1481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5514,
"after": 4.0,
"delta": 0.4486,
"percent_delta": 0.1263,
"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.6688,
"after": 1.0,
"delta": 0.3312,
"percent_delta": 0.4952,
"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.2332,
"after": 0.0,
"delta": -0.2332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4713,
"after": 1.0,
"delta": 0.5287,
"percent_delta": 1.1218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.158,
"after": 1.0,
"delta": -0.158,
"percent_delta": -0.1364,
"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.4713,
"after": 1.0,
"delta": 0.5287,
"percent_delta": 1.1218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6499,
"after": 1.0,
"delta": 0.3501,
"percent_delta": 0.5387,
"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.6499,
"after": 1.0,
"delta": 0.3501,
"percent_delta": 0.5387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1883,
"after": 0.25,
"delta": 0.0617,
"percent_delta": 0.3277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2531,
"after": 0.25,
"delta": -0.0031,
"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_SLG",
"before": 0.4337,
"after": 0.25,
"delta": -0.1837,
"percent_delta": -0.4236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1883,
"after": 0.25,
"delta": 0.0617,
"percent_delta": 0.3277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4337,
"after": 0.25,
"delta": -0.1837,
"percent_delta": -0.4236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1883,
"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.2531,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4337,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1883,
"delta": -0.0617,
"percent_delta": -0.2467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2531,
"delta": 0.0031,
"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_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4337,
"delta": 0.1837,
"percent_delta": 0.7349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4337,
"delta": 0.1837,
"percent_delta": 0.7349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1883,
"delta": -0.0617,
"percent_delta": -0.2467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.432,
"after": 3.0,
"delta": -0.432,
"percent_delta": -0.1259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.1883,
"delta": -0.0577,
"percent_delta": -0.2346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.311,
"after": 1.0,
"delta": 0.689,
"percent_delta": 2.2154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"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.315,
"after": 0.2531,
"delta": -0.0619,
"percent_delta": -0.1965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.54,
"after": 0.4337,
"delta": -0.1063,
"percent_delta": -0.1969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.135,
"after": 1.0,
"delta": -0.135,
"percent_delta": -0.1189,
"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.311,
"after": 1.0,
"delta": 0.689,
"percent_delta": 2.2154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.432 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.311 | - |
| predicted_H | 0.400 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.527 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.540 | - |
| predicted_SO | 1.135 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.551 | 0.119 |
| predicted_AVG | 0.262 | 0.016 |
| predicted_BB | 0.310 | -0.001 |
| predicted_H | 0.677 | 0.277 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.238 | 0.108 |
| predicted_OBP | 0.329 | 0.014 |
| predicted_R | 0.663 | 0.136 |
| predicted_RBI | 0.481 | 0.181 |
| predicted_SLG | 0.581 | 0.041 |
| predicted_SO | 1.150 | 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.148 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.551 | 0.000 |
| predicted_AVG | 0.188 | -0.074 |
| predicted_BB | 0.308 | -0.002 |
| predicted_H | 0.669 | -0.008 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.233 | -0.005 |
| predicted_OBP | 0.253 | -0.076 |
| predicted_R | 0.650 | -0.013 |
| predicted_RBI | 0.471 | -0.010 |
| predicted_SLG | 0.434 | -0.147 |
| predicted_SO | 1.158 | 0.008 |
AB rounded to 4 (raw=3.55), rates preserved: AVG=0.188 HR/AB=0.066
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.148 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.449 |
| predicted_AVG | 0.250 | 0.062 |
| predicted_BB | 0.000 | -0.308 |
| predicted_H | 1.000 | 0.331 |
| predicted_HR | 0.000 | -0.233 |
| predicted_OBP | 0.250 | -0.003 |
| predicted_R | 1.000 | 0.350 |
| predicted_RBI | 1.000 | 0.529 |
| predicted_SLG | 0.250 | -0.184 |
| predicted_SO | 1.000 | -0.158 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 7.000 | 0.000 | 0.000 | 5.000 | 8.000 | 9.000 | 2.000 | 6.000 | 0.3500 | 0.4091 | 1.1000 | 0.3500 | 0.2500 | 0.4000 | 0.1000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 42.000 | 12.000 | 1.000 | 0.000 | 6.000 | 11.000 | 12.000 | 2.000 | 14.000 | 0.2857 | 0.3333 | 0.7381 | 0.2857 | 0.1429 | 0.2619 | 0.0476 | 0.3333 |
| season | 0.60 | 74 | - | 254.000 | 68.000 | 12.000 | 1.000 | 14.000 | 30.000 | 39.000 | 23.000 | 84.000 | 0.2677 | 0.3381 | 0.4882 | 0.2677 | 0.0551 | 0.1181 | 0.0906 | 0.3307 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.7150 |
| predicted_AVG | 0.2842 |
| predicted_BB | 0.3090 |
| predicted_H | 1.0560 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.3870 |
| predicted_OBP | 0.3477 |
| predicted_R | 0.8500 |
| predicted_RBI | 0.7290 |
| predicted_SLG | 0.6364 |
| predicted_SO | 1.1700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.1290 | 0.1481 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 3.4320 | 3.7150 | 3.5514 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2842 | 0.2621 | model_form_blend |
| predicted_BB | 0.3110 | 0.3090 | 0.3102 | model_form_blend |
| predicted_H | 0.4000 | 1.0560 | 0.6767 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.1300 | 0.3870 | 0.2384 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3477 | 0.3288 | model_form_blend |
| predicted_R | 0.5270 | 0.8500 | 0.6632 | model_form_blend |
| predicted_RBI | 0.3000 | 0.7290 | 0.4809 | model_form_blend |
| predicted_SLG | 0.5400 | 0.6364 | 0.5807 | model_form_blend |
| predicted_SO | 1.1350 | 1.1700 | 1.1498 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 203 |
| Season rows before report date | 203 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.268 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 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 | 1 |
| 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 | 1B |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 695506 |
| playerID | 695506 |
| playerName | Jac Caglianone |
| pos | RF |
| started | True |
| startingPosition | 1B |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.363 |
| sl_xwoba | 0.384 |
| sl_xba | 0.284 |
| sl_xslg | 0.541 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 16.8 |
| sl_hard_hit_percent | 59.0 |
| sl_exit_velocity_avg | 94.0 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 30.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.357 | 0.000 | 0.000 | Hitting_2B | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 1.750 | 1.000 | 2.250 | 3.000 |
| predicted_AVG | 0.291 | 0.250 | 0.333 | Hitting_AVG | 0.429 | 1.000 | -0.179 | -0.750 |
| 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.230 | 1.000 | 1.000 | Hitting_H | 0.750 | 1.000 | 0.250 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_OBP | 0.306 | 0.250 | 0.333 | Hitting_OBP | 0.429 | 1.000 | -0.179 | -0.750 |
| predicted_R | 0.714 | 0.000 | 1.000 | Hitting_R | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.472 | 0.250 | 0.333 | Hitting_SLG | 1.000 | 4.000 | -0.750 | -3.750 |
| predicted_SO | 0.000 | 0.000 | 1.000 | Hitting_SO | 0.000 | 0.000 | 0.000 | 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_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_R: 0.7140 -> 0.0000 (deboost -0.7140, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 5 | 1 | predicted_AB: 2.5000 -> 2.7052 (boost 0.2052, 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.3122 -> 0.1568 (deboost -0.1554, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.1329 -> 1.0000 (boost 0.8671, worse) | predicted_H: 0.3859 -> 0.0000 (deboost -0.3859, worse) | AB rounded to 3 (raw=2.71), rates preserved: AVG=0.143 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 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1427 -> 0.3330 (boost 0.1903, better) | predicted_SLG: 0.3621 -> 0.3330 (deboost -0.0291, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3621 (boost 0.0291, better) | predicted_AVG: 0.3330 -> 0.1427 (deboost -0.1903, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668942",
"player_name": "Josh Rojas",
"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.357,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.291,
"predicted_BB": 0.0,
"predicted_H": 0.23,
"predicted_HR": 0.05,
"predicted_OBP": 0.306,
"predicted_R": 0.714,
"predicted_RBI": 0.19,
"predicted_SLG": 0.472,
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3302,
"predicted_3B": 0.0023,
"predicted_AB": 2.7052,
"predicted_AVG": 0.2896,
"predicted_BB": 0.0458,
"predicted_H": 0.3905,
"predicted_HBP": 0.026,
"predicted_HR": 0.0798,
"predicted_OBP": 0.3122,
"predicted_R": 0.6795,
"predicted_RBI": 0.3077,
"predicted_SLG": 0.4826,
"predicted_SO": 0.132
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.357,
"after": 0.3302,
"delta": -0.0268,
"percent_delta": -0.0751,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0023,
"delta": 0.0023,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7052,
"delta": 0.2052,
"percent_delta": 0.0821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2896,
"delta": -0.0014,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0458,
"delta": 0.0458,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.3905,
"delta": 0.1605,
"percent_delta": 0.6978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0798,
"delta": 0.0298,
"percent_delta": 0.596,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3122,
"delta": 0.0062,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.714,
"after": 0.6795,
"delta": -0.0345,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.3077,
"delta": 0.1177,
"percent_delta": 0.6195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4826,
"delta": 0.0106,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.132,
"delta": 0.132,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7052,
"delta": 0.2052,
"percent_delta": 0.0821,
"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": 4,
"last_10": 4,
"season": 4
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3302,
"predicted_3B": 0.0023,
"predicted_AB": 2.7052,
"predicted_AVG": 0.1427,
"predicted_BB": 0.0455,
"predicted_H": 0.3859,
"predicted_HBP": 0.026,
"predicted_HR": 0.0781,
"predicted_OBP": 0.1568,
"predicted_R": 0.6659,
"predicted_RBI": 0.3015,
"predicted_SLG": 0.3621,
"predicted_SO": 0.1329
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3302,
"after": 0.3302,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7052,
"after": 2.7052,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2896,
"after": 0.1427,
"delta": -0.1469,
"percent_delta": -0.5073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0458,
"after": 0.0455,
"delta": -0.0003,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3905,
"after": 0.3859,
"delta": -0.0046,
"percent_delta": -0.0118,
"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.0798,
"after": 0.0781,
"delta": -0.0017,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3122,
"after": 0.1568,
"delta": -0.1554,
"percent_delta": -0.4978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6795,
"after": 0.6659,
"delta": -0.0136,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3077,
"after": 0.3015,
"delta": -0.0062,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4826,
"after": 0.3621,
"delta": -0.1205,
"percent_delta": -0.2497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.132,
"after": 0.1329,
"delta": 0.0009,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3122,
"after": 0.1568,
"delta": -0.1554,
"percent_delta": -0.4978,
"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.143 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.3302,
"after": 0.0,
"delta": -0.3302,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7052,
"after": 3.0,
"delta": 0.2948,
"percent_delta": 0.109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0455,
"after": 0.0,
"delta": -0.0455,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3859,
"after": 0.0,
"delta": -0.3859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0781,
"after": 0.0,
"delta": -0.0781,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3015,
"after": 0.0,
"delta": -0.3015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.1329,
"after": 1.0,
"delta": 0.8671,
"percent_delta": 6.5245,
"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.1329,
"after": 1.0,
"delta": 0.8671,
"percent_delta": 6.5245,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3859,
"after": 0.0,
"delta": -0.3859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6659,
"after": 1.0,
"delta": 0.3341,
"percent_delta": 0.5017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1427,
"after": 0.333,
"delta": 0.1903,
"percent_delta": 1.3336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1568,
"after": 0.333,
"delta": 0.1762,
"percent_delta": 1.1237,
"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.3621,
"after": 0.333,
"delta": -0.0291,
"percent_delta": -0.0804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1427,
"after": 0.333,
"delta": 0.1903,
"percent_delta": 1.3336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3621,
"after": 0.333,
"delta": -0.0291,
"percent_delta": -0.0804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1427,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1568,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3621,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1427,
"delta": -0.1903,
"percent_delta": -0.5716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1568,
"delta": -0.1762,
"percent_delta": -0.529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3621,
"delta": 0.0291,
"percent_delta": 0.0874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3621,
"delta": 0.0291,
"percent_delta": 0.0874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1427,
"delta": -0.1903,
"percent_delta": -0.5716,
"direction": "deboost",
"projection_effect": "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": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.1427,
"delta": -0.1483,
"percent_delta": -0.5096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.1568,
"delta": -0.1492,
"percent_delta": -0.4876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.3621,
"delta": -0.1099,
"percent_delta": -0.2328,
"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": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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 | 2.500 | - |
| predicted_AVG | 0.291 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.714 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.472 | - |
| predicted_SO | 0.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.330 | -0.027 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.705 | 0.205 |
| predicted_AVG | 0.290 | -0.001 |
| predicted_BB | 0.046 | 0.046 |
| predicted_H | 0.391 | 0.161 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.080 | 0.030 |
| predicted_OBP | 0.312 | 0.006 |
| predicted_R | 0.679 | -0.034 |
| predicted_RBI | 0.308 | 0.118 |
| predicted_SLG | 0.483 | 0.011 |
| predicted_SO | 0.132 | 0.132 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.330 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.705 | 0.000 |
| predicted_AVG | 0.143 | -0.147 |
| predicted_BB | 0.045 | -0.000 |
| predicted_H | 0.386 | -0.005 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.078 | -0.002 |
| predicted_OBP | 0.157 | -0.155 |
| predicted_R | 0.666 | -0.014 |
| predicted_RBI | 0.301 | -0.006 |
| predicted_SLG | 0.362 | -0.120 |
| predicted_SO | 0.133 | 0.001 |
AB rounded to 3 (raw=2.71), rates preserved: AVG=0.143 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 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.330 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.295 |
| predicted_AVG | 0.333 | 0.190 |
| predicted_BB | 0.000 | -0.045 |
| predicted_H | 1.000 | 0.614 |
| predicted_HR | 0.000 | -0.078 |
| predicted_OBP | 0.333 | 0.176 |
| predicted_R | 1.000 | 0.334 |
| predicted_RBI | 0.000 | -0.301 |
| predicted_SLG | 0.333 | -0.029 |
| predicted_SO | 1.000 | 0.867 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 7.000 | 3.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.4286 | 0.4286 | 1.0000 | 0.4286 | 0.1429 | 0.5714 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 4 | - | 7.000 | 3.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.4286 | 0.4286 | 1.0000 | 0.4286 | 0.1429 | 0.5714 | 0.0000 | 0.0000 |
| season | 0.60 | 4 | - | 7.000 | 3.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.4286 | 0.4286 | 1.0000 | 0.4286 | 0.1429 | 0.5714 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2310 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.4640 |
| predicted_AVG | 0.2842 |
| predicted_BB | 0.2150 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.1900 |
| predicted_OBP | 0.3351 |
| predicted_R | 0.5520 |
| predicted_RBI | 0.7430 |
| predicted_SLG | 0.5217 |
| predicted_SO | 0.6200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3570 | 0.2310 | 0.3302 | model_form_blend |
| predicted_3B | 0.0000 | 0.0110 | 0.0023 | model_form_blend |
| predicted_AB | 2.5000 | 3.4640 | 2.7052 | model_form_blend |
| predicted_AVG | 0.2910 | 0.2842 | 0.2896 | model_form_blend |
| predicted_BB | 0.0000 | 0.2150 | 0.0458 | model_form_blend |
| predicted_H | 0.2300 | 0.9840 | 0.3905 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.0500 | 0.1900 | 0.0798 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3351 | 0.3122 | model_form_blend |
| predicted_R | 0.7140 | 0.5520 | 0.6795 | model_form_blend |
| predicted_RBI | 0.1900 | 0.7430 | 0.3077 | model_form_blend |
| predicted_SLG | 0.4720 | 0.5217 | 0.4826 | model_form_blend |
| predicted_SO | 0.0000 | 0.6200 | 0.1320 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 4 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.429 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260624_KC@TB |
| game_type | ph |
| mlbID | 668942 |
| note | Homered for Tolbert in the 9th. |
| playerID | 668942 |
| playerName | Josh Rojas |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 0.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.601 |
| sl_xwoba | 0.319 |
| sl_xba | 0.215 |
| sl_xslg | 0.548 |
| sl_sweet_spot_percent | 14.3 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 71.4 |
| sl_exit_velocity_avg | 92.9 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 11.1 |
| sl_swing_percent | 42.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.279 | 1.000 | 0.000 | Hitting_2B | 0.261 | 0.000 | 0.739 | 1.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.250 | 4.000 | 3.000 | Hitting_AB | 2.967 | 4.000 | 1.033 | 0.000 |
| predicted_AVG | 0.263 | 0.250 | 0.333 | Hitting_AVG | 0.231 | 0.000 | 0.019 | 0.250 |
| predicted_BB | 0.372 | 0.000 | 0.000 | Hitting_BB | 0.402 | 0.000 | -0.402 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.850 | 1.000 | 1.000 | Hitting_H | 0.685 | 0.000 | 0.315 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_OBP | 0.343 | 0.250 | 0.333 | Hitting_OBP | 0.336 | 0.200 | -0.086 | 0.050 |
| predicted_R | 0.488 | 1.000 | 1.000 | Hitting_R | 0.522 | 0.000 | 0.478 | 1.000 |
| predicted_RBI | 0.530 | 2.000 | 0.000 | Hitting_RBI | 0.630 | 0.000 | 1.370 | 2.000 |
| predicted_SLG | 0.457 | 0.500 | 0.333 | Hitting_SLG | 0.359 | 0.000 | 0.141 | 0.500 |
| predicted_SO | 0.465 | 2.000 | 0.000 | Hitting_SO | 0.380 | 0.000 | 1.620 | 2.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.4650 -> 2.0000 (boost 1.5350, worse) |
| Biggest Deboost | predicted_BB: 0.3720 -> 0.0000 (deboost -0.3720, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4880 -> 0.5591 (boost 0.0711, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4725 -> 0.4813 (boost 0.0088, better) | predicted_OBP: 0.3483 -> 0.3366 (deboost -0.0117, 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.8753 -> 1.0000 (boost 0.1247, better) | predicted_RBI: 0.5469 -> 0.0000 (deboost -0.5469, worse) | AB rounded to 3 (raw=3.29), rates preserved: AVG=0.266 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5479 -> 1.0000 (boost 0.4521, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2657 -> 0.3330 (boost 0.0673, better) | predicted_SLG: 0.4813 -> 0.3330 (deboost -0.1483, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4813 (boost 0.1483, better) | predicted_AVG: 0.3330 -> 0.2657 (deboost -0.0673, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679845",
"player_name": "Nick Loftin",
"position": "3B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.279,
"predicted_3B": 0.023,
"predicted_AB": 3.25,
"predicted_AVG": 0.263,
"predicted_BB": 0.372,
"predicted_H": 0.85,
"predicted_HR": 0.13,
"predicted_OBP": 0.343,
"predicted_R": 0.488,
"predicted_RBI": 0.53,
"predicted_SLG": 0.457,
"predicted_SO": 0.465
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2666,
"predicted_3B": 0.0198,
"predicted_AB": 3.2942,
"predicted_AVG": 0.2696,
"predicted_BB": 0.3547,
"predicted_H": 0.8857,
"predicted_HBP": 0.09,
"predicted_HR": 0.1376,
"predicted_OBP": 0.3483,
"predicted_R": 0.5591,
"predicted_RBI": 0.5581,
"predicted_SLG": 0.4725,
"predicted_SO": 0.5064
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.279,
"after": 0.2666,
"delta": -0.0124,
"percent_delta": -0.0444,
"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": 3.25,
"after": 3.2942,
"delta": 0.0442,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2696,
"delta": 0.0066,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.372,
"after": 0.3547,
"delta": -0.0173,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8857,
"delta": 0.0357,
"percent_delta": 0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1376,
"delta": 0.0076,
"percent_delta": 0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3483,
"delta": 0.0053,
"percent_delta": 0.0155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.488,
"after": 0.5591,
"delta": 0.0711,
"percent_delta": 0.1457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5581,
"delta": 0.0281,
"percent_delta": 0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.4725,
"delta": 0.0155,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.465,
"after": 0.5064,
"delta": 0.0414,
"percent_delta": 0.089,
"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.488,
"after": 0.5591,
"delta": 0.0711,
"percent_delta": 0.1457,
"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": 43
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2666,
"predicted_3B": 0.0198,
"predicted_AB": 3.2942,
"predicted_AVG": 0.2657,
"predicted_BB": 0.3522,
"predicted_H": 0.8753,
"predicted_HBP": 0.09,
"predicted_HR": 0.1346,
"predicted_OBP": 0.3366,
"predicted_R": 0.5479,
"predicted_RBI": 0.5469,
"predicted_SLG": 0.4813,
"predicted_SO": 0.51
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2666,
"after": 0.2666,
"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": 3.2942,
"after": 3.2942,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2696,
"after": 0.2657,
"delta": -0.0039,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3547,
"after": 0.3522,
"delta": -0.0025,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8857,
"after": 0.8753,
"delta": -0.0104,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.09,
"after": 0.09,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1376,
"after": 0.1346,
"delta": -0.003,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3483,
"after": 0.3366,
"delta": -0.0117,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5591,
"after": 0.5479,
"delta": -0.0112,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5581,
"after": 0.5469,
"delta": -0.0112,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4725,
"after": 0.4813,
"delta": 0.0088,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5064,
"after": 0.51,
"delta": 0.0036,
"percent_delta": 0.0071,
"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.4725,
"after": 0.4813,
"delta": 0.0088,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3483,
"after": 0.3366,
"delta": -0.0117,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.29), rates preserved: AVG=0.266 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2666,
"after": 0.0,
"delta": -0.2666,
"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": 3.2942,
"after": 3.0,
"delta": -0.2942,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3522,
"after": 0.0,
"delta": -0.3522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8753,
"after": 1.0,
"delta": 0.1247,
"percent_delta": 0.1425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1346,
"after": 0.0,
"delta": -0.1346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5469,
"after": 0.0,
"delta": -0.5469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"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.8753,
"after": 1.0,
"delta": 0.1247,
"percent_delta": 0.1425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5469,
"after": 0.0,
"delta": -0.5469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5479,
"after": 1.0,
"delta": 0.4521,
"percent_delta": 0.8252,
"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.5479,
"after": 1.0,
"delta": 0.4521,
"percent_delta": 0.8252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2657,
"after": 0.333,
"delta": 0.0673,
"percent_delta": 0.2533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3366,
"after": 0.333,
"delta": -0.0036,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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.4813,
"after": 0.333,
"delta": -0.1483,
"percent_delta": -0.3081,
"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.2657,
"after": 0.333,
"delta": 0.0673,
"percent_delta": 0.2533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4813,
"after": 0.333,
"delta": -0.1483,
"percent_delta": -0.3081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2657,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3366,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4813,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2657,
"delta": -0.0673,
"percent_delta": -0.202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3366,
"delta": 0.0036,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4813,
"delta": 0.1483,
"percent_delta": 0.4452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4813,
"delta": 0.1483,
"percent_delta": 0.4452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2657,
"delta": -0.0673,
"percent_delta": -0.202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.279,
"after": 1.0,
"delta": 0.721,
"percent_delta": 2.5842,
"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": 3.25,
"after": 4.0,
"delta": 0.75,
"percent_delta": 0.2308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2657,
"delta": 0.0027,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3366,
"delta": -0.0064,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.488,
"after": 1.0,
"delta": 0.512,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.4813,
"delta": 0.0243,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.465,
"after": 2.0,
"delta": 1.535,
"percent_delta": 3.3011,
"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.465,
"after": 2.0,
"delta": 1.535,
"percent_delta": 3.3011,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"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.279 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.250 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.372 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.488 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.457 | - |
| predicted_SO | 0.465 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.267 | -0.012 |
| predicted_3B | 0.020 | -0.003 |
| predicted_AB | 3.294 | 0.044 |
| predicted_AVG | 0.270 | 0.007 |
| predicted_BB | 0.355 | -0.017 |
| predicted_H | 0.886 | 0.036 |
| predicted_HBP | 0.090 | - |
| predicted_HR | 0.138 | 0.008 |
| predicted_OBP | 0.348 | 0.005 |
| predicted_R | 0.559 | 0.071 |
| predicted_RBI | 0.558 | 0.028 |
| predicted_SLG | 0.472 | 0.015 |
| predicted_SO | 0.506 | 0.041 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.267 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.294 | 0.000 |
| predicted_AVG | 0.266 | -0.004 |
| predicted_BB | 0.352 | -0.003 |
| predicted_H | 0.875 | -0.010 |
| predicted_HBP | 0.090 | 0.000 |
| predicted_HR | 0.135 | -0.003 |
| predicted_OBP | 0.337 | -0.012 |
| predicted_R | 0.548 | -0.011 |
| predicted_RBI | 0.547 | -0.011 |
| predicted_SLG | 0.481 | 0.009 |
| predicted_SO | 0.510 | 0.004 |
AB rounded to 3 (raw=3.29), rates preserved: AVG=0.266 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 | 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 | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.267 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 3.000 | -0.294 |
| predicted_AVG | 0.333 | 0.067 |
| predicted_BB | 0.000 | -0.352 |
| predicted_H | 1.000 | 0.125 |
| predicted_HR | 0.000 | -0.135 |
| predicted_OBP | 0.333 | -0.004 |
| predicted_R | 1.000 | 0.452 |
| predicted_RBI | 0.000 | -0.547 |
| predicted_SLG | 0.333 | -0.148 |
| predicted_SO | 0.000 | -0.510 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.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 | - | 19.000 | 6.000 | 0.000 | 0.000 | 2.000 | 4.000 | 7.000 | 1.000 | 3.000 | 0.3158 | 0.3810 | 0.6316 | 0.3158 | 0.1053 | 0.2105 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 10 | - | 35.000 | 12.000 | 4.000 | 0.000 | 2.000 | 6.000 | 7.000 | 3.000 | 6.000 | 0.3429 | 0.4103 | 0.6286 | 0.3429 | 0.0571 | 0.1714 | 0.0857 | 0.1714 |
| season | 0.60 | 43 | - | 129.000 | 33.000 | 12.000 | 1.000 | 3.000 | 24.000 | 21.000 | 16.000 | 20.000 | 0.2558 | 0.3444 | 0.4341 | 0.2558 | 0.0233 | 0.1860 | 0.1240 | 0.1550 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2480 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.3600 |
| predicted_AVG | 0.2795 |
| predicted_BB | 0.3290 |
| predicted_H | 0.9390 |
| predicted_HBP | 0.0900 |
| predicted_HR | 0.1490 |
| predicted_OBP | 0.3563 |
| predicted_R | 0.6650 |
| predicted_RBI | 0.6000 |
| predicted_SLG | 0.4955 |
| predicted_SO | 0.5680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2790 | 0.2480 | 0.2666 | model_form_blend |
| predicted_3B | 0.0230 | 0.0150 | 0.0198 | model_form_blend |
| predicted_AB | 3.2500 | 3.3600 | 3.2942 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2795 | 0.2696 | model_form_blend |
| predicted_BB | 0.3720 | 0.3290 | 0.3547 | model_form_blend |
| predicted_H | 0.8500 | 0.9390 | 0.8857 | model_form_blend |
| predicted_HBP | - | 0.0900 | 0.0900 | form_only |
| predicted_HR | 0.1300 | 0.1490 | 0.1376 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3563 | 0.3483 | model_form_blend |
| predicted_R | 0.4880 | 0.6650 | 0.5591 | model_form_blend |
| predicted_RBI | 0.5300 | 0.6000 | 0.5581 | model_form_blend |
| predicted_SLG | 0.4570 | 0.4955 | 0.4725 | model_form_blend |
| predicted_SO | 0.4650 | 0.5680 | 0.5064 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 43 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.256 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 679845 |
| playerID | 679845 |
| playerName | Nick Loftin |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.346 |
| sl_xwoba | 0.336 |
| sl_xba | 0.258 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 14.8 |
| sl_swing_percent | 41.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.122 | 0.000 | 0.000 | Hitting_2B | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.040 | 4.000 | 4.000 | Hitting_AB | 3.885 | 4.000 | 0.115 | 0.000 |
| predicted_AVG | 0.215 | 0.000 | 0.250 | Hitting_AVG | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_BB | 0.162 | 0.000 | 0.000 | Hitting_BB | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 0.000 | 1.000 | Hitting_H | 0.852 | 0.000 | -0.852 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_OBP | 0.259 | 0.000 | 0.250 | Hitting_OBP | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_R | 0.392 | 0.000 | 0.000 | Hitting_R | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.477 | 0.000 | -0.477 | 0.000 |
| predicted_SLG | 0.355 | 0.000 | 0.250 | Hitting_SLG | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_SO | 0.811 | 3.000 | 1.000 | Hitting_SO | 0.807 | 1.000 | 2.193 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.8110 -> 3.0000 (boost 2.1890, worse) |
| Biggest Deboost | predicted_H: 0.8700 -> 0.0000 (deboost -0.8700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3550 -> 0.3438 (deboost -0.0112, worse) | Final model input calibrated with local 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.2496 -> 0.2322 (deboost -0.0174, 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.8241 -> 1.0000 (boost 0.1759, better) | predicted_RBI: 0.4406 -> 0.0000 (deboost -0.4406, worse) | AB rounded to 4 (raw=4.04), rates preserved: AVG=0.204 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3896 -> 0.0000 (deboost -0.3896, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2051 -> 0.2500 (boost 0.0449, better) | predicted_SLG: 0.3275 -> 0.2500 (deboost -0.0775, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3275 (boost 0.0775, better) | predicted_AVG: 0.2500 -> 0.2051 (deboost -0.0449, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "521692",
"player_name": "Salvador Perez",
"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.122,
"predicted_3B": 0.0,
"predicted_AB": 4.04,
"predicted_AVG": 0.215,
"predicted_BB": 0.162,
"predicted_H": 0.87,
"predicted_HR": 0.12,
"predicted_OBP": 0.259,
"predicted_R": 0.392,
"predicted_RBI": 0.45,
"predicted_SLG": 0.355,
"predicted_SO": 0.811
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1589,
"predicted_3B": 0.0004,
"predicted_AB": 4.0179,
"predicted_AVG": 0.2074,
"predicted_BB": 0.1429,
"predicted_H": 0.8339,
"predicted_HBP": 0.102,
"predicted_HR": 0.1132,
"predicted_OBP": 0.2496,
"predicted_R": 0.3975,
"predicted_RBI": 0.4496,
"predicted_SLG": 0.3438,
"predicted_SO": 0.8339
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.1589,
"delta": 0.0369,
"percent_delta": 0.3025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 4.0179,
"delta": -0.0221,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2074,
"delta": -0.0076,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.1429,
"delta": -0.0191,
"percent_delta": -0.1179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8339,
"delta": -0.0361,
"percent_delta": -0.0415,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1132,
"delta": -0.0068,
"percent_delta": -0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2496,
"delta": -0.0094,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.3975,
"delta": 0.0055,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4496,
"delta": -0.0004,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3438,
"delta": -0.0112,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.811,
"after": 0.8339,
"delta": 0.0229,
"percent_delta": 0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.355,
"after": 0.3438,
"delta": -0.0112,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1589,
"predicted_3B": 0.0004,
"predicted_AB": 4.0179,
"predicted_AVG": 0.2051,
"predicted_BB": 0.1419,
"predicted_H": 0.8241,
"predicted_HBP": 0.102,
"predicted_HR": 0.1107,
"predicted_OBP": 0.2322,
"predicted_R": 0.3896,
"predicted_RBI": 0.4406,
"predicted_SLG": 0.3275,
"predicted_SO": 0.8398
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1589,
"after": 0.1589,
"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.0179,
"after": 4.0179,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2074,
"after": 0.2051,
"delta": -0.0023,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1429,
"after": 0.1419,
"delta": -0.001,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8339,
"after": 0.8241,
"delta": -0.0098,
"percent_delta": -0.0118,
"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.1132,
"after": 0.1107,
"delta": -0.0025,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2496,
"after": 0.2322,
"delta": -0.0174,
"percent_delta": -0.0697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3975,
"after": 0.3896,
"delta": -0.0079,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4496,
"after": 0.4406,
"delta": -0.009,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3438,
"after": 0.3275,
"delta": -0.0163,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8339,
"after": 0.8398,
"delta": 0.0059,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2496,
"after": 0.2322,
"delta": -0.0174,
"percent_delta": -0.0697,
"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.204 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1589,
"after": 0.0,
"delta": -0.1589,
"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.0179,
"after": 4.0,
"delta": -0.0179,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1419,
"after": 0.0,
"delta": -0.1419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8241,
"after": 1.0,
"delta": 0.1759,
"percent_delta": 0.2134,
"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.1107,
"after": 0.0,
"delta": -0.1107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4406,
"after": 0.0,
"delta": -0.4406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8398,
"after": 1.0,
"delta": 0.1602,
"percent_delta": 0.1908,
"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.8241,
"after": 1.0,
"delta": 0.1759,
"percent_delta": 0.2134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4406,
"after": 0.0,
"delta": -0.4406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3896,
"after": 0.0,
"delta": -0.3896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3896,
"after": 0.0,
"delta": -0.3896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2051,
"after": 0.25,
"delta": 0.0449,
"percent_delta": 0.2189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2322,
"after": 0.25,
"delta": 0.0178,
"percent_delta": 0.0767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3275,
"after": 0.25,
"delta": -0.0775,
"percent_delta": -0.2366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2051,
"after": 0.25,
"delta": 0.0449,
"percent_delta": 0.2189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3275,
"after": 0.25,
"delta": -0.0775,
"percent_delta": -0.2366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2051,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2322,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3275,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2051,
"delta": -0.0449,
"percent_delta": -0.1795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2322,
"delta": -0.0178,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3275,
"delta": 0.0775,
"percent_delta": 0.3102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3275,
"delta": 0.0775,
"percent_delta": 0.3102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2051,
"delta": -0.0449,
"percent_delta": -0.1795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 4.0,
"delta": -0.04,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2051,
"delta": -0.0099,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2322,
"delta": -0.0268,
"percent_delta": -0.1035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3275,
"delta": -0.0275,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.811,
"after": 3.0,
"delta": 2.189,
"percent_delta": 2.6991,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.811,
"after": 3.0,
"delta": 2.189,
"percent_delta": 2.6991,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.040 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.162 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.259 | - |
| predicted_R | 0.392 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 0.811 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.037 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.018 | -0.022 |
| predicted_AVG | 0.207 | -0.008 |
| predicted_BB | 0.143 | -0.019 |
| predicted_H | 0.834 | -0.036 |
| predicted_HBP | 0.102 | - |
| predicted_HR | 0.113 | -0.007 |
| predicted_OBP | 0.250 | -0.009 |
| predicted_R | 0.398 | 0.006 |
| predicted_RBI | 0.450 | -0.000 |
| predicted_SLG | 0.344 | -0.011 |
| predicted_SO | 0.834 | 0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.018 | 0.000 |
| predicted_AVG | 0.205 | -0.002 |
| predicted_BB | 0.142 | -0.001 |
| predicted_H | 0.824 | -0.010 |
| predicted_HBP | 0.102 | 0.000 |
| predicted_HR | 0.111 | -0.002 |
| predicted_OBP | 0.232 | -0.017 |
| predicted_R | 0.390 | -0.008 |
| predicted_RBI | 0.441 | -0.009 |
| predicted_SLG | 0.328 | -0.016 |
| predicted_SO | 0.840 | 0.006 |
AB rounded to 4 (raw=4.04), rates preserved: AVG=0.204 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.159 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.018 |
| predicted_AVG | 0.250 | 0.045 |
| predicted_BB | 0.000 | -0.142 |
| predicted_H | 1.000 | 0.176 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.250 | 0.018 |
| predicted_R | 0.000 | -0.390 |
| predicted_RBI | 0.000 | -0.441 |
| predicted_SLG | 0.250 | -0.078 |
| predicted_SO | 1.000 | 0.160 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 2.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.000 | 5.000 | 0.1500 | 0.1905 | 0.2500 | 0.1500 | 0.0000 | 0.1500 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 42.000 | 8.000 | 3.000 | 0.000 | 1.000 | 4.000 | 4.000 | 0.000 | 9.000 | 0.1905 | 0.2093 | 0.3333 | 0.1905 | 0.0238 | 0.0952 | 0.0000 | 0.2143 |
| season | 0.60 | 74 | - | 291.000 | 60.000 | 9.000 | 0.000 | 10.000 | 30.000 | 29.000 | 12.000 | 60.000 | 0.2062 | 0.2492 | 0.3402 | 0.2062 | 0.0344 | 0.1031 | 0.0412 | 0.2062 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2090 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9880 |
| predicted_AVG | 0.1970 |
| predicted_BB | 0.1170 |
| predicted_H | 0.7850 |
| predicted_HBP | 0.1020 |
| predicted_HR | 0.1040 |
| predicted_OBP | 0.2368 |
| predicted_R | 0.4050 |
| predicted_RBI | 0.4490 |
| predicted_SLG | 0.3286 |
| predicted_SO | 0.8650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1220 | 0.2090 | 0.1589 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0400 | 3.9880 | 4.0179 | model_form_blend |
| predicted_AVG | 0.2150 | 0.1970 | 0.2074 | model_form_blend |
| predicted_BB | 0.1620 | 0.1170 | 0.1429 | model_form_blend |
| predicted_H | 0.8700 | 0.7850 | 0.8339 | model_form_blend |
| predicted_HBP | - | 0.1020 | 0.1020 | form_only |
| predicted_HR | 0.1200 | 0.1040 | 0.1132 | model_form_blend |
| predicted_OBP | 0.2590 | 0.2368 | 0.2496 | model_form_blend |
| predicted_R | 0.3920 | 0.4050 | 0.3975 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4490 | 0.4496 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3286 | 0.3438 | model_form_blend |
| predicted_SO | 0.8110 | 0.8650 | 0.8339 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.206 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260624_KC@TB |
| game_type | full |
| mlbID | 521692 |
| playerID | 521692 |
| playerName | Salvador Perez |
| pos | C |
| started | True |
| startingPosition | C |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.255 |
| sl_xwoba | 0.289 |
| sl_xba | 0.227 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 41.6 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 57.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 3.000 | 3.000 | Hitting_AB | 1.120 | 2.000 | 1.880 | 1.000 |
| predicted_AVG | 0.294 | 0.333 | 0.333 | Hitting_AVG | 0.250 | 0.500 | 0.083 | -0.167 |
| predicted_BB | 0.385 | 0.000 | 0.000 | Hitting_BB | 0.160 | 1.000 | -0.160 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_H | 0.180 | 1.000 | 1.000 | Hitting_H | 0.280 | 1.000 | 0.720 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.308 | 0.333 | 0.333 | Hitting_OBP | 0.333 | 0.667 | 0.000 | -0.333 |
| predicted_R | 0.481 | 0.000 | 0.000 | Hitting_R | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_SLG | 0.341 | 0.333 | 0.333 | Hitting_SLG | 0.250 | 0.500 | 0.083 | -0.167 |
| predicted_SO | 0.865 | 1.000 | 1.000 | Hitting_SO | 0.360 | 0.000 | 0.640 | 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_H: 0.1800 -> 1.0000 (boost 0.8200, 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 | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.1800 -> 0.3649 (boost 0.1849, better) | predicted_AVG: 0.2940 -> 0.2861 (deboost -0.0079, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3427 -> 0.1789 (deboost -0.1638, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_AB: 2.6298 -> 3.0000 (boost 0.3702, better) | predicted_BB: 0.3725 -> 0.0000 (deboost -0.3725, worse) | AB rounded to 3 (raw=2.63), rates preserved: AVG=0.137 HR/AB=0.011 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4813 -> 0.0000 (deboost -0.4813, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1371 -> 0.3330 (boost 0.1959, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1371 (deboost -0.1959, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686475",
"player_name": "Tyler Tolbert",
"position": "SS",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.294,
"predicted_BB": 0.385,
"predicted_H": 0.18,
"predicted_HR": 0.02,
"predicted_OBP": 0.308,
"predicted_R": 0.481,
"predicted_RBI": 0.11,
"predicted_SLG": 0.341,
"predicted_SO": 0.865
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0214,
"predicted_3B": 0.0018,
"predicted_AB": 2.6298,
"predicted_AVG": 0.2861,
"predicted_BB": 0.3752,
"predicted_H": 0.3649,
"predicted_HBP": 0.013,
"predicted_HR": 0.0289,
"predicted_OBP": 0.3184,
"predicted_R": 0.4911,
"predicted_RBI": 0.1565,
"predicted_SLG": 0.3427,
"predicted_SO": 0.8494
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0214,
"delta": 0.0214,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0018,
"delta": 0.0018,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6298,
"delta": 0.1298,
"percent_delta": 0.0519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2861,
"delta": -0.0079,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.3752,
"delta": -0.0098,
"percent_delta": -0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.3649,
"delta": 0.1849,
"percent_delta": 1.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0289,
"delta": 0.0089,
"percent_delta": 0.445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3184,
"delta": 0.0104,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.4911,
"delta": 0.0101,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1565,
"delta": 0.0465,
"percent_delta": 0.4227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3427,
"delta": 0.0017,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 0.8494,
"delta": -0.0156,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.18,
"after": 0.3649,
"delta": 0.1849,
"percent_delta": 1.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2861,
"delta": -0.0079,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0214,
"predicted_3B": 0.0018,
"predicted_AB": 2.6298,
"predicted_AVG": 0.1371,
"predicted_BB": 0.3725,
"predicted_H": 0.3606,
"predicted_HBP": 0.013,
"predicted_HR": 0.0283,
"predicted_OBP": 0.2442,
"predicted_R": 0.4813,
"predicted_RBI": 0.1534,
"predicted_SLG": 0.1789,
"predicted_SO": 0.8554
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0214,
"after": 0.0214,
"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.6298,
"after": 2.6298,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2861,
"after": 0.1371,
"delta": -0.149,
"percent_delta": -0.5208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3752,
"after": 0.3725,
"delta": -0.0027,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3649,
"after": 0.3606,
"delta": -0.0043,
"percent_delta": -0.0118,
"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.0289,
"after": 0.0283,
"delta": -0.0006,
"percent_delta": -0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3184,
"after": 0.2442,
"delta": -0.0742,
"percent_delta": -0.233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4911,
"after": 0.4813,
"delta": -0.0098,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1565,
"after": 0.1534,
"delta": -0.0031,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3427,
"after": 0.1789,
"delta": -0.1638,
"percent_delta": -0.478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8494,
"after": 0.8554,
"delta": 0.006,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3427,
"after": 0.1789,
"delta": -0.1638,
"percent_delta": -0.478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.63), rates preserved: AVG=0.137 HR/AB=0.011",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0214,
"after": 0.0,
"delta": -0.0214,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0,
"delta": -0.0018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6298,
"after": 3.0,
"delta": 0.3702,
"percent_delta": 0.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3725,
"after": 0.0,
"delta": -0.3725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3606,
"after": 0.0,
"delta": -0.3606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0283,
"after": 0.0,
"delta": -0.0283,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1534,
"after": 0.0,
"delta": -0.1534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8554,
"after": 1.0,
"delta": 0.1446,
"percent_delta": 0.169,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6298,
"after": 3.0,
"delta": 0.3702,
"percent_delta": 0.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3725,
"after": 0.0,
"delta": -0.3725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4813,
"after": 0.0,
"delta": -0.4813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4813,
"after": 0.0,
"delta": -0.4813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1371,
"after": 0.333,
"delta": 0.1959,
"percent_delta": 1.4289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2442,
"after": 0.333,
"delta": 0.0888,
"percent_delta": 0.3636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.1789,
"after": 0.333,
"delta": 0.1541,
"percent_delta": 0.8614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1371,
"after": 0.333,
"delta": 0.1959,
"percent_delta": 1.4289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1371,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2442,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1789,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1371,
"delta": -0.1959,
"percent_delta": -0.5882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2442,
"delta": -0.0888,
"percent_delta": -0.2667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.1789,
"delta": -0.1541,
"percent_delta": -0.4628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1371,
"delta": -0.1959,
"percent_delta": -0.5882,
"direction": "deboost",
"projection_effect": "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": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.1371,
"delta": -0.1569,
"percent_delta": -0.5337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.2442,
"delta": -0.0638,
"percent_delta": -0.2071,
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.1789,
"delta": -0.1621,
"percent_delta": -0.4754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"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_H",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.294 | - |
| predicted_BB | 0.385 | - |
| predicted_H | 0.180 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.341 | - |
| predicted_SO | 0.865 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.021 | 0.021 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.630 | 0.130 |
| predicted_AVG | 0.286 | -0.008 |
| predicted_BB | 0.375 | -0.010 |
| predicted_H | 0.365 | 0.185 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.029 | 0.009 |
| predicted_OBP | 0.318 | 0.010 |
| predicted_R | 0.491 | 0.010 |
| predicted_RBI | 0.157 | 0.046 |
| predicted_SLG | 0.343 | 0.002 |
| predicted_SO | 0.849 | -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.021 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.630 | 0.000 |
| predicted_AVG | 0.137 | -0.149 |
| predicted_BB | 0.372 | -0.003 |
| predicted_H | 0.361 | -0.004 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.028 | -0.001 |
| predicted_OBP | 0.244 | -0.074 |
| predicted_R | 0.481 | -0.010 |
| predicted_RBI | 0.153 | -0.003 |
| predicted_SLG | 0.179 | -0.164 |
| predicted_SO | 0.855 | 0.006 |
AB rounded to 3 (raw=2.63), rates preserved: AVG=0.137 HR/AB=0.011
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.021 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.370 |
| predicted_AVG | 0.333 | 0.196 |
| predicted_BB | 0.000 | -0.372 |
| predicted_H | 1.000 | 0.639 |
| predicted_HR | 0.000 | -0.028 |
| predicted_OBP | 0.333 | 0.089 |
| predicted_R | 0.000 | -0.481 |
| predicted_RBI | 0.000 | -0.153 |
| predicted_SLG | 0.333 | 0.154 |
| predicted_SO | 1.000 | 0.145 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 4.000 | 2.000 | 3.000 | 0.3333 | 0.4000 | 0.3333 | 0.3333 | 0.0000 | 0.0833 | 0.1667 | 0.2500 |
| last_10 | 0.20 | 10 | - | 21.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 8.000 | 0.2857 | 0.3846 | 0.2857 | 0.2857 | 0.0000 | 0.0476 | 0.1905 | 0.3810 |
| season | 0.60 | 14 | - | 26.000 | 7.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 4.000 | 9.000 | 0.2692 | 0.3548 | 0.2692 | 0.2692 | 0.0000 | 0.0385 | 0.1538 | 0.3462 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0700 |
| predicted_3B | 0.0060 |
| predicted_AB | 2.9240 |
| predicted_AVG | 0.2682 |
| predicted_BB | 0.3530 |
| predicted_H | 0.7840 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0490 |
| predicted_OBP | 0.3420 |
| predicted_R | 0.5140 |
| predicted_RBI | 0.2620 |
| predicted_SLG | 0.3467 |
| predicted_SO | 0.8140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0700 | 0.0214 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0018 | model_form_blend |
| predicted_AB | 2.5000 | 2.9240 | 2.6298 | model_form_blend |
| predicted_AVG | 0.2940 | 0.2682 | 0.2861 | model_form_blend |
| predicted_BB | 0.3850 | 0.3530 | 0.3752 | model_form_blend |
| predicted_H | 0.1800 | 0.7840 | 0.3649 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0200 | 0.0490 | 0.0289 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3420 | 0.3184 | model_form_blend |
| predicted_R | 0.4810 | 0.5140 | 0.4911 | model_form_blend |
| predicted_RBI | 0.1100 | 0.2620 | 0.1565 | model_form_blend |
| predicted_SLG | 0.3410 | 0.3467 | 0.3427 | model_form_blend |
| predicted_SO | 0.8650 | 0.8140 | 0.8494 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 14 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260624_KC@TB |
| game_type | full |
| mlbID | 686475 |
| playerID | 686475 |
| playerName | Tyler Tolbert |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.292 |
| sl_xwoba | 0.341 |
| sl_xba | 0.266 |
| sl_xslg | 0.304 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 36.8 |
| sl_exit_velocity_avg | 82.9 |
| sl_launch_angle_avg | -1.7 |
| sl_whiff_percent | 30.6 |
| 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_2B | 0.162 | 1.000 | 0.000 | Hitting_2B | 0.143 | 0.000 | 0.857 | 1.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.261 | 4.000 | 0.739 | 0.000 |
| predicted_AVG | 0.250 | 0.750 | 0.333 | Hitting_AVG | 0.227 | 0.250 | 0.523 | 0.500 |
| predicted_BB | 0.485 | 0.000 | 0.000 | Hitting_BB | 0.552 | 0.000 | -0.552 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_H | 0.780 | 3.000 | 1.000 | Hitting_H | 0.739 | 1.000 | 2.261 | 2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_OBP | 0.326 | 0.750 | 0.333 | Hitting_OBP | 0.350 | 0.250 | 0.400 | 0.500 |
| predicted_R | 0.412 | 1.000 | 0.000 | Hitting_R | 0.438 | 0.000 | 0.562 | 1.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.384 | 0.000 | -0.384 | 0.000 |
| predicted_SLG | 0.363 | 1.000 | 0.333 | Hitting_SLG | 0.320 | 0.250 | 0.680 | 0.750 |
| predicted_SO | 0.926 | 1.000 | 1.000 | Hitting_SO | 1.020 | 2.000 | -0.020 | -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_H: 0.7800 -> 3.0000 (boost 2.2200, better) |
| Biggest Deboost | predicted_BB: 0.4850 -> 0.0000 (deboost -0.4850, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 2 | 0 | predicted_AB: 3.2350 -> 3.3399 (boost 0.1049, better) | predicted_SO: 0.9260 -> 0.8727 (deboost -0.0533, 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.3621 -> 0.3541 (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 | 2 | 5 | 1 | 6 | predicted_H: 0.8132 -> 1.0000 (boost 0.1868, better) | predicted_BB: 0.4361 -> 0.0000 (deboost -0.4361, worse) | AB rounded to 3 (raw=3.34), rates preserved: AVG=0.243 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4268 -> 0.0000 (deboost -0.4268, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2435 -> 0.3330 (boost 0.0895, better) | predicted_SLG: 0.3541 -> 0.3330 (deboost -0.0211, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.3541 (boost 0.0211, better) | predicted_AVG: 0.3330 -> 0.2435 (deboost -0.0895, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0,
"predicted_AB": 3.235,
"predicted_AVG": 0.25,
"predicted_BB": 0.485,
"predicted_H": 0.78,
"predicted_HR": 0.07,
"predicted_OBP": 0.326,
"predicted_R": 0.412,
"predicted_RBI": 0.41,
"predicted_SLG": 0.363,
"predicted_SO": 0.926
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2027,
"predicted_3B": 0.0004,
"predicted_AB": 3.3399,
"predicted_AVG": 0.2513,
"predicted_BB": 0.4392,
"predicted_H": 0.8228,
"predicted_HBP": 0.046,
"predicted_HR": 0.0566,
"predicted_OBP": 0.3287,
"predicted_R": 0.4355,
"predicted_RBI": 0.4243,
"predicted_SLG": 0.3621,
"predicted_SO": 0.8727
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.2027,
"delta": 0.0407,
"percent_delta": 0.2512,
"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.235,
"after": 3.3399,
"delta": 0.1049,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2513,
"delta": 0.0013,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.485,
"after": 0.4392,
"delta": -0.0458,
"percent_delta": -0.0944,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.8228,
"delta": 0.0428,
"percent_delta": 0.0549,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0566,
"delta": -0.0134,
"percent_delta": -0.1914,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3287,
"delta": 0.0027,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.4355,
"delta": 0.0235,
"percent_delta": 0.057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4243,
"delta": 0.0143,
"percent_delta": 0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3621,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.8727,
"delta": -0.0533,
"percent_delta": -0.0576,
"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.235,
"after": 3.3399,
"delta": 0.1049,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.926,
"after": 0.8727,
"delta": -0.0533,
"percent_delta": -0.0576,
"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": 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.2027,
"predicted_3B": 0.0004,
"predicted_AB": 3.3399,
"predicted_AVG": 0.2435,
"predicted_BB": 0.4361,
"predicted_H": 0.8132,
"predicted_HBP": 0.046,
"predicted_HR": 0.0554,
"predicted_OBP": 0.3308,
"predicted_R": 0.4268,
"predicted_RBI": 0.4158,
"predicted_SLG": 0.3541,
"predicted_SO": 0.8789
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2027,
"after": 0.2027,
"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.3399,
"after": 3.3399,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2513,
"after": 0.2435,
"delta": -0.0078,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4392,
"after": 0.4361,
"delta": -0.0031,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8228,
"after": 0.8132,
"delta": -0.0096,
"percent_delta": -0.0117,
"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.0566,
"after": 0.0554,
"delta": -0.0012,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3287,
"after": 0.3308,
"delta": 0.0021,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4355,
"after": 0.4268,
"delta": -0.0087,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4243,
"after": 0.4158,
"delta": -0.0085,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3621,
"after": 0.3541,
"delta": -0.008,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8727,
"after": 0.8789,
"delta": 0.0062,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3621,
"after": 0.3541,
"delta": -0.008,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.34), rates preserved: AVG=0.243 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.2027,
"after": 0.0,
"delta": -0.2027,
"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.3399,
"after": 3.0,
"delta": -0.3399,
"percent_delta": -0.1018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4361,
"after": 0.0,
"delta": -0.4361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8132,
"after": 1.0,
"delta": 0.1868,
"percent_delta": 0.2297,
"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.0554,
"after": 0.0,
"delta": -0.0554,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4158,
"after": 0.0,
"delta": -0.4158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8789,
"after": 1.0,
"delta": 0.1211,
"percent_delta": 0.1378,
"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.8132,
"after": 1.0,
"delta": 0.1868,
"percent_delta": 0.2297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4361,
"after": 0.0,
"delta": -0.4361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4268,
"after": 0.0,
"delta": -0.4268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4268,
"after": 0.0,
"delta": -0.4268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2435,
"after": 0.333,
"delta": 0.0895,
"percent_delta": 0.3676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3308,
"after": 0.333,
"delta": 0.0022,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3541,
"after": 0.333,
"delta": -0.0211,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2435,
"after": 0.333,
"delta": 0.0895,
"percent_delta": 0.3676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3541,
"after": 0.333,
"delta": -0.0211,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2435,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3308,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3541,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2435,
"delta": -0.0895,
"percent_delta": -0.2689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3308,
"delta": -0.0022,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3541,
"delta": 0.0211,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3541,
"delta": 0.0211,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2435,
"delta": -0.0895,
"percent_delta": -0.2689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 1.0,
"delta": 0.838,
"percent_delta": 5.1728,
"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.235,
"after": 4.0,
"delta": 0.765,
"percent_delta": 0.2365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2435,
"delta": -0.0065,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.485,
"after": 0.0,
"delta": -0.485,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 3.0,
"delta": 2.22,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3308,
"delta": 0.0048,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3541,
"delta": -0.0089,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 1.0,
"delta": 0.074,
"percent_delta": 0.0799,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.78,
"after": 3.0,
"delta": 2.22,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.485,
"after": 0.0,
"delta": -0.485,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.235 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.485 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.363 | - |
| predicted_SO | 0.926 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | 0.041 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.340 | 0.105 |
| predicted_AVG | 0.251 | 0.001 |
| predicted_BB | 0.439 | -0.046 |
| predicted_H | 0.823 | 0.043 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.057 | -0.013 |
| predicted_OBP | 0.329 | 0.003 |
| predicted_R | 0.435 | 0.024 |
| predicted_RBI | 0.424 | 0.014 |
| predicted_SLG | 0.362 | -0.001 |
| predicted_SO | 0.873 | -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.203 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.340 | 0.000 |
| predicted_AVG | 0.243 | -0.008 |
| predicted_BB | 0.436 | -0.003 |
| predicted_H | 0.813 | -0.010 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.055 | -0.001 |
| predicted_OBP | 0.331 | 0.002 |
| predicted_R | 0.427 | -0.009 |
| predicted_RBI | 0.416 | -0.009 |
| predicted_SLG | 0.354 | -0.008 |
| predicted_SO | 0.879 | 0.006 |
AB rounded to 3 (raw=3.34), rates preserved: AVG=0.243 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.203 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.340 |
| predicted_AVG | 0.333 | 0.090 |
| predicted_BB | 0.000 | -0.436 |
| predicted_H | 1.000 | 0.187 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.333 | 0.002 |
| predicted_R | 0.000 | -0.427 |
| predicted_RBI | 0.000 | -0.416 |
| predicted_SLG | 0.333 | -0.021 |
| predicted_SO | 1.000 | 0.121 |
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 | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 3.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 3.000 | 0.3000 | 0.3333 | 0.4500 | 0.3000 | 0.0000 | 0.1500 | 0.0500 | 0.1500 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 3.000 | 0.000 | 0.000 | 6.000 | 5.000 | 2.000 | 5.000 | 0.2857 | 0.3243 | 0.3714 | 0.2857 | 0.0000 | 0.1714 | 0.0571 | 0.1429 |
| season | 0.60 | 68 | - | 220.000 | 50.000 | 11.000 | 0.000 | 3.000 | 23.000 | 28.000 | 33.000 | 63.000 | 0.2273 | 0.3385 | 0.3182 | 0.2273 | 0.0136 | 0.1046 | 0.1500 | 0.2864 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2590 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4850 |
| predicted_AVG | 0.2532 |
| predicted_BB | 0.3760 |
| predicted_H | 0.8820 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.0380 |
| predicted_OBP | 0.3324 |
| predicted_R | 0.4680 |
| predicted_RBI | 0.4440 |
| predicted_SLG | 0.3609 |
| predicted_SO | 0.7990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.2590 | 0.2027 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2350 | 3.4850 | 3.3399 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2532 | 0.2513 | model_form_blend |
| predicted_BB | 0.4850 | 0.3760 | 0.4392 | model_form_blend |
| predicted_H | 0.7800 | 0.8820 | 0.8228 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.0700 | 0.0380 | 0.0566 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3324 | 0.3287 | model_form_blend |
| predicted_R | 0.4120 | 0.4680 | 0.4355 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4440 | 0.4243 | model_form_blend |
| predicted_SLG | 0.3630 | 0.3609 | 0.3621 | model_form_blend |
| predicted_SO | 0.9260 | 0.7990 | 0.8727 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 203 |
| Season rows before report date | 203 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 686555 |
| playerID | 686555 |
| playerName | Isaac Collins |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.302 |
| sl_xwoba | 0.309 |
| sl_xba | 0.233 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 39.6 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 23.6 |
| 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.125 | 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 | 2.719 | 4.000 | 3.000 | Hitting_AB | 2.929 | 4.000 | 1.071 | 0.000 |
| predicted_AVG | 0.276 | 0.000 | 0.333 | Hitting_AVG | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_BB | 0.156 | 0.000 | 0.000 | Hitting_BB | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_H | 0.640 | 0.000 | 1.000 | Hitting_H | 0.886 | 0.000 | -0.886 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_OBP | 0.304 | 0.000 | 0.333 | Hitting_OBP | 0.351 | 0.000 | -0.351 | 0.000 |
| predicted_R | 0.250 | 0.000 | 0.000 | Hitting_R | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.186 | 1.000 | -0.186 | -1.000 |
| predicted_SLG | 0.371 | 0.000 | 0.333 | Hitting_SLG | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_SO | 0.781 | 4.000 | 1.000 | Hitting_SO | 0.843 | 0.000 | 3.157 | 4.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.7810 -> 4.0000 (boost 3.2190, worse) |
| Biggest Deboost | predicted_H: 0.6400 -> 0.0000 (deboost -0.6400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_AB: 2.7190 -> 2.8841 (boost 0.1651, 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.2717 -> 0.2446 (deboost -0.0271, 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.7054 -> 1.0000 (boost 0.2946, better) | predicted_RBI: 0.3183 -> 0.0000 (deboost -0.3183, worse) | AB rounded to 3 (raw=2.88), rates preserved: AVG=0.245 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2979 -> 0.0000 (deboost -0.2979, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2446 -> 0.3330 (boost 0.0884, better) | predicted_SLG: 0.3582 -> 0.3330 (deboost -0.0252, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_SO: 1.0000 -> 4.0000 (boost 3.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3582 (boost 0.0252, better) | predicted_AVG: 0.3330 -> 0.2446 (deboost -0.0884, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "516782",
"player_name": "Starling Marte",
"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.125,
"predicted_3B": 0.0,
"predicted_AB": 2.719,
"predicted_AVG": 0.276,
"predicted_BB": 0.156,
"predicted_H": 0.64,
"predicted_HR": 0.07,
"predicted_OBP": 0.304,
"predicted_R": 0.25,
"predicted_RBI": 0.31,
"predicted_SLG": 0.371,
"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.1334,
"predicted_3B": 0.0011,
"predicted_AB": 2.8841,
"predicted_AVG": 0.2717,
"predicted_BB": 0.156,
"predicted_H": 0.7138,
"predicted_HBP": 0.04,
"predicted_HR": 0.0654,
"predicted_OBP": 0.3039,
"predicted_R": 0.304,
"predicted_RBI": 0.3248,
"predicted_SLG": 0.3699,
"predicted_SO": 0.7734
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1334,
"delta": 0.0084,
"percent_delta": 0.0672,
"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.719,
"after": 2.8841,
"delta": 0.1651,
"percent_delta": 0.0607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2717,
"delta": -0.0043,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.7138,
"delta": 0.0738,
"percent_delta": 0.1153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0654,
"delta": -0.0046,
"percent_delta": -0.0657,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3039,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.304,
"delta": 0.054,
"percent_delta": 0.216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3248,
"delta": 0.0148,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3699,
"delta": -0.0011,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 0.7734,
"delta": -0.0076,
"percent_delta": -0.0097,
"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.719,
"after": 2.8841,
"delta": 0.1651,
"percent_delta": 0.0607,
"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": 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.1334,
"predicted_3B": 0.0011,
"predicted_AB": 2.8841,
"predicted_AVG": 0.2446,
"predicted_BB": 0.1549,
"predicted_H": 0.7054,
"predicted_HBP": 0.04,
"predicted_HR": 0.064,
"predicted_OBP": 0.2831,
"predicted_R": 0.2979,
"predicted_RBI": 0.3183,
"predicted_SLG": 0.3582,
"predicted_SO": 0.7789
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1334,
"after": 0.1334,
"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.8841,
"after": 2.8841,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2717,
"after": 0.2446,
"delta": -0.0271,
"percent_delta": -0.0997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.1549,
"delta": -0.0011,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7138,
"after": 0.7054,
"delta": -0.0084,
"percent_delta": -0.0118,
"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.0654,
"after": 0.064,
"delta": -0.0014,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3039,
"after": 0.2831,
"delta": -0.0208,
"percent_delta": -0.0684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.304,
"after": 0.2979,
"delta": -0.0061,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3248,
"after": 0.3183,
"delta": -0.0065,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3699,
"after": 0.3582,
"delta": -0.0117,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7734,
"after": 0.7789,
"delta": 0.0055,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2717,
"after": 0.2446,
"delta": -0.0271,
"percent_delta": -0.0997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.88), rates preserved: AVG=0.245 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1334,
"after": 0.0,
"delta": -0.1334,
"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.8841,
"after": 3.0,
"delta": 0.1159,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1549,
"after": 0.0,
"delta": -0.1549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7054,
"after": 1.0,
"delta": 0.2946,
"percent_delta": 0.4176,
"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.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3183,
"after": 0.0,
"delta": -0.3183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7789,
"after": 1.0,
"delta": 0.2211,
"percent_delta": 0.2839,
"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.7054,
"after": 1.0,
"delta": 0.2946,
"percent_delta": 0.4176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3183,
"after": 0.0,
"delta": -0.3183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2979,
"after": 0.0,
"delta": -0.2979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2979,
"after": 0.0,
"delta": -0.2979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.333,
"delta": 0.0884,
"percent_delta": 0.3614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2831,
"after": 0.333,
"delta": 0.0499,
"percent_delta": 0.1763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3582,
"after": 0.333,
"delta": -0.0252,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.333,
"delta": 0.0884,
"percent_delta": 0.3614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3582,
"after": 0.333,
"delta": -0.0252,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2446,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2831,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3582,
"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.333,
"after": 0.2446,
"delta": -0.0884,
"percent_delta": -0.2655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2831,
"delta": -0.0499,
"percent_delta": -0.1498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3582,
"delta": 0.0252,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3582,
"delta": 0.0252,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2446,
"delta": -0.0884,
"percent_delta": -0.2655,
"direction": "deboost",
"projection_effect": "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.719,
"after": 4.0,
"delta": 1.281,
"percent_delta": 0.4711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2446,
"delta": -0.0314,
"percent_delta": -0.1138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"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.304,
"after": 0.2831,
"delta": -0.0209,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3582,
"delta": -0.0128,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 4.0,
"delta": 3.219,
"percent_delta": 4.1216,
"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.781,
"after": 4.0,
"delta": 3.219,
"percent_delta": 4.1216,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.719 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.156 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.250 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.371 | - |
| 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.133 | 0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.884 | 0.165 |
| predicted_AVG | 0.272 | -0.004 |
| predicted_BB | 0.156 | 0.000 |
| predicted_H | 0.714 | 0.074 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.065 | -0.005 |
| predicted_OBP | 0.304 | -0.000 |
| predicted_R | 0.304 | 0.054 |
| predicted_RBI | 0.325 | 0.015 |
| predicted_SLG | 0.370 | -0.001 |
| predicted_SO | 0.773 | -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.133 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.884 | 0.000 |
| predicted_AVG | 0.245 | -0.027 |
| predicted_BB | 0.155 | -0.001 |
| predicted_H | 0.705 | -0.008 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.064 | -0.001 |
| predicted_OBP | 0.283 | -0.021 |
| predicted_R | 0.298 | -0.006 |
| predicted_RBI | 0.318 | -0.006 |
| predicted_SLG | 0.358 | -0.012 |
| predicted_SO | 0.779 | 0.006 |
AB rounded to 3 (raw=2.88), rates preserved: AVG=0.245 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.133 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.116 |
| predicted_AVG | 0.333 | 0.088 |
| predicted_BB | 0.000 | -0.155 |
| predicted_H | 1.000 | 0.295 |
| predicted_HR | 0.000 | -0.064 |
| predicted_OBP | 0.333 | 0.050 |
| predicted_R | 0.000 | -0.298 |
| predicted_RBI | 0.000 | -0.318 |
| predicted_SLG | 0.333 | -0.025 |
| predicted_SO | 1.000 | 0.221 |
Attached 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 | - | 17.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.000 | 2.000 | 0.2941 | 0.2941 | 0.3529 | 0.2941 | 0.0000 | 0.1177 | 0.0000 | 0.1177 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 1.000 | 0.000 | 1.000 | 5.000 | 5.000 | 1.000 | 8.000 | 0.2581 | 0.2727 | 0.3871 | 0.2581 | 0.0323 | 0.1613 | 0.0323 | 0.2581 |
| season | 0.60 | 32 | - | 87.000 | 23.000 | 4.000 | 0.000 | 1.000 | 7.000 | 8.000 | 5.000 | 25.000 | 0.2644 | 0.3125 | 0.3448 | 0.2644 | 0.0115 | 0.0805 | 0.0575 | 0.2874 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1470 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.1530 |
| predicted_AVG | 0.2647 |
| predicted_BB | 0.1560 |
| predicted_H | 0.8340 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.0580 |
| predicted_OBP | 0.3038 |
| predicted_R | 0.3920 |
| predicted_RBI | 0.3490 |
| predicted_SLG | 0.3680 |
| predicted_SO | 0.7610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1470 | 0.1334 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.7190 | 3.1530 | 2.8841 | model_form_blend |
| predicted_AVG | 0.2760 | 0.2647 | 0.2717 | model_form_blend |
| predicted_BB | 0.1560 | 0.1560 | 0.1560 | model_form_blend |
| predicted_H | 0.6400 | 0.8340 | 0.7138 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.0700 | 0.0580 | 0.0654 | model_form_blend |
| predicted_OBP | 0.3040 | 0.3038 | 0.3039 | model_form_blend |
| predicted_R | 0.2500 | 0.3920 | 0.3040 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3490 | 0.3248 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3680 | 0.3699 | model_form_blend |
| predicted_SO | 0.7810 | 0.7610 | 0.7734 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 70 |
| Season rows before report date | 70 |
| Report year | 2026 |
| Profile rows used | 32 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 4 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.264 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260623_KC@TB |
| game_type | full |
| mlbID | 516782 |
| playerID | 516782 |
| playerName | Starling Marte |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-23 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.293 |
| sl_xwoba | 0.308 |
| sl_xba | 0.251 |
| sl_xslg | 0.406 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 7.0 |
| sl_whiff_percent | 28.7 |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.867 | 3.000 | 1.133 | 0.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.333 | 1.000 | 1.667 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.800 | 5.000 | -0.800 | 0.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.580 | 6.000 | -0.480 | -0.900 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.400 | 0.000 | 1.600 | 6.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 3.0000 -> 6.0000 (boost 3.0000, better) |
| Biggest Deboost | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SO: 3.0000 -> 6.0000 (boost 3.0000, better) | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "607625",
"player_name": "Seth Lugo",
"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": 3.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 4.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.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": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.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": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}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 | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 26.200 | 11.000 | 26.000 | 7.000 | 15.000 | 5.000 | 3.7125 | 1.2375 | 0.4125 | 0.9750 | 0.2625 | 0.5625 | 0.1875 |
| last_10 | 0.35 | 10 | 54.000 | 31.000 | 68.000 | 18.000 | 38.000 | 7.000 | 5.1667 | 1.5926 | 0.5741 | 1.2593 | 0.3333 | 0.7037 | 0.1296 |
| season | 0.20 | 15 | 85.100 | 35.000 | 87.000 | 28.000 | 66.000 | 7.000 | 3.6914 | 1.3477 | 0.4102 | 1.0195 | 0.3281 | 0.7734 | 0.0820 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6980 |
| predicted_ER | 2.5640 |
| predicted_ERA | 4.2871 |
| predicted_H | 5.6790 |
| predicted_HR | 0.7870 |
| predicted_IP | 5.1000 |
| predicted_SO | 3.9160 |
| predicted_WHIP | 1.3703 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.6980 | 2.2912 | model_form_blend |
| predicted_ER | 4.0000 | 2.5640 | 3.2183 | model_form_blend |
| predicted_ERA | - | 4.2871 | 4.2871 | form_only |
| predicted_H | 5.0000 | 5.6790 | 5.3696 | model_form_blend |
| predicted_HR | 0.0000 | 0.7870 | 0.4284 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 3.0000 | 3.9160 | 3.4986 | model_form_blend |
| predicted_WHIP | - | 1.3703 | 1.3703 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 5 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 6 |
| HR | 0 |
| BF | 24 |
| Pitches | 94 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 1 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.69 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 9 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 85 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 52 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_STL@KC |
| game_type | full |
| mlbID | 607625 |
| playerID | 607625 |
| playerName | Seth Lugo |
| pos | P |
| started | True |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-19 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.329 |
| sl_xwoba | 0.351 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 42.4 |
| sl_whiff_percent | 17.9 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 80.177534264 |
| sl_avg_hyper_speed | 94.663277209 |
| 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.576 | 0.000 | -0.576 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.455 | 0.000 | 0.545 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.879 | 0.000 | 0.121 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.976 | 1.000 | 0.024 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.091 | 1.000 | -0.091 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656638",
"player_name": "Alex Lange",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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 | 0.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 | 5.000 | 2.000 | 4.000 | 3.000 | 3.000 | 0.000 | 3.6000 | 1.4000 | 0.4000 | 0.8000 | 0.6000 | 0.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 7.000 | 6.000 | 12.000 | 0.000 | 1.8000 | 1.3000 | 0.2000 | 0.7000 | 0.6000 | 1.2000 | 0.0000 |
| season | 0.20 | 33 | 35.000 | 15.000 | 29.000 | 19.000 | 36.000 | 2.000 | 3.8571 | 1.3714 | 0.4286 | 0.8286 | 0.5429 | 1.0286 | 0.0571 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4930 |
| predicted_ER | 0.4040 |
| predicted_ERA | 3.6397 |
| predicted_H | 0.8540 |
| predicted_HR | 0.0680 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9170 |
| predicted_WHIP | 1.3468 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4930 | 0.2332 | model_form_blend |
| predicted_ER | 1.0000 | 0.4040 | 0.7181 | model_form_blend |
| predicted_ERA | - | 3.6397 | 3.6397 | form_only |
| predicted_H | 1.0000 | 0.8540 | 0.9310 | model_form_blend |
| predicted_HR | 0.0000 | 0.0680 | 0.0322 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9170 | 0.9607 | model_form_blend |
| predicted_WHIP | - | 1.3468 | 1.3468 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 4 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.86 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260622_KC@TB |
| game_type | full |
| mlbID | 656638 |
| playerID | 656638 |
| playerName | Alex Lange |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-22 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.321 |
| sl_xwoba | 0.329 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 42.4 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 45.5 |
| sl_avg_best_speed | 80.507902609 |
| sl_avg_hyper_speed | 94.980588571 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.606 | 0.000 | 0.394 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.894 | 1.000 | 0.106 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.909 | 0.000 | 0.091 | 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": "663738",
"player_name": "Daniel Lynch IV",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 2.000 | 2.000 | 1.000 | 1.000 | 5.4000 | 0.8000 | 0.6000 | 0.4000 | 0.4000 | 0.2000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 5.000 | 3.000 | 3.000 | 1.000 | 3.7241 | 0.8276 | 0.4138 | 0.5172 | 0.3103 | 0.3103 | 0.1035 |
| season | 0.20 | 33 | 33.000 | 9.000 | 20.000 | 11.000 | 30.000 | 2.000 | 2.4545 | 0.9394 | 0.2727 | 0.6061 | 0.3333 | 0.9091 | 0.0606 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3570 |
| predicted_ER | 0.4820 |
| predicted_ERA | 4.3424 |
| predicted_H | 0.6930 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6260 |
| predicted_WHIP | 1.0508 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3570 | 0.1667 | model_form_blend |
| predicted_ER | 0.0000 | 0.4820 | 0.2250 | model_form_blend |
| predicted_ERA | - | 4.3424 | 4.3424 | form_only |
| predicted_H | 1.0000 | 0.6930 | 0.8567 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0663 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6260 | 0.8254 | model_form_blend |
| predicted_WHIP | - | 1.0508 | 1.0508 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.45 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 663738 |
| playerID | 663738 |
| playerName | Daniel Lynch IV |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.245 |
| sl_xwoba | 0.276 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 34.4 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 75.179696667 |
| sl_avg_hyper_speed | 93.636834667 |
| 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.353 | 1.000 | -0.353 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.706 | 0.000 | -0.706 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.794 | 1.000 | -0.594 | -0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.706 | 2.000 | 1.294 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670167",
"player_name": "John Schreiber",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 1.000 | 3.000 | 1.000 | 7.000 | 1.000 | 1.5882 | 0.7059 | 0.1765 | 0.5294 | 0.1765 | 1.2353 | 0.1765 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 5.000 | 2.000 | 12.000 | 2.000 | 1.8621 | 0.7241 | 0.2069 | 0.5172 | 0.2069 | 1.2414 | 0.2069 |
| season | 0.20 | 34 | 31.200 | 9.000 | 24.000 | 12.000 | 24.000 | 5.000 | 2.5579 | 1.1368 | 0.2842 | 0.7579 | 0.3790 | 0.7579 | 0.1579 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2440 |
| predicted_ER | 0.2880 |
| predicted_ERA | 3.0399 |
| predicted_H | 0.6370 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8990 |
| predicted_WHIP | 1.0341 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2440 | 0.1129 | model_form_blend |
| predicted_ER | 0.0000 | 0.2880 | 0.1332 | model_form_blend |
| predicted_ERA | - | 3.0399 | 3.0399 | form_only |
| predicted_H | 0.0000 | 0.6370 | 0.2946 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0657 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8990 | 1.4907 | model_form_blend |
| predicted_WHIP | - | 1.0341 | 1.0341 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.56 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260622_KC@TB |
| game_type | full |
| mlbID | 670167 |
| playerID | 670167 |
| playerName | John Schreiber |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-22 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.298 |
| sl_xwoba | 0.322 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 38.6 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 43.6 |
| sl_avg_best_speed | 78.354223488 |
| sl_avg_hyper_speed | 94.152823294 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.613 | 0.000 | -0.613 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.097 | 1.000 | -1.097 | -1.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.897 | 1.000 | -0.897 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.806 | 1.000 | -0.806 | -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": "668674",
"player_name": "Lucas Erceg",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 1.000 | 3.000 | 3.000 | 4.000 | 0.000 | 1.5882 | 1.0588 | 0.1765 | 0.5294 | 0.5294 | 0.7059 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 7.000 | 14.000 | 6.000 | 8.000 | 1.000 | 6.0968 | 1.9355 | 0.6774 | 1.3548 | 0.5806 | 0.7742 | 0.0968 |
| season | 0.20 | 30 | 29.200 | 14.000 | 29.000 | 19.000 | 25.000 | 1.000 | 4.2472 | 1.6180 | 0.4719 | 0.9775 | 0.6404 | 0.8427 | 0.0337 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3280 |
| predicted_ER | 0.3130 |
| predicted_ERA | 4.0653 |
| predicted_H | 0.6490 |
| predicted_HR | 0.0620 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5860 |
| predicted_WHIP | 1.4095 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3280 | 0.1495 | model_form_blend |
| predicted_ER | 0.0000 | 0.3130 | 0.1426 | model_form_blend |
| predicted_ERA | - | 4.0653 | 4.0653 | form_only |
| predicted_H | 0.0000 | 0.6490 | 0.2958 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0283 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.5860 | 1.3556 | model_form_blend |
| predicted_WHIP | - | 1.4095 | 1.4095 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 0 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.16 |
| 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 | 8 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 668674 |
| playerID | 668674 |
| playerName | Lucas Erceg |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-24 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.373 |
| sl_xwoba | 0.316 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 37.8 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 46.4 |
| sl_avg_best_speed | 72.732449556 |
| sl_avg_hyper_speed | 93.92080427 |
| 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.370 | 1.000 | 0.630 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.630 | 0.000 | 0.370 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.926 | 0.000 | 1.074 | 2.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.844 | 1.000 | -0.844 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.704 | 1.000 | -0.704 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "621381",
"player_name": "Matt Strahm",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.100 | 6.000 | 6.000 | 3.000 | 1.000 | 1.000 | 16.2000 | 2.7000 | 1.8000 | 1.8000 | 0.9000 | 0.3000 | 0.3000 |
| last_10 | 0.35 | 10 | 8.100 | 10.000 | 11.000 | 3.000 | 2.000 | 5.000 | 10.8000 | 1.6800 | 1.2000 | 1.3200 | 0.3600 | 0.2400 | 0.6000 |
| season | 0.20 | 27 | 24.200 | 17.000 | 25.000 | 10.000 | 19.000 | 8.000 | 6.2027 | 1.4189 | 0.6892 | 1.0135 | 0.4054 | 0.7703 | 0.3243 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2570 |
| predicted_ER | 0.4930 |
| predicted_ERA | 8.3575 |
| predicted_H | 0.6470 |
| predicted_HR | 0.1470 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.3520 |
| predicted_WHIP | 1.7037 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2570 | 0.6759 | model_form_blend |
| predicted_ER | 1.0000 | 0.4930 | 0.7788 | model_form_blend |
| predicted_ERA | - | 8.3575 | 8.3575 | form_only |
| predicted_H | 2.0000 | 0.6470 | 1.4097 | model_form_blend |
| predicted_HR | 0.0000 | 0.1470 | 0.0641 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3520 | 0.7173 | model_form_blend |
| predicted_WHIP | - | 1.7037 | 1.7037 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 6.20 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_KC@TB |
| game_type | full |
| mlbID | 621381 |
| playerID | 621381 |
| playerName | Matt Strahm |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-23 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.381 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 41.8 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 48.7 |
| sl_avg_best_speed | 81.5501775 |
| sl_avg_hyper_speed | 93.592193797 |
| Field | Value |
|---|---|
| Pitcher | Casey Legumina |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1136 |
| ESPN Rank | 230 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 8 |
| Season ERA | 3.4468 |
| Season WHIP | 1.3404 |
| Role Avg IP | 1.6670 |
| Recent Avg IP | 1.6670 |
| Last Start IP | 1.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"opponent": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"edges": {
"quality_edge": 0.1295,
"offense_edge": -0.0753,
"opponent_offense_edge": -0.0795,
"defense_strength": 0.0576,
"opponent_defense_weakness": 0.0542,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0101,
"run_prevention": 0.975,
"strikeout": 1.0102
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668984",
"profile": {
"available": true,
"pitcher_id": "668984",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 17.3,
"bb_percent": 5.3,
"woba": 0.333,
"xwoba": 0.331,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 37.9,
"avg_best_speed": 75.3842,
"avg_hyper_speed": 93.3128,
"whiff_percent": 20.9,
"swing_percent": 51.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2732,
"command_and_miss": -0.4046,
"regression_edge": 0.0571,
"xwoba_edge": -0.4714,
"barrel_edge": -0.0556,
"hard_hit_edge": 0.0571,
"whiff_edge": -0.7071,
"bb_edge": 0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668984",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1136,
"sample_weight": 0.45,
"run_prevention_factor": 1.0097,
"strikeout_factor": 0.9734,
"walk_factor": 0.9658,
"homer_factor": 1.0073,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668984",
"espn_id": 4346117,
"player_name": "Casey Legumina",
"team": "TB",
"role": "pitcher",
"espn_rank": 230,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 230,
"gp_value": 24.0,
"gp_rank": 158,
"gs_value": 1.0,
"gs_rank": 247,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.4468,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 3.0,
"hld_rank": 147,
"ip_value": 31.1,
"ip_rank": 267,
"h_value": 35.0,
"h_rank": 186,
"er_value": 12.0,
"er_rank": 294,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 7.0,
"bb_rank": 417,
"k_value": 23.0,
"k_rank": 346,
"k_per_9_value": 6.606383,
"k_per_9_rank": 34,
"whip_value": 1.3404,
"whip_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0044,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0044,
"adjusted": 6
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9846,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0033,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.988,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.1,
"ER": 4,
"H": 12,
"BB": 2,
"SO": 11,
"HR": 2,
"ERA": 2.9189189189189193,
"WHIP": 1.1351351351351353,
"K9": 8.027027027027028,
"HR9": 1.4594594594594597,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-17T00:00:00"
}{
"available": false,
"pitcher_id": "668984",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.204,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5537,
"prior_weight": 0.4463
},
"role": "pitcher",
"player_id": "668984",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.0
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.0588,
"ER_per_IP": 0.35294,
"H_per_IP": 0.88235,
"BB_per_IP": 0.17647,
"SO_per_IP": 0.88235,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 4.0,
"R": 4.0,
"H": 12.0,
"BB": 2.0,
"SO": 11.0,
"HR": 2.0,
"BF": 49.0,
"Pitches": 180.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.2,
"SO": 1.1,
"HR": 0.2,
"BF": 4.9,
"Pitches": 18.0
},
"rates": {
"ERA": 2.9189,
"WHIP": 1.1351,
"ER_per_IP": 0.32432,
"H_per_IP": 0.97297,
"BB_per_IP": 0.16216,
"SO_per_IP": 0.89189,
"HR_per_IP": 0.16216
}
},
"season": {
"games": 24,
"totals": {
"IP": 31.1,
"ER": 12.0,
"R": 12.0,
"H": 35.0,
"BB": 7.0,
"SO": 23.0,
"HR": 2.0,
"BF": 133.0,
"Pitches": 494.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 0.5,
"H": 1.4583,
"BB": 0.2917,
"SO": 0.9583,
"HR": 0.0833,
"BF": 5.5417,
"Pitches": 20.5833
},
"rates": {
"ERA": 3.4468,
"WHIP": 1.3404,
"ER_per_IP": 0.38298,
"H_per_IP": 1.11702,
"BB_per_IP": 0.2234,
"SO_per_IP": 0.73404,
"HR_per_IP": 0.06383
}
}
},
"weighted_prediction": {
"predicted_IP": 3.0,
"predicted_ER": 1.201,
"predicted_H": 2.785,
"predicted_BB": 0.753,
"predicted_SO": 2.589,
"predicted_HR": 0.3,
"predicted_ERA": 3.7457,
"predicted_WHIP": 1.2256
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5386,
"form_weight": 0.4614,
"form_reliability": 0.5537,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.204,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5537,
"prior_weight": 0.4463
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 3.0,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.201,
"final": 1.6313,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 2.785,
"final": 3.9779,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.753,
"final": 0.886,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 2.589,
"final": 5.5032,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.3,
"final": 0.1384,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7457,
"final": 3.7457,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2256,
"final": 1.2256,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Baker |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3675 |
| ESPN Rank | 83 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.0106 |
| Season WHIP | 0.8936 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"opponent": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"edges": {
"quality_edge": 0.1295,
"offense_edge": -0.0753,
"opponent_offense_edge": -0.0795,
"defense_strength": 0.0576,
"opponent_defense_weakness": 0.0542,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0101,
"run_prevention": 0.975,
"strikeout": 1.0102
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641329",
"profile": {
"available": true,
"pitcher_id": "641329",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 28.5,
"bb_percent": 8.9,
"woba": 0.229,
"xwoba": 0.256,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 32.9,
"avg_best_speed": 74.5643,
"avg_hyper_speed": 92.9986,
"whiff_percent": 32.1,
"swing_percent": 52.1
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.2731,
"command_and_miss": 0.6954,
"regression_edge": -0.7714,
"xwoba_edge": 1.6714,
"barrel_edge": 0.1222,
"hard_hit_edge": 0.7714,
"whiff_edge": 0.8929,
"bb_edge": 0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641329",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3675,
"sample_weight": 0.45,
"run_prevention_factor": 0.9688,
"strikeout_factor": 1.031,
"walk_factor": 0.9982,
"homer_factor": 0.9591,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641329",
"espn_id": 40884,
"player_name": "Bryan Baker",
"team": "TB",
"role": "pitcher",
"espn_rank": 83,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 83,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.0106,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 20.0,
"sv_rank": 3,
"hld_value": 2.0,
"hld_rank": 169,
"ip_value": 31.1,
"ip_rank": 267,
"h_value": 17.0,
"h_rank": 401,
"er_value": 7.0,
"er_rank": 450,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 11.0,
"bb_rank": 298,
"k_value": 35.0,
"k_rank": 217,
"k_per_9_value": 10.053191,
"k_per_9_rank": 21,
"whip_value": 0.8936,
"whip_rank": null,
"war_value": 1.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.986,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.986,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9992,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0139,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 1,
"H": 4,
"BB": 2,
"SO": 10,
"HR": 1,
"ERA": 0.9,
"WHIP": 0.6,
"K9": 9.0,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "641329",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.204,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5537,
"prior_weight": 0.4463
},
"role": "pitcher",
"player_id": "641329",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 5.0,
"HR": 1.0,
"BF": 17.0,
"Pitches": 76.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.0,
"SO": 1.0,
"HR": 0.2,
"BF": 3.4,
"Pitches": 15.2
},
"rates": {
"ERA": 1.8,
"WHIP": 0.2,
"ER_per_IP": 0.2,
"H_per_IP": 0.2,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 155.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.1,
"BF": 3.7,
"Pitches": 15.5
},
"rates": {
"ERA": 0.9,
"WHIP": 0.6,
"ER_per_IP": 0.1,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.1
}
},
"season": {
"games": 33,
"totals": {
"IP": 31.1,
"ER": 7.0,
"R": 7.0,
"H": 17.0,
"BB": 11.0,
"SO": 35.0,
"HR": 2.0,
"BF": 123.0,
"Pitches": 509.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2121,
"R": 0.2121,
"H": 0.5152,
"BB": 0.3333,
"SO": 1.0606,
"HR": 0.0606,
"BF": 3.7273,
"Pitches": 15.4242
},
"rates": {
"ERA": 2.0106,
"WHIP": 0.8936,
"ER_per_IP": 0.2234,
"H_per_IP": 0.54255,
"BB_per_IP": 0.35106,
"SO_per_IP": 1.11702,
"HR_per_IP": 0.06383
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.317,
"predicted_H": 0.62,
"predicted_BB": 0.238,
"predicted_SO": 0.989,
"predicted_HR": 0.142,
"predicted_ERA": 2.8524,
"predicted_WHIP": 0.8585
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5386,
"form_weight": 0.4614,
"form_reliability": 0.5537,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.204,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5537,
"prior_weight": 0.4463
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.317,
"final": 0.1463,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.62,
"final": 0.2861,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.238,
"final": 0.1098,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.989,
"final": 0.9949,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0655,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8524,
"final": 2.8524,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8585,
"final": 0.8585,
"source": "form_only"
}
}
}{
"available": false,
"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 | Cam Booser |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4251 |
| ESPN Rank | 242 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1 |
| Season WHIP | 1 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"opponent": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"edges": {
"quality_edge": 0.1295,
"offense_edge": -0.0753,
"opponent_offense_edge": -0.0795,
"defense_strength": 0.0576,
"opponent_defense_weakness": 0.0542,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0101,
"run_prevention": 0.975,
"strikeout": 1.0102
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592155",
"profile": {
"available": true,
"pitcher_id": "592155",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 28.6,
"bb_percent": 8.6,
"woba": 0.246,
"xwoba": 0.229,
"sweet_spot_percent": 13.6,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 40.9,
"avg_best_speed": 83.5862,
"avg_hyper_speed": 94.2976,
"whiff_percent": 27.5,
"swing_percent": 59.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.3743,
"command_and_miss": 0.4868,
"regression_edge": 0.4857,
"xwoba_edge": 2.4429,
"barrel_edge": 0.5889,
"hard_hit_edge": -0.3714,
"whiff_edge": 0.2357,
"bb_edge": 0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592155",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4251,
"sample_weight": 0.45,
"run_prevention_factor": 0.9639,
"strikeout_factor": 1.0194,
"walk_factor": 0.9955,
"homer_factor": 0.9525,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592155",
"espn_id": 2560565,
"player_name": "Cam Booser",
"team": "TB",
"role": "pitcher",
"espn_rank": 242,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 242,
"gp_value": 8.0,
"gp_rank": 435,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 1.0,
"hld_rank": 204,
"ip_value": 9.0,
"ip_rank": 508,
"h_value": 6.0,
"h_rank": 553,
"er_value": 1.0,
"er_rank": 637,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 3.0,
"bb_rank": 542,
"k_value": 10.0,
"k_rank": 474,
"k_per_9_value": 10.0,
"k_per_9_rank": 25,
"whip_value": 1.0,
"whip_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9838,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9838,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9786,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0087,
"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": 10,
"HR": 1,
"ERA": 1.0,
"WHIP": 1.0,
"K9": 10.0,
"HR9": 1.0,
"games_pitched": 8,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 8,
"error_prone": false
},
"games_count": 8,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "592155",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.6818181818181818,
"last_10": 0.3181818181818182
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.782,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2628,
"prior_weight": 0.7372
},
"role": "pitcher",
"player_id": "592155",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 8,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 5.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 77.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.2,
"BF": 4.2,
"Pitches": 15.4
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 8,
"totals": {
"IP": 9.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.125,
"R": 0.125,
"H": 0.75,
"BB": 0.375,
"SO": 1.25,
"HR": 0.125,
"BF": 4.375,
"Pitches": 16.75
},
"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.11111,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 8,
"totals": {
"IP": 9.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.125,
"R": 0.125,
"H": 0.75,
"BB": 0.375,
"SO": 1.25,
"HR": 0.125,
"BF": 4.375,
"Pitches": 16.75
},
"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.11111,
"HR_per_IP": 0.11111
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.413,
"predicted_H": 0.914,
"predicted_BB": 0.365,
"predicted_SO": 0.97,
"predicted_HR": 0.153,
"predicted_ERA": 3.7211,
"predicted_WHIP": 1.2788
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6615,
"form_weight": 0.3385,
"form_reliability": 0.2628,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.782,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2628,
"prior_weight": 0.7372
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.413,
"final": 0.1398,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.914,
"final": 0.9709,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.365,
"final": 0.1236,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.97,
"final": 0.9898,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.153,
"final": 0.0518,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7211,
"final": 3.7211,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2788,
"final": 1.2788,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Garrett Cleavinger |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2417 |
| ESPN Rank | 431 |
| 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 | 3 |
| Season ERA | 4.4262 |
| Season WHIP | 1.2787 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"opponent": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"edges": {
"quality_edge": 0.1295,
"offense_edge": -0.0753,
"opponent_offense_edge": -0.0795,
"defense_strength": 0.0576,
"opponent_defense_weakness": 0.0542,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0101,
"run_prevention": 0.975,
"strikeout": 1.0102
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664076",
"profile": {
"available": true,
"pitcher_id": "664076",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 47.0,
"k_percent": 32.6,
"bb_percent": 11.6,
"woba": 0.299,
"xwoba": 0.276,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 44.7,
"avg_best_speed": 72.8813,
"avg_hyper_speed": 94.1632,
"whiff_percent": 27.4,
"swing_percent": 46.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.5682,
"command_and_miss": 0.5889,
"regression_edge": 0.6571,
"xwoba_edge": 1.1,
"barrel_edge": 0.1667,
"hard_hit_edge": -0.9143,
"whiff_edge": 0.2214,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664076",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2417,
"sample_weight": 0.45,
"run_prevention_factor": 0.9795,
"strikeout_factor": 1.0294,
"walk_factor": 1.0225,
"homer_factor": 0.9956,
"woba_minus_xwoba": 0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664076",
"espn_id": 36429,
"player_name": "Garrett Cleavinger",
"team": "TB",
"role": "pitcher",
"espn_rank": 431,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 431,
"gp_value": 23.0,
"gp_rank": 166,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.4262,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 12.0,
"hld_rank": 14,
"ip_value": 20.1,
"ip_rank": 390,
"h_value": 16.0,
"h_rank": 414,
"er_value": 10.0,
"er_rank": 351,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 10.0,
"bb_rank": 330,
"k_value": 28.0,
"k_rank": 297,
"k_per_9_value": 12.393443,
"k_per_9_rank": 20,
"whip_value": 1.2786,
"whip_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9908,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9908,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0101,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0132,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 5,
"H": 5,
"BB": 4,
"SO": 12,
"HR": 1,
"ERA": 5.0,
"WHIP": 1.0,
"K9": 12.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-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "664076",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.026,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.446,
"prior_weight": 0.554
},
"role": "pitcher",
"player_id": "664076",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 23,
"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": 6.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.0,
"Pitches": 12.8
},
"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": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 5.0,
"BB": 4.0,
"SO": 12.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.5,
"BB": 0.4,
"SO": 1.2,
"HR": 0.1,
"BF": 3.5,
"Pitches": 15.4
},
"rates": {
"ERA": 5.0,
"WHIP": 1.0,
"ER_per_IP": 0.55556,
"H_per_IP": 0.55556,
"BB_per_IP": 0.44444,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 23,
"totals": {
"IP": 20.1,
"ER": 10.0,
"R": 11.0,
"H": 16.0,
"BB": 10.0,
"SO": 28.0,
"HR": 2.0,
"BF": 86.0,
"Pitches": 339.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4348,
"R": 0.4783,
"H": 0.6957,
"BB": 0.4348,
"SO": 1.2174,
"HR": 0.087,
"BF": 3.7391,
"Pitches": 14.7391
},
"rates": {
"ERA": 4.4262,
"WHIP": 1.2787,
"ER_per_IP": 0.4918,
"H_per_IP": 0.78689,
"BB_per_IP": 0.4918,
"SO_per_IP": 1.37705,
"HR_per_IP": 0.09836
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.407,
"predicted_H": 0.737,
"predicted_BB": 0.356,
"predicted_SO": 1.114,
"predicted_HR": 0.107,
"predicted_ERA": 3.6665,
"predicted_WHIP": 1.0928
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5841,
"form_weight": 0.4159,
"form_reliability": 0.446,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.026,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.446,
"prior_weight": 0.554
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.407,
"final": 0.1693,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.737,
"final": 0.3065,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.356,
"final": 0.7321,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.114,
"final": 2.2155,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.107,
"final": 0.0445,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6665,
"final": 3.6665,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0928,
"final": 1.0928,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kevin Kelly |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1089 |
| ESPN Rank | 93 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.5234 |
| Season WHIP | 0.8972 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 85,
"wins": 47,
"losses": 38,
"win_pct": 0.5529,
"runs_scored": 355.0,
"runs_allowed": 363.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0941,
"avg_runs_scored": 4.1765,
"avg_runs_allowed": 4.2706,
"offense_index": 0.9247,
"defense_index": 1.0576,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0015
},
"opponent": {
"team": "KC",
"games": 89,
"wins": 35,
"losses": 54,
"win_pct": 0.3933,
"runs_scored": 370.0,
"runs_allowed": 425.0,
"run_differential": -55.0,
"run_differential_per_game": -0.618,
"avg_runs_scored": 4.1573,
"avg_runs_allowed": 4.7753,
"offense_index": 0.9205,
"defense_index": 0.9458,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.9,
"run_differential": 15.0
},
"available": true,
"quality_score": -0.131
},
"edges": {
"quality_edge": 0.1295,
"offense_edge": -0.0753,
"opponent_offense_edge": -0.0795,
"defense_strength": 0.0576,
"opponent_defense_weakness": 0.0542,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0101,
"run_prevention": 0.975,
"strikeout": 1.0102
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687330",
"profile": {
"available": true,
"pitcher_id": "687330",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 86.0,
"k_percent": 20.7,
"bb_percent": 5.2,
"woba": 0.246,
"xwoba": 0.314,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 48.0,
"avg_best_speed": 80.2666,
"avg_hyper_speed": 95.319,
"whiff_percent": 19.1,
"swing_percent": 46.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0407,
"command_and_miss": -0.2711,
"regression_edge": -1.9429,
"xwoba_edge": 0.0143,
"barrel_edge": -0.2556,
"hard_hit_edge": -1.3857,
"whiff_edge": -0.9643,
"bb_edge": 0.975,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687330",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1089,
"sample_weight": 0.45,
"run_prevention_factor": 1.0093,
"strikeout_factor": 0.9775,
"walk_factor": 0.9649,
"homer_factor": 1.0339,
"woba_minus_xwoba": -0.068,
"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": 93,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 93,
"gp_value": 34.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.5233,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 3.0,
"sv_rank": 46,
"hld_value": 16.0,
"hld_rank": 4,
"ip_value": 35.2,
"ip_rank": 207,
"h_value": 25.0,
"h_rank": 287,
"er_value": 10.0,
"er_rank": 351,
"hr_value": 3.0,
"hr_rank": 288,
"bb_value": 7.0,
"bb_rank": 417,
"k_value": 28.0,
"k_rank": 297,
"k_per_9_value": 7.0654206,
"k_per_9_rank": 38,
"whip_value": 0.8971,
"whip_rank": null,
"war_value": 1.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0042,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0042,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9842,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0153,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9899,
"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": 10,
"BB": 2,
"SO": 11,
"HR": 1,
"ERA": 1.6363636363636365,
"WHIP": 1.0909090909090908,
"K9": 9.0,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "687330",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.062,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5855,
"prior_weight": 0.4145
},
"role": "pitcher",
"player_id": "687330",
"report_date": "20260625_K",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 94.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 5.0,
"Pitches": 18.8
},
"rates": {
"ERA": 3.0,
"WHIP": 1.1667,
"ER_per_IP": 0.33333,
"H_per_IP": 1.0,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 2.0,
"SO": 11.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 1.1,
"HR": 0.1,
"BF": 4.6,
"Pitches": 17.1
},
"rates": {
"ERA": 1.6364,
"WHIP": 1.0909,
"ER_per_IP": 0.18182,
"H_per_IP": 0.90909,
"BB_per_IP": 0.18182,
"SO_per_IP": 1.0,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 34,
"totals": {
"IP": 35.2,
"ER": 10.0,
"R": 12.0,
"H": 25.0,
"BB": 7.0,
"SO": 28.0,
"HR": 3.0,
"BF": 135.0,
"Pitches": 516.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2941,
"R": 0.3529,
"H": 0.7353,
"BB": 0.2059,
"SO": 0.8235,
"HR": 0.0882,
"BF": 3.9706,
"Pitches": 15.1765
},
"rates": {
"ERA": 2.5234,
"WHIP": 0.8972,
"ER_per_IP": 0.28037,
"H_per_IP": 0.70093,
"BB_per_IP": 0.19626,
"SO_per_IP": 0.78505,
"HR_per_IP": 0.08411
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.397,
"predicted_H": 1.016,
"predicted_BB": 0.276,
"predicted_SO": 1.037,
"predicted_HR": 0.145,
"predicted_ERA": 3.2851,
"predicted_WHIP": 1.1871
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5251,
"form_weight": 0.4749,
"form_reliability": 0.5855,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.062,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5855,
"prior_weight": 0.4145
},
"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.1885,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.016,
"final": 0.4825,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.276,
"final": 0.1311,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.037,
"final": 1.5427,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.145,
"final": 0.0689,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2851,
"final": 3.2851,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1871,
"final": 1.1871,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.145 | 0.000 | 0.000 | Hitting_2B | 0.164 | 1.000 | -0.164 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.110 | 5.000 | 4.000 | Hitting_AB | 3.732 | 4.000 | 1.268 | 1.000 |
| predicted_AVG | 0.259 | 0.400 | 0.250 | Hitting_AVG | 0.288 | 0.500 | 0.112 | -0.100 |
| predicted_BB | 0.579 | 0.000 | 0.000 | Hitting_BB | 0.592 | 0.000 | -0.592 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 2.000 | 1.000 | Hitting_H | 1.076 | 2.000 | 0.924 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_OBP | 0.374 | 0.400 | 0.250 | Hitting_OBP | 0.383 | 0.500 | 0.017 | -0.100 |
| predicted_R | 0.500 | 1.000 | 0.000 | Hitting_R | 0.568 | 0.000 | 0.432 | 1.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.808 | 1.000 | -0.808 | -1.000 |
| predicted_SLG | 0.431 | 0.400 | 0.250 | Hitting_SLG | 0.477 | 0.750 | -0.077 | -0.350 |
| predicted_SO | 1.026 | 1.000 | 1.000 | Hitting_SO | 1.056 | 1.000 | -0.056 | 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 | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 1.0600 -> 2.0000 (boost 0.9400, better) |
| Biggest Deboost | predicted_RBI: 0.5900 -> 0.0000 (deboost -0.5900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2590 -> 0.2803 (boost 0.0213, better) | predicted_AB: 4.1100 -> 3.9516 (deboost -0.1584, worse) | Final model input calibrated with local 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.4386 -> 0.4160 (deboost -0.0226, 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_BB: 0.5352 -> 1.0000 (boost 0.4648, better) | predicted_2B: 0.1548 -> 0.0000 (deboost -0.1548, worse) | AB rounded to 4 (raw=4.11), rates preserved: AVG=0.267 HR/AB=0.032 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4674 -> 0.0000 (deboost -0.4674, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4160 -> 0.2500 (deboost -0.1660, 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: 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.2500 -> 0.4160 (boost 0.1660, 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.145,
"predicted_3B": 0.0,
"predicted_AB": 4.11,
"predicted_AVG": 0.259,
"predicted_BB": 0.579,
"predicted_H": 1.06,
"predicted_HR": 0.14,
"predicted_OBP": 0.374,
"predicted_R": 0.5,
"predicted_RBI": 0.59,
"predicted_SLG": 0.431,
"predicted_SO": 1.026
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1548,
"predicted_3B": 0.0004,
"predicted_AB": 3.9516,
"predicted_AVG": 0.2803,
"predicted_BB": 0.5347,
"predicted_H": 1.1009,
"predicted_HBP": 0.111,
"predicted_HR": 0.1302,
"predicted_OBP": 0.3846,
"predicted_R": 0.4698,
"predicted_RBI": 0.5917,
"predicted_SLG": 0.4386,
"predicted_SO": 0.9936
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1548,
"delta": 0.0098,
"percent_delta": 0.0676,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.11,
"after": 3.9516,
"delta": -0.1584,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2803,
"delta": 0.0213,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.579,
"after": 0.5347,
"delta": -0.0443,
"percent_delta": -0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.1009,
"delta": 0.0409,
"percent_delta": 0.0386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1302,
"delta": -0.0098,
"percent_delta": -0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3846,
"delta": 0.0106,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4698,
"delta": -0.0302,
"percent_delta": -0.0604,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.5917,
"delta": 0.0017,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4386,
"delta": 0.0076,
"percent_delta": 0.0176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.026,
"after": 0.9936,
"delta": -0.0324,
"percent_delta": -0.0316,
"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.259,
"after": 0.2803,
"delta": 0.0213,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.11,
"after": 3.9516,
"delta": -0.1584,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1548,
"predicted_3B": 0.0004,
"predicted_AB": 3.9516,
"predicted_AVG": 0.2775,
"predicted_BB": 0.5352,
"predicted_H": 1.0965,
"predicted_HBP": 0.111,
"predicted_HR": 0.1306,
"predicted_OBP": 0.3637,
"predicted_R": 0.4674,
"predicted_RBI": 0.5886,
"predicted_SLG": 0.416,
"predicted_SO": 0.9927
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1548,
"after": 0.1548,
"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.9516,
"after": 3.9516,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2803,
"after": 0.2775,
"delta": -0.0028,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5347,
"after": 0.5352,
"delta": 0.0005,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1009,
"after": 1.0965,
"delta": -0.0044,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.111,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1302,
"after": 0.1306,
"delta": 0.0004,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3846,
"after": 0.3637,
"delta": -0.0209,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4698,
"after": 0.4674,
"delta": -0.0024,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5917,
"after": 0.5886,
"delta": -0.0031,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4386,
"after": 0.416,
"delta": -0.0226,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9936,
"after": 0.9927,
"delta": -0.0009,
"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_SLG",
"before": 0.4386,
"after": 0.416,
"delta": -0.0226,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.11), rates preserved: AVG=0.267 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1548,
"after": 0.0,
"delta": -0.1548,
"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.9516,
"after": 4.0,
"delta": 0.0484,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5352,
"after": 1.0,
"delta": 0.4648,
"percent_delta": 0.8685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0965,
"after": 1.0,
"delta": -0.0965,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1306,
"after": 0.0,
"delta": -0.1306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5886,
"after": 1.0,
"delta": 0.4114,
"percent_delta": 0.6989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9927,
"after": 1.0,
"delta": 0.0073,
"percent_delta": 0.0074,
"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.5352,
"after": 1.0,
"delta": 0.4648,
"percent_delta": 0.8685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1548,
"after": 0.0,
"delta": -0.1548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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.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.4674,
"after": 0.0,
"delta": -0.4674,
"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.4674,
"after": 0.0,
"delta": -0.4674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2775,
"after": 0.25,
"delta": -0.0275,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3637,
"after": 0.25,
"delta": -0.1137,
"percent_delta": -0.3126,
"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.416,
"after": 0.25,
"delta": -0.166,
"percent_delta": -0.399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.416,
"after": 0.25,
"delta": -0.166,
"percent_delta": -0.399,
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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": 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.2775,
"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.3637,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.416,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2775,
"delta": 0.0275,
"percent_delta": 0.1099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3637,
"delta": 0.1137,
"percent_delta": 0.4547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.416,
"delta": 0.166,
"percent_delta": 0.664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.416,
"delta": 0.166,
"percent_delta": 0.664,
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.11,
"after": 5.0,
"delta": 0.89,
"percent_delta": 0.2165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2775,
"delta": 0.0185,
"percent_delta": 0.0714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.579,
"after": 0.0,
"delta": -0.579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"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.374,
"after": 0.3637,
"delta": -0.0103,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.416,
"delta": -0.015,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.026,
"after": 1.0,
"delta": -0.026,
"percent_delta": -0.0253,
"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": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.110 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.579 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.374 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 1.026 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | 0.010 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.952 | -0.158 |
| predicted_AVG | 0.280 | 0.021 |
| predicted_BB | 0.535 | -0.044 |
| predicted_H | 1.101 | 0.041 |
| predicted_HBP | 0.111 | - |
| predicted_HR | 0.130 | -0.010 |
| predicted_OBP | 0.385 | 0.011 |
| predicted_R | 0.470 | -0.030 |
| predicted_RBI | 0.592 | 0.002 |
| predicted_SLG | 0.439 | 0.008 |
| predicted_SO | 0.994 | -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.155 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.952 | 0.000 |
| predicted_AVG | 0.278 | -0.003 |
| predicted_BB | 0.535 | 0.001 |
| predicted_H | 1.097 | -0.004 |
| predicted_HBP | 0.111 | 0.000 |
| predicted_HR | 0.131 | 0.000 |
| predicted_OBP | 0.364 | -0.021 |
| predicted_R | 0.467 | -0.002 |
| predicted_RBI | 0.589 | -0.003 |
| predicted_SLG | 0.416 | -0.023 |
| predicted_SO | 0.993 | -0.001 |
AB rounded to 4 (raw=4.11), rates preserved: AVG=0.267 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -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 | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.155 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.048 |
| predicted_AVG | 0.250 | -0.028 |
| predicted_BB | 0.000 | -0.535 |
| predicted_H | 1.000 | -0.097 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.250 | -0.114 |
| predicted_R | 0.000 | -0.467 |
| predicted_RBI | 1.000 | 0.411 |
| predicted_SLG | 0.250 | -0.166 |
| predicted_SO | 1.000 | 0.007 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 4.000 | 0.3684 | 0.4545 | 0.4211 | 0.3684 | 0.0000 | 0.1053 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 14.000 | 2.000 | 0.000 | 1.000 | 5.000 | 4.000 | 3.000 | 9.000 | 0.3590 | 0.4318 | 0.4872 | 0.3590 | 0.0256 | 0.1282 | 0.0769 | 0.2308 |
| season | 0.60 | 76 | - | 277.000 | 78.000 | 11.000 | 0.000 | 12.000 | 53.000 | 38.000 | 44.000 | 78.000 | 0.2816 | 0.3825 | 0.4513 | 0.2816 | 0.0433 | 0.1913 | 0.1588 | 0.2816 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7380 |
| predicted_AVG | 0.3091 |
| predicted_BB | 0.4750 |
| predicted_H | 1.1560 |
| predicted_HBP | 0.1110 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.3990 |
| predicted_R | 0.4290 |
| predicted_RBI | 0.5940 |
| predicted_SLG | 0.4489 |
| predicted_SO | 0.9500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.1680 | 0.1548 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1100 | 3.7380 | 3.9516 | model_form_blend |
| predicted_AVG | 0.2590 | 0.3091 | 0.2803 | model_form_blend |
| predicted_BB | 0.5790 | 0.4750 | 0.5347 | model_form_blend |
| predicted_H | 1.0600 | 1.1560 | 1.1009 | model_form_blend |
| predicted_HBP | - | 0.1110 | 0.1110 | form_only |
| predicted_HR | 0.1400 | 0.1170 | 0.1302 | model_form_blend |
| predicted_OBP | 0.3740 | 0.3990 | 0.3846 | model_form_blend |
| predicted_R | 0.5000 | 0.4290 | 0.4698 | model_form_blend |
| predicted_RBI | 0.5900 | 0.5940 | 0.5917 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4489 | 0.4386 | model_form_blend |
| predicted_SO | 1.0260 | 0.9500 | 0.9936 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 250 |
| Season rows before report date | 250 |
| Report year | 2026 |
| Profile rows used | 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.365 |
| sl_xwoba | 0.365 |
| sl_xba | 0.264 |
| sl_xslg | 0.457 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 4.420 | 4.000 | 4.000 | Hitting_AB | 3.909 | 5.000 | 0.091 | -1.000 |
| predicted_AVG | 0.281 | 0.000 | 0.250 | Hitting_AVG | 0.322 | 0.800 | -0.322 | -0.800 |
| predicted_BB | 0.432 | 1.000 | 0.000 | Hitting_BB | 0.401 | 0.000 | 0.599 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.240 | 0.000 | 1.000 | Hitting_H | 1.260 | 4.000 | -1.260 | -4.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_OBP | 0.416 | 0.200 | 0.250 | Hitting_OBP | 0.403 | 0.800 | -0.203 | -0.600 |
| predicted_R | 0.541 | 0.000 | 1.000 | Hitting_R | 0.554 | 1.000 | -0.554 | -1.000 |
| predicted_RBI | 0.690 | 0.000 | 1.000 | Hitting_RBI | 0.698 | 1.000 | -0.698 | -1.000 |
| predicted_SLG | 0.467 | 0.000 | 0.250 | Hitting_SLG | 0.490 | 0.800 | -0.490 | -0.800 |
| predicted_SO | 0.581 | 0.000 | 1.000 | Hitting_SO | 0.566 | 0.000 | -0.566 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.4320 -> 1.0000 (boost 0.5680, better) |
| Biggest Deboost | predicted_H: 1.2400 -> 0.0000 (deboost -1.2400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 4 | 2 | predicted_H: 1.2400 -> 1.2991 (boost 0.0591, better) | predicted_AB: 4.4200 -> 4.1252 (deboost -0.2948, worse) | Final model input calibrated with local 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.4347 -> 0.3842 (deboost -0.0505, 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.6340 -> 1.0000 (boost 0.3660, worse) | predicted_BB: 0.4728 -> 0.0000 (deboost -0.4728, worse) | AB rounded to 4 (raw=4.42), rates preserved: AVG=0.293 HR/AB=0.025 |
| 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.5640 -> 1.0000 (boost 0.4360, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4478 -> 0.2500 (deboost -0.1978, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4478 (boost 0.1978, 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.176,
"predicted_3B": 0.014,
"predicted_AB": 4.42,
"predicted_AVG": 0.281,
"predicted_BB": 0.432,
"predicted_H": 1.24,
"predicted_HR": 0.12,
"predicted_OBP": 0.416,
"predicted_R": 0.541,
"predicted_RBI": 0.69,
"predicted_SLG": 0.467,
"predicted_SO": 0.581
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1977,
"predicted_3B": 0.0114,
"predicted_AB": 4.1252,
"predicted_AVG": 0.3188,
"predicted_BB": 0.4724,
"predicted_H": 1.2991,
"predicted_HBP": 0.145,
"predicted_HR": 0.1106,
"predicted_OBP": 0.4347,
"predicted_R": 0.5669,
"predicted_RBI": 0.6785,
"predicted_SLG": 0.4869,
"predicted_SO": 0.6346
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1977,
"delta": 0.0217,
"percent_delta": 0.1233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0114,
"delta": -0.0026,
"percent_delta": -0.1857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 4.1252,
"delta": -0.2948,
"percent_delta": -0.0667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.3188,
"delta": 0.0378,
"percent_delta": 0.1345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.432,
"after": 0.4724,
"delta": 0.0404,
"percent_delta": 0.0935,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.24,
"after": 1.2991,
"delta": 0.0591,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1106,
"delta": -0.0094,
"percent_delta": -0.0783,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.416,
"after": 0.4347,
"delta": 0.0187,
"percent_delta": 0.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.541,
"after": 0.5669,
"delta": 0.0259,
"percent_delta": 0.0479,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.6785,
"delta": -0.0115,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4869,
"delta": 0.0199,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.581,
"after": 0.6346,
"delta": 0.0536,
"percent_delta": 0.0923,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.24,
"after": 1.2991,
"delta": 0.0591,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 4.1252,
"delta": -0.2948,
"percent_delta": -0.0667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1977,
"predicted_3B": 0.0114,
"predicted_AB": 4.1252,
"predicted_AVG": 0.3137,
"predicted_BB": 0.4728,
"predicted_H": 1.2939,
"predicted_HBP": 0.145,
"predicted_HR": 0.1109,
"predicted_OBP": 0.3842,
"predicted_R": 0.564,
"predicted_RBI": 0.675,
"predicted_SLG": 0.4478,
"predicted_SO": 0.634
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1977,
"after": 0.1977,
"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": 4.1252,
"after": 4.1252,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3188,
"after": 0.3137,
"delta": -0.0051,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4724,
"after": 0.4728,
"delta": 0.0004,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2991,
"after": 1.2939,
"delta": -0.0052,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.145,
"after": 0.145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1106,
"after": 0.1109,
"delta": 0.0003,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4347,
"after": 0.3842,
"delta": -0.0505,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5669,
"after": 0.564,
"delta": -0.0029,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6785,
"after": 0.675,
"delta": -0.0035,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4869,
"after": 0.4478,
"delta": -0.0391,
"percent_delta": -0.0803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6346,
"after": 0.634,
"delta": -0.0006,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4347,
"after": 0.3842,
"delta": -0.0505,
"percent_delta": -0.1162,
"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.293 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1977,
"after": 0.0,
"delta": -0.1977,
"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": 4.1252,
"after": 4.0,
"delta": -0.1252,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4728,
"after": 0.0,
"delta": -0.4728,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2939,
"after": 1.0,
"delta": -0.2939,
"percent_delta": -0.2271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1109,
"after": 0.0,
"delta": -0.1109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.675,
"after": 1.0,
"delta": 0.325,
"percent_delta": 0.4815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"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.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4728,
"after": 0.0,
"delta": -0.4728,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.564,
"after": 1.0,
"delta": 0.436,
"percent_delta": 0.773,
"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.564,
"after": 1.0,
"delta": 0.436,
"percent_delta": 0.773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3137,
"after": 0.25,
"delta": -0.0637,
"percent_delta": -0.2031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3842,
"after": 0.25,
"delta": -0.1342,
"percent_delta": -0.3493,
"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.4478,
"after": 0.25,
"delta": -0.1978,
"percent_delta": -0.4417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4478,
"after": 0.25,
"delta": -0.1978,
"percent_delta": -0.4417,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.3137,
"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.3842,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4478,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.3137,
"delta": 0.0637,
"percent_delta": 0.2546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3842,
"delta": 0.1342,
"percent_delta": 0.5369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4478,
"delta": 0.1978,
"percent_delta": 0.7911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4478,
"delta": 0.1978,
"percent_delta": 0.7911,
"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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 4.0,
"delta": -0.42,
"percent_delta": -0.095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.3137,
"delta": 0.0327,
"percent_delta": 0.1164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.432,
"after": 1.0,
"delta": 0.568,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.24,
"after": 0.0,
"delta": -1.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.416,
"after": 0.3842,
"delta": -0.0318,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.541,
"after": 0.0,
"delta": -0.541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4478,
"delta": -0.0192,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.581,
"after": 0.0,
"delta": -0.581,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.432,
"after": 1.0,
"delta": 0.568,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.24,
"after": 0.0,
"delta": -1.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.014 | - |
| predicted_AB | 4.420 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.432 | - |
| predicted_H | 1.240 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.416 | - |
| predicted_R | 0.541 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.467 | - |
| predicted_SO | 0.581 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.198 | 0.022 |
| predicted_3B | 0.011 | -0.003 |
| predicted_AB | 4.125 | -0.295 |
| predicted_AVG | 0.319 | 0.038 |
| predicted_BB | 0.472 | 0.040 |
| predicted_H | 1.299 | 0.059 |
| predicted_HBP | 0.145 | - |
| predicted_HR | 0.111 | -0.009 |
| predicted_OBP | 0.435 | 0.019 |
| predicted_R | 0.567 | 0.026 |
| predicted_RBI | 0.678 | -0.011 |
| predicted_SLG | 0.487 | 0.020 |
| predicted_SO | 0.635 | 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.198 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 4.125 | 0.000 |
| predicted_AVG | 0.314 | -0.005 |
| predicted_BB | 0.473 | 0.000 |
| predicted_H | 1.294 | -0.005 |
| predicted_HBP | 0.145 | 0.000 |
| predicted_HR | 0.111 | 0.000 |
| predicted_OBP | 0.384 | -0.050 |
| predicted_R | 0.564 | -0.003 |
| predicted_RBI | 0.675 | -0.003 |
| predicted_SLG | 0.448 | -0.039 |
| predicted_SO | 0.634 | -0.001 |
AB rounded to 4 (raw=4.42), rates preserved: AVG=0.293 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.198 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | -0.125 |
| predicted_AVG | 0.250 | -0.064 |
| predicted_BB | 0.000 | -0.473 |
| predicted_H | 1.000 | -0.294 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.250 | -0.134 |
| predicted_R | 1.000 | 0.436 |
| predicted_RBI | 1.000 | 0.325 |
| predicted_SLG | 0.250 | -0.198 |
| predicted_SO | 1.000 | 0.366 |
Attached 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 | -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 | 9.000 | 2.000 | 0.000 | 0.000 | 4.000 | 4.000 | 4.000 | 4.000 | 0.5294 | 0.6364 | 0.6471 | 0.5294 | 0.0000 | 0.2353 | 0.2353 | 0.2353 |
| last_10 | 0.20 | 10 | - | 37.000 | 14.000 | 2.000 | 0.000 | 0.000 | 5.000 | 6.000 | 6.000 | 9.000 | 0.3784 | 0.4889 | 0.4324 | 0.3784 | 0.0000 | 0.1351 | 0.1622 | 0.2432 |
| season | 0.60 | 74 | - | 283.000 | 94.000 | 13.000 | 1.000 | 12.000 | 51.000 | 40.000 | 32.000 | 43.000 | 0.3322 | 0.4141 | 0.5124 | 0.3322 | 0.0424 | 0.1802 | 0.1131 | 0.1519 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2270 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.7270 |
| predicted_AVG | 0.3699 |
| predicted_BB | 0.5270 |
| predicted_H | 1.3790 |
| predicted_HBP | 0.1450 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.4600 |
| predicted_R | 0.6020 |
| predicted_RBI | 0.6630 |
| predicted_SLG | 0.5138 |
| predicted_SO | 0.7070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.2270 | 0.1977 | model_form_blend |
| predicted_3B | 0.0140 | 0.0080 | 0.0114 | model_form_blend |
| predicted_AB | 4.4200 | 3.7270 | 4.1252 | model_form_blend |
| predicted_AVG | 0.2810 | 0.3699 | 0.3188 | model_form_blend |
| predicted_BB | 0.4320 | 0.5270 | 0.4724 | model_form_blend |
| predicted_H | 1.2400 | 1.3790 | 1.2991 | model_form_blend |
| predicted_HBP | - | 0.1450 | 0.1450 | form_only |
| predicted_HR | 0.1200 | 0.0980 | 0.1106 | model_form_blend |
| predicted_OBP | 0.4160 | 0.4600 | 0.4347 | model_form_blend |
| predicted_R | 0.5410 | 0.6020 | 0.5669 | model_form_blend |
| predicted_RBI | 0.6900 | 0.6630 | 0.6785 | model_form_blend |
| predicted_SLG | 0.4670 | 0.5138 | 0.4869 | model_form_blend |
| predicted_SO | 0.5810 | 0.7070 | 0.6346 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 242 |
| Season rows before report date | 242 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.332 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.8 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 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 | DH |
| gameID | 20260624_KC@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-06-24 |
| sl_k_percent | 13.2 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.402 |
| sl_xwoba | 0.37 |
| sl_xba | 0.292 |
| sl_xslg | 0.458 |
| sl_sweet_spot_percent | 28.1 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 6.2 |
| sl_whiff_percent | 14.3 |
| 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.156 | 0.000 | 0.000 | Hitting_2B | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.180 | 4.000 | 4.000 | Hitting_AB | 3.918 | 2.000 | 0.082 | 2.000 |
| predicted_AVG | 0.254 | 0.250 | 0.250 | Hitting_AVG | 0.269 | 0.000 | -0.019 | 0.250 |
| predicted_BB | 0.584 | 0.000 | 1.000 | Hitting_BB | 0.613 | 2.000 | -0.613 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 1.060 | 1.000 | 1.000 | Hitting_H | 1.055 | 0.000 | -0.055 | 1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_OBP | 0.358 | 0.250 | 0.400 | Hitting_OBP | 0.367 | 0.500 | -0.117 | -0.250 |
| predicted_R | 0.597 | 1.000 | 1.000 | Hitting_R | 0.656 | 1.000 | 0.344 | 0.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_SLG | 0.453 | 0.250 | 0.250 | Hitting_SLG | 0.482 | 0.000 | -0.232 | 0.250 |
| predicted_SO | 0.779 | 2.000 | 1.000 | Hitting_SO | 0.742 | 2.000 | 1.258 | 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: 0.7790 -> 2.0000 (boost 1.2210, worse) |
| Biggest Deboost | predicted_RBI: 0.6000 -> 0.0000 (deboost -0.6000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2540 -> 0.2715 (boost 0.0175, better) | predicted_AB: 4.1800 -> 3.9887 (deboost -0.1913, worse) | Final model input calibrated with local 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.4677 -> 0.4506 (deboost -0.0171, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_BB: 0.5619 -> 1.0000 (boost 0.4381, better) | predicted_HR: 0.1944 -> 0.0000 (deboost -0.1944, worse) | AB rounded to 4 (raw=4.18), rates preserved: AVG=0.257 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5837 -> 1.0000 (boost 0.4163, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3593 -> 0.4000 (boost 0.0407, better) | predicted_SLG: 0.4506 -> 0.2500 (deboost -0.2006, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4506 (boost 0.2006, better) | predicted_OBP: 0.4000 -> 0.3593 (deboost -0.0407, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.0,
"predicted_AB": 4.18,
"predicted_AVG": 0.254,
"predicted_BB": 0.584,
"predicted_H": 1.06,
"predicted_HR": 0.19,
"predicted_OBP": 0.358,
"predicted_R": 0.597,
"predicted_RBI": 0.6,
"predicted_SLG": 0.453,
"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.1402,
"predicted_3B": 0.0004,
"predicted_AB": 3.9887,
"predicted_AVG": 0.2715,
"predicted_BB": 0.5614,
"predicted_H": 1.0775,
"predicted_HBP": 0.003,
"predicted_HR": 0.1938,
"predicted_OBP": 0.366,
"predicted_R": 0.5868,
"predicted_RBI": 0.5932,
"predicted_SLG": 0.4677,
"predicted_SO": 0.8169
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.1402,
"delta": -0.0158,
"percent_delta": -0.1013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 3.9887,
"delta": -0.1913,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2715,
"delta": 0.0175,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.584,
"after": 0.5614,
"delta": -0.0226,
"percent_delta": -0.0387,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0775,
"delta": 0.0175,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1938,
"delta": 0.0038,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.366,
"delta": 0.008,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.597,
"after": 0.5868,
"delta": -0.0102,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.5932,
"delta": -0.0068,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4677,
"delta": 0.0147,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.779,
"after": 0.8169,
"delta": 0.0379,
"percent_delta": 0.0487,
"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.254,
"after": 0.2715,
"delta": 0.0175,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.18,
"after": 3.9887,
"delta": -0.1913,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1402,
"predicted_3B": 0.0004,
"predicted_AB": 3.9887,
"predicted_AVG": 0.2691,
"predicted_BB": 0.5619,
"predicted_H": 1.0732,
"predicted_HBP": 0.003,
"predicted_HR": 0.1944,
"predicted_OBP": 0.3593,
"predicted_R": 0.5837,
"predicted_RBI": 0.5901,
"predicted_SLG": 0.4506,
"predicted_SO": 0.8162
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1402,
"after": 0.1402,
"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.9887,
"after": 3.9887,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2715,
"after": 0.2691,
"delta": -0.0024,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5614,
"after": 0.5619,
"delta": 0.0005,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0775,
"after": 1.0732,
"delta": -0.0043,
"percent_delta": -0.004,
"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.1938,
"after": 0.1944,
"delta": 0.0006,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.366,
"after": 0.3593,
"delta": -0.0067,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5868,
"after": 0.5837,
"delta": -0.0031,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5932,
"after": 0.5901,
"delta": -0.0031,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4677,
"after": 0.4506,
"delta": -0.0171,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8169,
"after": 0.8162,
"delta": -0.0007,
"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_SLG",
"before": 0.4677,
"after": 0.4506,
"delta": -0.0171,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.18), rates preserved: AVG=0.257 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1402,
"after": 0.0,
"delta": -0.1402,
"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.9887,
"after": 4.0,
"delta": 0.0113,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5619,
"after": 1.0,
"delta": 0.4381,
"percent_delta": 0.7797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0732,
"after": 1.0,
"delta": -0.0732,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1944,
"after": 0.0,
"delta": -0.1944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5901,
"after": 1.0,
"delta": 0.4099,
"percent_delta": 0.6946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8162,
"after": 1.0,
"delta": 0.1838,
"percent_delta": 0.2252,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5619,
"after": 1.0,
"delta": 0.4381,
"percent_delta": 0.7797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1944,
"after": 0.0,
"delta": -0.1944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5837,
"after": 1.0,
"delta": 0.4163,
"percent_delta": 0.7132,
"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.5837,
"after": 1.0,
"delta": 0.4163,
"percent_delta": 0.7132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2691,
"after": 0.25,
"delta": -0.0191,
"percent_delta": -0.071,
"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.3593,
"after": 0.4,
"delta": 0.0407,
"percent_delta": 0.1133,
"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.4506,
"after": 0.25,
"delta": -0.2006,
"percent_delta": -0.4452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3593,
"after": 0.4,
"delta": 0.0407,
"percent_delta": 0.1133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4506,
"after": 0.25,
"delta": -0.2006,
"percent_delta": -0.4452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2691,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3593,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4506,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2691,
"delta": 0.0191,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3593,
"delta": -0.0407,
"percent_delta": -0.1017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4506,
"delta": 0.2006,
"percent_delta": 0.8024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4506,
"delta": 0.2006,
"percent_delta": 0.8024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3593,
"delta": -0.0407,
"percent_delta": -0.1017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 4.0,
"delta": -0.18,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2691,
"delta": 0.0151,
"percent_delta": 0.0594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.584,
"after": 0.0,
"delta": -0.584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3593,
"delta": 0.0013,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.597,
"after": 1.0,
"delta": 0.403,
"percent_delta": 0.675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4506,
"delta": -0.0024,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.779,
"after": 2.0,
"delta": 1.221,
"percent_delta": 1.5674,
"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": 0.779,
"after": 2.0,
"delta": 1.221,
"percent_delta": 1.5674,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.180 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.584 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.597 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.453 | - |
| 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.140 | -0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.989 | -0.191 |
| predicted_AVG | 0.272 | 0.018 |
| predicted_BB | 0.561 | -0.023 |
| predicted_H | 1.077 | 0.017 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.194 | 0.004 |
| predicted_OBP | 0.366 | 0.008 |
| predicted_R | 0.587 | -0.010 |
| predicted_RBI | 0.593 | -0.007 |
| predicted_SLG | 0.468 | 0.015 |
| predicted_SO | 0.817 | 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.140 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.989 | 0.000 |
| predicted_AVG | 0.269 | -0.002 |
| predicted_BB | 0.562 | 0.000 |
| predicted_H | 1.073 | -0.004 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.194 | 0.001 |
| predicted_OBP | 0.359 | -0.007 |
| predicted_R | 0.584 | -0.003 |
| predicted_RBI | 0.590 | -0.003 |
| predicted_SLG | 0.451 | -0.017 |
| predicted_SO | 0.816 | -0.001 |
AB rounded to 4 (raw=4.18), rates preserved: AVG=0.257 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.140 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.011 |
| predicted_AVG | 0.250 | -0.019 |
| predicted_BB | 1.000 | 0.438 |
| predicted_H | 1.000 | -0.073 |
| predicted_HR | 0.000 | -0.194 |
| predicted_OBP | 0.400 | 0.041 |
| predicted_R | 1.000 | 0.416 |
| predicted_RBI | 1.000 | 0.410 |
| predicted_SLG | 0.250 | -0.201 |
| predicted_SO | 1.000 | 0.184 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 3.000 | 5.000 | 0.3333 | 0.4091 | 0.5000 | 0.3333 | 0.0556 | 0.2222 | 0.1667 | 0.2778 |
| last_10 | 0.20 | 10 | - | 37.000 | 12.000 | 1.000 | 0.000 | 2.000 | 7.000 | 5.000 | 4.000 | 10.000 | 0.3243 | 0.3810 | 0.5135 | 0.3243 | 0.0541 | 0.1892 | 0.1081 | 0.2703 |
| season | 0.60 | 77 | - | 290.000 | 81.000 | 12.000 | 0.000 | 16.000 | 37.000 | 46.000 | 45.000 | 60.000 | 0.2793 | 0.3739 | 0.4862 | 0.2793 | 0.0552 | 0.1276 | 0.1552 | 0.2069 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7310 |
| predicted_AVG | 0.2951 |
| predicted_BB | 0.5310 |
| predicted_H | 1.1010 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1990 |
| predicted_OBP | 0.3767 |
| predicted_R | 0.5730 |
| predicted_RBI | 0.5840 |
| predicted_SLG | 0.4875 |
| predicted_SO | 0.8680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.1190 | 0.1402 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1800 | 3.7310 | 3.9887 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2951 | 0.2715 | model_form_blend |
| predicted_BB | 0.5840 | 0.5310 | 0.5614 | model_form_blend |
| predicted_H | 1.0600 | 1.1010 | 1.0775 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1900 | 0.1990 | 0.1938 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3767 | 0.3660 | model_form_blend |
| predicted_R | 0.5970 | 0.5730 | 0.5868 | model_form_blend |
| predicted_RBI | 0.6000 | 0.5840 | 0.5932 | model_form_blend |
| predicted_SLG | 0.4530 | 0.4875 | 0.4677 | model_form_blend |
| predicted_SO | 0.7790 | 0.8680 | 0.8169 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 256 |
| Season rows before report date | 256 |
| Report year | 2026 |
| Profile rows used | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.279 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 1 |
| 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 | 20260624_KC@TB |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-24 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.371 |
| sl_xwoba | 0.361 |
| sl_xba | 0.273 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 51.5 |
| sl_exit_velocity_avg | 93.2 |
| sl_launch_angle_avg | 6.9 |
| sl_whiff_percent | 22.3 |
| 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.113 | 0.000 | 0.000 | Hitting_2B | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 2.962 | 3.000 | 3.000 | Hitting_AB | 3.059 | 5.000 | -0.059 | -2.000 |
| predicted_AVG | 0.238 | 0.000 | 0.333 | Hitting_AVG | 0.266 | 0.200 | -0.266 | -0.200 |
| predicted_BB | 0.415 | 0.000 | 0.000 | Hitting_BB | 0.452 | 0.000 | -0.452 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.096 | 1.000 | -0.096 | -1.000 |
| predicted_H | 0.310 | 0.000 | 1.000 | Hitting_H | 0.815 | 1.000 | -0.815 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_OBP | 0.294 | 0.250 | 0.333 | Hitting_OBP | 0.372 | 0.200 | -0.122 | 0.050 |
| predicted_R | 0.377 | 0.000 | 0.000 | Hitting_R | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_SLG | 0.334 | 0.000 | 0.333 | Hitting_SLG | 0.337 | 0.200 | -0.337 | -0.200 |
| predicted_SO | 0.698 | 1.000 | 1.000 | Hitting_SO | 0.778 | 0.000 | 0.222 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 0 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6980 -> 1.0000 (boost 0.3020, worse) |
| Biggest Deboost | predicted_BB: 0.4150 -> 0.0000 (deboost -0.4150, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3100 -> 0.4911 (boost 0.1811, 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.3313 -> 0.2524 (deboost -0.0789, 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.6639 -> 1.0000 (boost 0.3361, worse) | predicted_H: 0.4891 -> 0.0000 (deboost -0.4891, worse) | AB rounded to 3 (raw=3.03), rates preserved: AVG=0.161 HR/AB=0.009 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3787 -> 0.0000 (deboost -0.3787, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1612 -> 0.3330 (boost 0.1718, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1612 (deboost -0.1718, 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.113,
"predicted_3B": 0.038,
"predicted_AB": 2.962,
"predicted_AVG": 0.238,
"predicted_BB": 0.415,
"predicted_H": 0.31,
"predicted_HR": 0.03,
"predicted_OBP": 0.294,
"predicted_R": 0.377,
"predicted_RBI": 0.17,
"predicted_SLG": 0.334,
"predicted_SO": 0.698
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1294,
"predicted_3B": 0.0315,
"predicted_AB": 3.0335,
"predicted_AVG": 0.2389,
"predicted_BB": 0.3803,
"predicted_H": 0.4911,
"predicted_HBP": 0.035,
"predicted_HR": 0.028,
"predicted_OBP": 0.3038,
"predicted_R": 0.3807,
"predicted_RBI": 0.2411,
"predicted_SLG": 0.3313,
"predicted_SO": 0.6645
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.1294,
"delta": 0.0164,
"percent_delta": 0.1451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0315,
"delta": -0.0065,
"percent_delta": -0.1711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.962,
"after": 3.0335,
"delta": 0.0715,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2389,
"delta": 0.0009,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.3803,
"delta": -0.0347,
"percent_delta": -0.0836,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.4911,
"delta": 0.1811,
"percent_delta": 0.5842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.028,
"delta": -0.002,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3038,
"delta": 0.0098,
"percent_delta": 0.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.3807,
"delta": 0.0037,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2411,
"delta": 0.0711,
"percent_delta": 0.4182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3313,
"delta": -0.0027,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.698,
"after": 0.6645,
"delta": -0.0335,
"percent_delta": -0.048,
"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.31,
"after": 0.4911,
"delta": 0.1811,
"percent_delta": 0.5842,
"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": 53
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1294,
"predicted_3B": 0.0315,
"predicted_AB": 3.0335,
"predicted_AVG": 0.1612,
"predicted_BB": 0.3806,
"predicted_H": 0.4891,
"predicted_HBP": 0.035,
"predicted_HR": 0.0281,
"predicted_OBP": 0.2548,
"predicted_R": 0.3787,
"predicted_RBI": 0.2398,
"predicted_SLG": 0.2524,
"predicted_SO": 0.6639
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1294,
"after": 0.1294,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0315,
"after": 0.0315,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0335,
"after": 3.0335,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2389,
"after": 0.1612,
"delta": -0.0777,
"percent_delta": -0.3252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3803,
"after": 0.3806,
"delta": 0.0003,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4911,
"after": 0.4891,
"delta": -0.002,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.028,
"after": 0.0281,
"delta": 0.0001,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3038,
"after": 0.2548,
"delta": -0.049,
"percent_delta": -0.1613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3807,
"after": 0.3787,
"delta": -0.002,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2411,
"after": 0.2398,
"delta": -0.0013,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3313,
"after": 0.2524,
"delta": -0.0789,
"percent_delta": -0.2382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6645,
"after": 0.6639,
"delta": -0.0006,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3313,
"after": 0.2524,
"delta": -0.0789,
"percent_delta": -0.2382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.03), rates preserved: AVG=0.161 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1294,
"after": 0.0,
"delta": -0.1294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0315,
"after": 0.0,
"delta": -0.0315,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0335,
"after": 3.0,
"delta": -0.0335,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3806,
"after": 0.0,
"delta": -0.3806,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4891,
"after": 0.0,
"delta": -0.4891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0281,
"after": 0.0,
"delta": -0.0281,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2398,
"after": 0.0,
"delta": -0.2398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6639,
"after": 1.0,
"delta": 0.3361,
"percent_delta": 0.5063,
"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.6639,
"after": 1.0,
"delta": 0.3361,
"percent_delta": 0.5063,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4891,
"after": 0.0,
"delta": -0.4891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3787,
"after": 0.0,
"delta": -0.3787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3787,
"after": 0.0,
"delta": -0.3787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1612,
"after": 0.333,
"delta": 0.1718,
"percent_delta": 1.0658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2548,
"after": 0.333,
"delta": 0.0782,
"percent_delta": 0.3069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2524,
"after": 0.333,
"delta": 0.0806,
"percent_delta": 0.3193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1612,
"after": 0.333,
"delta": 0.1718,
"percent_delta": 1.0658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1612,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2548,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2524,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1612,
"delta": -0.1718,
"percent_delta": -0.5158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2548,
"delta": -0.0782,
"percent_delta": -0.235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2524,
"delta": -0.0806,
"percent_delta": -0.2419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1612,
"delta": -0.1718,
"percent_delta": -0.5158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.962,
"after": 3.0,
"delta": 0.038,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.1612,
"delta": -0.0768,
"percent_delta": -0.3227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"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.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2548,
"delta": -0.0392,
"percent_delta": -0.1333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.2524,
"delta": -0.0816,
"percent_delta": -0.2443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.698,
"after": 1.0,
"delta": 0.302,
"percent_delta": 0.4327,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.698,
"after": 1.0,
"delta": 0.302,
"percent_delta": 0.4327,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.038 | - |
| predicted_AB | 2.962 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.415 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.377 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 0.698 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | 0.016 |
| predicted_3B | 0.032 | -0.006 |
| predicted_AB | 3.034 | 0.071 |
| predicted_AVG | 0.239 | 0.001 |
| predicted_BB | 0.380 | -0.035 |
| predicted_H | 0.491 | 0.181 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.028 | -0.002 |
| predicted_OBP | 0.304 | 0.010 |
| predicted_R | 0.381 | 0.004 |
| predicted_RBI | 0.241 | 0.071 |
| predicted_SLG | 0.331 | -0.003 |
| predicted_SO | 0.664 | -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.129 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.034 | 0.000 |
| predicted_AVG | 0.161 | -0.078 |
| predicted_BB | 0.381 | 0.000 |
| predicted_H | 0.489 | -0.002 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.028 | 0.000 |
| predicted_OBP | 0.255 | -0.049 |
| predicted_R | 0.379 | -0.002 |
| predicted_RBI | 0.240 | -0.001 |
| predicted_SLG | 0.252 | -0.079 |
| predicted_SO | 0.664 | -0.001 |
AB rounded to 3 (raw=3.03), rates preserved: AVG=0.161 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.129 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 3.000 | -0.034 |
| predicted_AVG | 0.333 | 0.172 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | 0.511 |
| predicted_HR | 0.000 | -0.028 |
| predicted_OBP | 0.333 | 0.078 |
| predicted_R | 0.000 | -0.379 |
| predicted_RBI | 0.000 | -0.240 |
| predicted_SLG | 0.333 | 0.081 |
| predicted_SO | 1.000 | 0.336 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.2667 | 0.3125 | 0.3333 | 0.2667 | 0.0000 | 0.0667 | 0.0667 | 0.0667 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 2.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 6.000 | 0.2188 | 0.2647 | 0.2812 | 0.2188 | 0.0000 | 0.0625 | 0.0625 | 0.1875 |
| season | 0.60 | 53 | - | 157.000 | 37.000 | 6.000 | 2.000 | 1.000 | 21.000 | 20.000 | 22.000 | 37.000 | 0.2357 | 0.3388 | 0.3185 | 0.2357 | 0.0064 | 0.1338 | 0.1401 | 0.2357 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1530 |
| predicted_3B | 0.0220 |
| predicted_AB | 3.1370 |
| predicted_AVG | 0.2402 |
| predicted_BB | 0.3300 |
| predicted_H | 0.7530 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.0250 |
| predicted_OBP | 0.3179 |
| predicted_R | 0.3860 |
| predicted_RBI | 0.3440 |
| predicted_SLG | 0.3275 |
| predicted_SO | 0.6160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1130 | 0.1530 | 0.1294 | model_form_blend |
| predicted_3B | 0.0380 | 0.0220 | 0.0315 | model_form_blend |
| predicted_AB | 2.9620 | 3.1370 | 3.0335 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2402 | 0.2389 | model_form_blend |
| predicted_BB | 0.4150 | 0.3300 | 0.3803 | model_form_blend |
| predicted_H | 0.3100 | 0.7530 | 0.4911 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.0300 | 0.0250 | 0.0280 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3179 | 0.3038 | model_form_blend |
| predicted_R | 0.3770 | 0.3860 | 0.3807 | model_form_blend |
| predicted_RBI | 0.1700 | 0.3440 | 0.2411 | model_form_blend |
| predicted_SLG | 0.3340 | 0.3275 | 0.3313 | model_form_blend |
| predicted_SO | 0.6980 | 0.6160 | 0.6645 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 53 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.236 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260623_KC@TB |
| game_type | full |
| mlbID | 680700 |
| playerID | 680700 |
| playerName | Richie Palacios |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-23 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.303 |
| sl_xwoba | 0.299 |
| sl_xba | 0.232 |
| sl_xslg | 0.312 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 27.3 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 22.3 |
| 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_2B | 0.070 | 0.000 | 0.000 | Hitting_2B | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_3B | 0.056 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 3.873 | 3.000 | 4.000 | Hitting_AB | 4.041 | 2.000 | -1.041 | 1.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.280 | 0.500 | -0.280 | -0.500 |
| predicted_BB | 0.225 | 1.000 | 0.000 | Hitting_BB | 0.238 | 1.000 | 0.762 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_H | 0.400 | 0.000 | 1.000 | Hitting_H | 1.131 | 1.000 | -1.131 | -1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.306 | 0.250 | 0.250 | Hitting_OBP | 0.317 | 0.667 | -0.067 | -0.417 |
| predicted_R | 0.451 | 0.000 | 0.000 | Hitting_R | 0.492 | 0.000 | -0.492 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_SLG | 0.334 | 0.000 | 0.250 | Hitting_SLG | 0.328 | 0.500 | -0.328 | -0.500 |
| predicted_SO | 0.437 | 3.000 | 0.000 | Hitting_SO | 0.455 | 0.000 | 2.545 | 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.4370 -> 3.0000 (boost 2.5630, worse) |
| Biggest Deboost | predicted_AB: 3.8730 -> 3.0000 (deboost -0.8730, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.4000 -> 0.6706 (boost 0.2706, better) | predicted_AB: 3.8730 -> 3.8003 (deboost -0.0727, worse) | Final model input calibrated with local 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.3357 -> 0.2361 (deboost -0.0996, 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.6679 -> 1.0000 (boost 0.3321, better) | predicted_SO: 0.4133 -> 0.0000 (deboost -0.4133, better) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.172 HR/AB=0.004 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4020 -> 0.0000 (deboost -0.4020, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1758 -> 0.2500 (boost 0.0742, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_SO: 0.0000 -> 3.0000 (boost 3.0000, worse) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2500 -> 0.1758 (deboost -0.0742, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.07,
"predicted_3B": 0.056,
"predicted_AB": 3.873,
"predicted_AVG": 0.238,
"predicted_BB": 0.225,
"predicted_H": 0.4,
"predicted_HR": 0.02,
"predicted_OBP": 0.306,
"predicted_R": 0.451,
"predicted_RBI": 0.15,
"predicted_SLG": 0.334,
"predicted_SO": 0.437
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0886,
"predicted_3B": 0.0454,
"predicted_AB": 3.8003,
"predicted_AVG": 0.2563,
"predicted_BB": 0.2673,
"predicted_H": 0.6706,
"predicted_HBP": 0.003,
"predicted_HR": 0.0166,
"predicted_OBP": 0.3188,
"predicted_R": 0.4041,
"predicted_RBI": 0.1936,
"predicted_SLG": 0.3357,
"predicted_SO": 0.4137
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.07,
"after": 0.0886,
"delta": 0.0186,
"percent_delta": 0.2657,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0454,
"delta": -0.0106,
"percent_delta": -0.1893,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.873,
"after": 3.8003,
"delta": -0.0727,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2563,
"delta": 0.0183,
"percent_delta": 0.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.225,
"after": 0.2673,
"delta": 0.0423,
"percent_delta": 0.188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.6706,
"delta": 0.2706,
"percent_delta": 0.6765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0166,
"delta": -0.0034,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3188,
"delta": 0.0128,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.451,
"after": 0.4041,
"delta": -0.0469,
"percent_delta": -0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.1936,
"delta": 0.0436,
"percent_delta": 0.2907,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3357,
"delta": 0.0017,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.437,
"after": 0.4137,
"delta": -0.0233,
"percent_delta": -0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4,
"after": 0.6706,
"delta": 0.2706,
"percent_delta": 0.6765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.873,
"after": 3.8003,
"delta": -0.0727,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0886,
"predicted_3B": 0.0454,
"predicted_AB": 3.8003,
"predicted_AVG": 0.1758,
"predicted_BB": 0.2675,
"predicted_H": 0.6679,
"predicted_HBP": 0.003,
"predicted_HR": 0.0166,
"predicted_OBP": 0.23,
"predicted_R": 0.402,
"predicted_RBI": 0.1926,
"predicted_SLG": 0.2361,
"predicted_SO": 0.4133
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0886,
"after": 0.0886,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0454,
"after": 0.0454,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8003,
"after": 3.8003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2563,
"after": 0.1758,
"delta": -0.0805,
"percent_delta": -0.3141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2673,
"after": 0.2675,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6706,
"after": 0.6679,
"delta": -0.0027,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0166,
"after": 0.0166,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3188,
"after": 0.23,
"delta": -0.0888,
"percent_delta": -0.2785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4041,
"after": 0.402,
"delta": -0.0021,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1936,
"after": 0.1926,
"delta": -0.001,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3357,
"after": 0.2361,
"delta": -0.0996,
"percent_delta": -0.2967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4137,
"after": 0.4133,
"delta": -0.0004,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3357,
"after": 0.2361,
"delta": -0.0996,
"percent_delta": -0.2967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.172 HR/AB=0.004",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0886,
"after": 0.0,
"delta": -0.0886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0454,
"after": 0.0,
"delta": -0.0454,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8003,
"after": 4.0,
"delta": 0.1997,
"percent_delta": 0.0525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2675,
"after": 0.0,
"delta": -0.2675,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6679,
"after": 1.0,
"delta": 0.3321,
"percent_delta": 0.4972,
"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.0166,
"after": 0.0,
"delta": -0.0166,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1926,
"after": 0.0,
"delta": -0.1926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4133,
"after": 0.0,
"delta": -0.4133,
"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.6679,
"after": 1.0,
"delta": 0.3321,
"percent_delta": 0.4972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4133,
"after": 0.0,
"delta": -0.4133,
"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.402,
"after": 0.0,
"delta": -0.402,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.402,
"after": 0.0,
"delta": -0.402,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1758,
"after": 0.25,
"delta": 0.0742,
"percent_delta": 0.4221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.23,
"after": 0.25,
"delta": 0.02,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2361,
"after": 0.25,
"delta": 0.0139,
"percent_delta": 0.0589,
"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.1758,
"after": 0.25,
"delta": 0.0742,
"percent_delta": 0.4221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1758,
"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.23,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2361,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1758,
"delta": -0.0742,
"percent_delta": -0.297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.23,
"delta": -0.02,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2361,
"delta": -0.0139,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1758,
"delta": -0.0742,
"percent_delta": -0.297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.873,
"after": 3.0,
"delta": -0.873,
"percent_delta": -0.2254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.1758,
"delta": -0.0622,
"percent_delta": -0.2613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.225,
"after": 1.0,
"delta": 0.775,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"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.306,
"after": 0.23,
"delta": -0.076,
"percent_delta": -0.2484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.451,
"after": 0.0,
"delta": -0.451,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.2361,
"delta": -0.0979,
"percent_delta": -0.2931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.437,
"after": 3.0,
"delta": 2.563,
"percent_delta": 5.865,
"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.437,
"after": 3.0,
"delta": 2.563,
"percent_delta": 5.865,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.873,
"after": 3.0,
"delta": -0.873,
"percent_delta": -0.2254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.070 | - |
| predicted_3B | 0.056 | - |
| predicted_AB | 3.873 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.225 | - |
| predicted_H | 0.400 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.451 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 0.437 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.045 | -0.011 |
| predicted_AB | 3.800 | -0.073 |
| predicted_AVG | 0.256 | 0.018 |
| predicted_BB | 0.267 | 0.042 |
| predicted_H | 0.671 | 0.271 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.017 | -0.003 |
| predicted_OBP | 0.319 | 0.013 |
| predicted_R | 0.404 | -0.047 |
| predicted_RBI | 0.194 | 0.044 |
| predicted_SLG | 0.336 | 0.002 |
| predicted_SO | 0.414 | -0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 3.800 | 0.000 |
| predicted_AVG | 0.176 | -0.080 |
| predicted_BB | 0.268 | 0.000 |
| predicted_H | 0.668 | -0.003 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.017 | 0.000 |
| predicted_OBP | 0.230 | -0.089 |
| predicted_R | 0.402 | -0.002 |
| predicted_RBI | 0.193 | -0.001 |
| predicted_SLG | 0.236 | -0.100 |
| predicted_SO | 0.413 | -0.000 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.172 HR/AB=0.004
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.089 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 4.000 | 0.200 |
| predicted_AVG | 0.250 | 0.074 |
| predicted_BB | 0.000 | -0.268 |
| predicted_H | 1.000 | 0.332 |
| predicted_HR | 0.000 | -0.017 |
| predicted_OBP | 0.250 | 0.020 |
| predicted_R | 0.000 | -0.402 |
| predicted_RBI | 0.000 | -0.193 |
| predicted_SLG | 0.250 | 0.014 |
| predicted_SO | 0.000 | -0.413 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 16.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 1.000 | 0.3750 | 0.4737 | 0.4375 | 0.3750 | 0.0000 | 0.0625 | 0.1875 | 0.0625 |
| last_10 | 0.20 | 10 | - | 36.000 | 9.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 3.000 | 2.000 | 0.2500 | 0.3077 | 0.2778 | 0.2500 | 0.0000 | 0.0833 | 0.0833 | 0.0556 |
| season | 0.60 | 71 | - | 275.000 | 73.000 | 5.000 | 4.000 | 0.000 | 15.000 | 32.000 | 16.000 | 31.000 | 0.2655 | 0.3038 | 0.3127 | 0.2655 | 0.0000 | 0.0546 | 0.0582 | 0.1127 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1140 |
| predicted_3B | 0.0310 |
| predicted_AB | 3.7010 |
| predicted_AVG | 0.2812 |
| predicted_BB | 0.3250 |
| predicted_H | 1.0400 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0120 |
| predicted_OBP | 0.3362 |
| predicted_R | 0.3400 |
| predicted_RBI | 0.2530 |
| predicted_SLG | 0.3381 |
| predicted_SO | 0.3820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0700 | 0.1140 | 0.0886 | model_form_blend |
| predicted_3B | 0.0560 | 0.0310 | 0.0454 | model_form_blend |
| predicted_AB | 3.8730 | 3.7010 | 3.8003 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2812 | 0.2563 | model_form_blend |
| predicted_BB | 0.2250 | 0.3250 | 0.2673 | model_form_blend |
| predicted_H | 0.4000 | 1.0400 | 0.6706 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0200 | 0.0120 | 0.0166 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3362 | 0.3188 | model_form_blend |
| predicted_R | 0.4510 | 0.3400 | 0.4041 | model_form_blend |
| predicted_RBI | 0.1500 | 0.2530 | 0.1936 | model_form_blend |
| predicted_SLG | 0.3340 | 0.3381 | 0.3357 | model_form_blend |
| predicted_SO | 0.4370 | 0.3820 | 0.4137 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 244 |
| Season rows before report date | 244 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.265 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 2 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 1 |
| 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 | LF |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 802415 |
| playerID | 802415 |
| playerName | Chandler Simpson |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-24 |
| sl_k_percent | 10.4 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.278 |
| sl_xwoba | 0.257 |
| sl_xba | 0.245 |
| sl_xslg | 0.281 |
| sl_sweet_spot_percent | 24.4 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 13.3 |
| sl_exit_velocity_avg | 84.0 |
| sl_launch_angle_avg | 1.5 |
| sl_whiff_percent | 11.0 |
| 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.161 | 1.000 | 0.000 | Hitting_2B | 0.151 | 1.000 | 0.849 | 0.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_AB | 3.143 | 3.000 | 3.000 | Hitting_AB | 3.235 | 4.000 | -0.235 | -1.000 |
| predicted_AVG | 0.250 | 0.667 | 0.333 | Hitting_AVG | 0.207 | 0.250 | 0.460 | 0.417 |
| predicted_BB | 0.446 | 1.000 | 0.000 | Hitting_BB | 0.446 | 0.000 | 0.554 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 0.730 | 2.000 | 1.000 | Hitting_H | 0.669 | 1.000 | 1.331 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.335 | 0.750 | 0.333 | Hitting_OBP | 0.307 | 0.250 | 0.443 | 0.500 |
| predicted_R | 0.464 | 1.000 | 0.000 | Hitting_R | 0.506 | 1.000 | 0.494 | 0.000 |
| predicted_RBI | 0.340 | 1.000 | 0.000 | Hitting_RBI | 0.349 | 0.000 | 0.651 | 1.000 |
| predicted_SLG | 0.354 | 1.000 | 0.333 | Hitting_SLG | 0.283 | 0.500 | 0.717 | 0.500 |
| predicted_SO | 0.946 | 1.000 | 1.000 | Hitting_SO | 1.006 | 1.000 | -0.006 | 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 | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.7300 -> 2.0000 (boost 1.2700, better) |
| Biggest Deboost | predicted_AB: 3.1430 -> 3.0000 (deboost -0.1430, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2496 -> 0.2383 (deboost -0.0113, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.7567 -> 1.0000 (boost 0.2433, better) | predicted_BB: 0.4563 -> 0.0000 (deboost -0.4563, worse) | AB rounded to 3 (raw=3.17), rates preserved: AVG=0.238 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4838 -> 0.0000 (deboost -0.4838, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2383 -> 0.3330 (boost 0.0947, better) | predicted_SLG: 0.3550 -> 0.3330 (deboost -0.0220, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.3550 (boost 0.0220, better) | predicted_AVG: 0.3330 -> 0.2383 (deboost -0.0947, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.161,
"predicted_3B": 0.036,
"predicted_AB": 3.143,
"predicted_AVG": 0.25,
"predicted_BB": 0.446,
"predicted_H": 0.73,
"predicted_HR": 0.05,
"predicted_OBP": 0.335,
"predicted_R": 0.464,
"predicted_RBI": 0.34,
"predicted_SLG": 0.354,
"predicted_SO": 0.946
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2052,
"predicted_3B": 0.0298,
"predicted_AB": 3.1748,
"predicted_AVG": 0.2496,
"predicted_BB": 0.4559,
"predicted_H": 0.7597,
"predicted_HBP": 0.023,
"predicted_HR": 0.0351,
"predicted_OBP": 0.3391,
"predicted_R": 0.4863,
"predicted_RBI": 0.3309,
"predicted_SLG": 0.3557,
"predicted_SO": 0.9443
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.2052,
"delta": 0.0442,
"percent_delta": 0.2745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0298,
"delta": -0.0062,
"percent_delta": -0.1722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.143,
"after": 3.1748,
"delta": 0.0318,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2496,
"delta": -0.0004,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.4559,
"delta": 0.0099,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7597,
"delta": 0.0297,
"percent_delta": 0.0407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0351,
"delta": -0.0149,
"percent_delta": -0.298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3391,
"delta": 0.0041,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.4863,
"delta": 0.0223,
"percent_delta": 0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3309,
"delta": -0.0091,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3557,
"delta": 0.0017,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.946,
"after": 0.9443,
"delta": -0.0017,
"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": {
"xgboost_raw": 0.55,
"weighted_form": 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.2052,
"predicted_3B": 0.0298,
"predicted_AB": 3.1748,
"predicted_AVG": 0.2383,
"predicted_BB": 0.4563,
"predicted_H": 0.7567,
"predicted_HBP": 0.023,
"predicted_HR": 0.0352,
"predicted_OBP": 0.334,
"predicted_R": 0.4838,
"predicted_RBI": 0.3292,
"predicted_SLG": 0.355,
"predicted_SO": 0.9435
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2052,
"after": 0.2052,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0298,
"after": 0.0298,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1748,
"after": 3.1748,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2496,
"after": 0.2383,
"delta": -0.0113,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4559,
"after": 0.4563,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7597,
"after": 0.7567,
"delta": -0.003,
"percent_delta": -0.0039,
"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.0351,
"after": 0.0352,
"delta": 0.0001,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3391,
"after": 0.334,
"delta": -0.0051,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4863,
"after": 0.4838,
"delta": -0.0025,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3309,
"after": 0.3292,
"delta": -0.0017,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3557,
"after": 0.355,
"delta": -0.0007,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9443,
"after": 0.9435,
"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_AVG",
"before": 0.2496,
"after": 0.2383,
"delta": -0.0113,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.17), rates preserved: AVG=0.238 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.2052,
"after": 0.0,
"delta": -0.2052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0298,
"after": 0.0,
"delta": -0.0298,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1748,
"after": 3.0,
"delta": -0.1748,
"percent_delta": -0.0551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4563,
"after": 0.0,
"delta": -0.4563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7567,
"after": 1.0,
"delta": 0.2433,
"percent_delta": 0.3215,
"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.0352,
"after": 0.0,
"delta": -0.0352,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3292,
"after": 0.0,
"delta": -0.3292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9435,
"after": 1.0,
"delta": 0.0565,
"percent_delta": 0.0599,
"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.7567,
"after": 1.0,
"delta": 0.2433,
"percent_delta": 0.3215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4563,
"after": 0.0,
"delta": -0.4563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4838,
"after": 0.0,
"delta": -0.4838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4838,
"after": 0.0,
"delta": -0.4838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2383,
"after": 0.333,
"delta": 0.0947,
"percent_delta": 0.3974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.333,
"delta": -0.001,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.333,
"delta": -0.022,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2383,
"after": 0.333,
"delta": 0.0947,
"percent_delta": 0.3974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.333,
"delta": -0.022,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2383,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.334,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.355,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2383,
"delta": -0.0947,
"percent_delta": -0.2843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.334,
"delta": 0.001,
"percent_delta": 0.0032,
"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.333,
"after": 0.355,
"delta": 0.022,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.355,
"delta": 0.022,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2383,
"delta": -0.0947,
"percent_delta": -0.2843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 1.0,
"delta": 0.839,
"percent_delta": 5.2112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.143,
"after": 3.0,
"delta": -0.143,
"percent_delta": -0.0455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2383,
"delta": -0.0117,
"percent_delta": -0.0468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 2.0,
"delta": 1.27,
"percent_delta": 1.7397,
"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.335,
"after": 0.334,
"delta": -0.001,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 1.0,
"delta": 0.536,
"percent_delta": 1.1552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.355,
"delta": 0.001,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.946,
"after": 1.0,
"delta": 0.054,
"percent_delta": 0.0571,
"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_H",
"before": 0.73,
"after": 2.0,
"delta": 1.27,
"percent_delta": 1.7397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.143,
"after": 3.0,
"delta": -0.143,
"percent_delta": -0.0455,
"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.036 | - |
| predicted_AB | 3.143 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.464 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 0.946 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.044 |
| predicted_3B | 0.030 | -0.006 |
| predicted_AB | 3.175 | 0.032 |
| predicted_AVG | 0.250 | -0.000 |
| predicted_BB | 0.456 | 0.010 |
| predicted_H | 0.760 | 0.030 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.035 | -0.015 |
| predicted_OBP | 0.339 | 0.004 |
| predicted_R | 0.486 | 0.022 |
| predicted_RBI | 0.331 | -0.009 |
| predicted_SLG | 0.356 | 0.002 |
| predicted_SO | 0.944 | -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.205 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 3.175 | 0.000 |
| predicted_AVG | 0.238 | -0.011 |
| predicted_BB | 0.456 | 0.000 |
| predicted_H | 0.757 | -0.003 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.035 | 0.000 |
| predicted_OBP | 0.334 | -0.005 |
| predicted_R | 0.484 | -0.003 |
| predicted_RBI | 0.329 | -0.002 |
| predicted_SLG | 0.355 | -0.001 |
| predicted_SO | 0.944 | -0.001 |
AB rounded to 3 (raw=3.17), rates preserved: AVG=0.238 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 |
Player 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.030 |
| predicted_AB | 3.000 | -0.175 |
| predicted_AVG | 0.333 | 0.095 |
| predicted_BB | 0.000 | -0.456 |
| predicted_H | 1.000 | 0.243 |
| predicted_HR | 0.000 | -0.035 |
| predicted_OBP | 0.333 | -0.001 |
| predicted_R | 0.000 | -0.484 |
| predicted_RBI | 0.000 | -0.329 |
| predicted_SLG | 0.333 | -0.022 |
| predicted_SO | 1.000 | 0.056 |
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 | 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 | 5.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 5.000 | 0.3125 | 0.4211 | 0.5000 | 0.3125 | 0.0000 | 0.0625 | 0.1875 | 0.3125 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 3.000 | 0.000 | 0.000 | 3.000 | 4.000 | 5.000 | 9.000 | 0.2667 | 0.3611 | 0.3667 | 0.2667 | 0.0000 | 0.1000 | 0.1667 | 0.3000 |
| season | 0.60 | 56 | - | 176.000 | 39.000 | 9.000 | 2.000 | 0.000 | 18.000 | 26.000 | 25.000 | 53.000 | 0.2216 | 0.3220 | 0.2955 | 0.2216 | 0.0000 | 0.1023 | 0.1421 | 0.3011 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2680 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.2200 |
| predicted_AVG | 0.2490 |
| predicted_BB | 0.4700 |
| predicted_H | 0.8020 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.0140 |
| predicted_OBP | 0.3450 |
| predicted_R | 0.5180 |
| predicted_RBI | 0.3180 |
| predicted_SLG | 0.3582 |
| predicted_SO | 0.9420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.2680 | 0.2052 | model_form_blend |
| predicted_3B | 0.0360 | 0.0210 | 0.0298 | model_form_blend |
| predicted_AB | 3.1430 | 3.2200 | 3.1748 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2490 | 0.2496 | model_form_blend |
| predicted_BB | 0.4460 | 0.4700 | 0.4559 | model_form_blend |
| predicted_H | 0.7300 | 0.8020 | 0.7597 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.0500 | 0.0140 | 0.0351 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3450 | 0.3391 | model_form_blend |
| predicted_R | 0.4640 | 0.5180 | 0.4863 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3180 | 0.3309 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3582 | 0.3557 | model_form_blend |
| predicted_SO | 0.9460 | 0.9420 | 0.9443 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 166 |
| Season rows before report date | 166 |
| Report year | 2026 |
| Profile rows used | 56 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260624_KC@TB |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-24 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.285 |
| sl_xwoba | 0.247 |
| sl_xba | 0.179 |
| sl_xslg | 0.235 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 18.5 |
| sl_exit_velocity_avg | 84.2 |
| sl_launch_angle_avg | 21.9 |
| sl_whiff_percent | 22.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.061 | 0.000 | 0.000 | Hitting_2B | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.470 | 3.000 | 3.000 | Hitting_AB | 3.660 | 4.000 | -0.660 | -1.000 |
| predicted_AVG | 0.228 | 0.667 | 0.333 | Hitting_AVG | 0.192 | 0.250 | 0.474 | 0.417 |
| predicted_BB | 0.348 | 1.000 | 0.000 | Hitting_BB | 0.330 | 1.000 | 0.670 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_H | 0.790 | 2.000 | 1.000 | Hitting_H | 0.704 | 1.000 | 1.296 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_OBP | 0.299 | 0.750 | 0.333 | Hitting_OBP | 0.271 | 0.400 | 0.479 | 0.350 |
| predicted_R | 0.364 | 1.000 | 0.000 | Hitting_R | 0.404 | 0.000 | 0.596 | 1.000 |
| predicted_RBI | 0.360 | 1.000 | 0.000 | Hitting_RBI | 0.389 | 1.000 | 0.611 | 0.000 |
| predicted_SLG | 0.331 | 0.667 | 0.333 | Hitting_SLG | 0.288 | 0.250 | 0.379 | 0.417 |
| predicted_SO | 0.773 | 0.000 | 1.000 | Hitting_SO | 0.749 | 1.000 | -0.749 | -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.7900 -> 2.0000 (boost 1.2100, better) |
| Biggest Deboost | predicted_SO: 0.7730 -> 0.0000 (deboost -0.7730, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.7730 -> 0.8468 (boost 0.0738, worse) | predicted_SLG: 0.3310 -> 0.3221 (deboost -0.0089, worse) | Final model input calibrated with local 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.2970 -> 0.2911 (deboost -0.0059, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.7798 -> 1.0000 (boost 0.2202, better) | predicted_AB: 3.4889 -> 3.0000 (deboost -0.4889, worse) | AB rounded to 3 (raw=3.49), rates preserved: AVG=0.223 HR/AB=0.025 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3300 -> 0.0000 (deboost -0.3300, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2235 -> 0.3330 (boost 0.1095, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2235 (deboost -0.1095, 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.061,
"predicted_3B": 0.015,
"predicted_AB": 3.47,
"predicted_AVG": 0.228,
"predicted_BB": 0.348,
"predicted_H": 0.79,
"predicted_HR": 0.09,
"predicted_OBP": 0.299,
"predicted_R": 0.364,
"predicted_RBI": 0.36,
"predicted_SLG": 0.331,
"predicted_SO": 0.773
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0572,
"predicted_3B": 0.0129,
"predicted_AB": 3.4889,
"predicted_AVG": 0.2245,
"predicted_BB": 0.3325,
"predicted_H": 0.7829,
"predicted_HBP": 0.064,
"predicted_HR": 0.0866,
"predicted_OBP": 0.297,
"predicted_R": 0.3317,
"predicted_RBI": 0.3445,
"predicted_SLG": 0.3221,
"predicted_SO": 0.8468
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.061,
"after": 0.0572,
"delta": -0.0038,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.47,
"after": 3.4889,
"delta": 0.0189,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2245,
"delta": -0.0035,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.3325,
"delta": -0.0155,
"percent_delta": -0.0445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.7829,
"delta": -0.0071,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0866,
"delta": -0.0034,
"percent_delta": -0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.297,
"delta": -0.002,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.3317,
"delta": -0.0323,
"percent_delta": -0.0887,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3445,
"delta": -0.0155,
"percent_delta": -0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.3221,
"delta": -0.0089,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.773,
"after": 0.8468,
"delta": 0.0738,
"percent_delta": 0.0955,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.773,
"after": 0.8468,
"delta": 0.0738,
"percent_delta": 0.0955,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.3221,
"delta": -0.0089,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0572,
"predicted_3B": 0.0129,
"predicted_AB": 3.4889,
"predicted_AVG": 0.2235,
"predicted_BB": 0.3328,
"predicted_H": 0.7798,
"predicted_HBP": 0.064,
"predicted_HR": 0.0869,
"predicted_OBP": 0.2911,
"predicted_R": 0.33,
"predicted_RBI": 0.3427,
"predicted_SLG": 0.322,
"predicted_SO": 0.846
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0572,
"after": 0.0572,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4889,
"after": 3.4889,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2245,
"after": 0.2235,
"delta": -0.001,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3325,
"after": 0.3328,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7829,
"after": 0.7798,
"delta": -0.0031,
"percent_delta": -0.004,
"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.0866,
"after": 0.0869,
"delta": 0.0003,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2911,
"delta": -0.0059,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3317,
"after": 0.33,
"delta": -0.0017,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3445,
"after": 0.3427,
"delta": -0.0018,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3221,
"after": 0.322,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8468,
"after": 0.846,
"delta": -0.0008,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.297,
"after": 0.2911,
"delta": -0.0059,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.49), rates preserved: AVG=0.223 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.0572,
"after": 0.0,
"delta": -0.0572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4889,
"after": 3.0,
"delta": -0.4889,
"percent_delta": -0.1401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3328,
"after": 0.0,
"delta": -0.3328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7798,
"after": 1.0,
"delta": 0.2202,
"percent_delta": 0.2824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0869,
"after": 0.0,
"delta": -0.0869,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3427,
"after": 0.0,
"delta": -0.3427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.846,
"after": 1.0,
"delta": 0.154,
"percent_delta": 0.182,
"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.7798,
"after": 1.0,
"delta": 0.2202,
"percent_delta": 0.2824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4889,
"after": 3.0,
"delta": -0.4889,
"percent_delta": -0.1401,
"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.500)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2235,
"after": 0.333,
"delta": 0.1095,
"percent_delta": 0.4899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0419,
"percent_delta": 0.1439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.333,
"delta": 0.011,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2235,
"after": 0.333,
"delta": 0.1095,
"percent_delta": 0.4899,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 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.2235,
"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.2911,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.322,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2235,
"delta": -0.1095,
"percent_delta": -0.3288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2911,
"delta": -0.0419,
"percent_delta": -0.1258,
"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.322,
"delta": -0.011,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2235,
"delta": -0.1095,
"percent_delta": -0.3288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.061,
"after": 0.0,
"delta": -0.061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.47,
"after": 3.0,
"delta": -0.47,
"percent_delta": -0.1354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2235,
"delta": -0.0045,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 1.0,
"delta": 0.652,
"percent_delta": 1.8736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 2.0,
"delta": 1.21,
"percent_delta": 1.5316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2911,
"delta": -0.0079,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.322,
"delta": -0.009,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.773,
"after": 0.0,
"delta": -0.773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.79,
"after": 2.0,
"delta": 1.21,
"percent_delta": 1.5316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.773,
"after": 0.0,
"delta": -0.773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.061 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.470 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.348 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.364 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.331 | - |
| predicted_SO | 0.773 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.057 | -0.004 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.489 | 0.019 |
| predicted_AVG | 0.225 | -0.004 |
| predicted_BB | 0.333 | -0.015 |
| predicted_H | 0.783 | -0.007 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.087 | -0.003 |
| predicted_OBP | 0.297 | -0.002 |
| predicted_R | 0.332 | -0.032 |
| predicted_RBI | 0.344 | -0.016 |
| predicted_SLG | 0.322 | -0.009 |
| predicted_SO | 0.847 | 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.057 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.489 | 0.000 |
| predicted_AVG | 0.224 | -0.001 |
| predicted_BB | 0.333 | 0.000 |
| predicted_H | 0.780 | -0.003 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.087 | 0.000 |
| predicted_OBP | 0.291 | -0.006 |
| predicted_R | 0.330 | -0.002 |
| predicted_RBI | 0.343 | -0.002 |
| predicted_SLG | 0.322 | -0.000 |
| predicted_SO | 0.846 | -0.001 |
AB rounded to 3 (raw=3.49), rates preserved: AVG=0.223 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.057 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.489 |
| predicted_AVG | 0.333 | 0.110 |
| predicted_BB | 0.000 | -0.333 |
| predicted_H | 1.000 | 0.220 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.333 | 0.042 |
| predicted_R | 0.000 | -0.330 |
| predicted_RBI | 0.000 | -0.343 |
| predicted_SLG | 0.333 | 0.011 |
| predicted_SO | 1.000 | 0.154 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 7.000 | 0.2105 | 0.2500 | 0.2105 | 0.2105 | 0.0000 | 0.0526 | 0.0526 | 0.3684 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 11.000 | 0.2727 | 0.3514 | 0.3636 | 0.2727 | 0.0303 | 0.0909 | 0.0909 | 0.3333 |
| season | 0.60 | 66 | - | 226.000 | 45.000 | 4.000 | 1.000 | 6.000 | 22.000 | 24.000 | 23.000 | 51.000 | 0.1991 | 0.2863 | 0.3053 | 0.1991 | 0.0266 | 0.0974 | 0.1018 | 0.2257 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0520 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.5150 |
| predicted_AVG | 0.2197 |
| predicted_BB | 0.3110 |
| predicted_H | 0.7730 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.2943 |
| predicted_R | 0.2870 |
| predicted_RBI | 0.3230 |
| predicted_SLG | 0.3098 |
| predicted_SO | 0.9490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0610 | 0.0520 | 0.0572 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 3.4700 | 3.5150 | 3.4889 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2197 | 0.2245 | model_form_blend |
| predicted_BB | 0.3480 | 0.3110 | 0.3325 | model_form_blend |
| predicted_H | 0.7900 | 0.7730 | 0.7829 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.0900 | 0.0820 | 0.0866 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2943 | 0.2970 | model_form_blend |
| predicted_R | 0.3640 | 0.2870 | 0.3317 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3230 | 0.3445 | model_form_blend |
| predicted_SLG | 0.3310 | 0.3098 | 0.3221 | model_form_blend |
| predicted_SO | 0.7730 | 0.9490 | 0.8468 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 203 |
| Season rows before report date | 203 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.199 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260623_KC@TB |
| game_type | full |
| mlbID | 656775 |
| playerID | 656775 |
| playerName | Cedric Mullins |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-23 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.271 |
| sl_xwoba | 0.26 |
| sl_xba | 0.184 |
| sl_xslg | 0.299 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 30.3 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 28.0 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 49.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 3.000 | 4.000 | 3.000 | Hitting_AB | 3.120 | 2.000 | 0.880 | 2.000 |
| predicted_AVG | 0.254 | 0.250 | 0.333 | Hitting_AVG | 0.218 | 0.000 | 0.032 | 0.250 |
| predicted_BB | 0.500 | 0.000 | 0.000 | Hitting_BB | 0.440 | 1.000 | -0.440 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.620 | 1.000 | 1.000 | Hitting_H | 0.680 | 0.000 | 0.320 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.280 | 0.000 | -0.280 | 0.000 |
| predicted_OBP | 0.320 | 0.250 | 0.333 | Hitting_OBP | 0.315 | 0.333 | -0.065 | -0.083 |
| predicted_R | 0.500 | 1.000 | 1.000 | Hitting_R | 0.520 | 1.000 | 0.480 | 0.000 |
| predicted_RBI | 0.350 | 3.000 | 0.000 | Hitting_RBI | 0.600 | 0.000 | 2.400 | 3.000 |
| predicted_SLG | 0.377 | 0.500 | 0.333 | Hitting_SLG | 0.487 | 0.000 | 0.013 | 0.500 |
| predicted_SO | 0.857 | 2.000 | 1.000 | Hitting_SO | 0.800 | 0.000 | 1.200 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.3500 -> 3.0000 (boost 2.6500, better) |
| Biggest Deboost | predicted_BB: 0.5000 -> 0.0000 (deboost -0.5000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 3.1027 (boost 0.1027, better) | predicted_AVG: 0.2540 -> 0.2432 (deboost -0.0108, worse) | Final model input calibrated with local 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.3763 -> 0.3370 (deboost -0.0393, 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.6560 -> 1.0000 (boost 0.3440, better) | predicted_BB: 0.5004 -> 0.0000 (deboost -0.5004, worse) | AB rounded to 3 (raw=3.10), rates preserved: AVG=0.211 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5153 -> 1.0000 (boost 0.4847, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2114 -> 0.3330 (boost 0.1216, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2114 (deboost -0.1216, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"position": "RF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.254,
"predicted_BB": 0.5,
"predicted_H": 0.62,
"predicted_HR": 0.11,
"predicted_OBP": 0.32,
"predicted_R": 0.5,
"predicted_RBI": 0.35,
"predicted_SLG": 0.377,
"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.0207,
"predicted_3B": 0.0017,
"predicted_AB": 3.1027,
"predicted_AVG": 0.2432,
"predicted_BB": 0.5,
"predicted_H": 0.6586,
"predicted_HBP": 0.011,
"predicted_HR": 0.1215,
"predicted_OBP": 0.322,
"predicted_R": 0.518,
"predicted_RBI": 0.3707,
"predicted_SLG": 0.3763,
"predicted_SO": 0.8509
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0207,
"delta": 0.0207,
"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": 3.0,
"after": 3.1027,
"delta": 0.1027,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2432,
"delta": -0.0108,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.5,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.6586,
"delta": 0.0386,
"percent_delta": 0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1215,
"delta": 0.0115,
"percent_delta": 0.1045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.322,
"delta": 0.002,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.518,
"delta": 0.018,
"percent_delta": 0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3707,
"delta": 0.0207,
"percent_delta": 0.0591,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3763,
"delta": -0.0007,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.8509,
"delta": -0.0061,
"percent_delta": -0.0071,
"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": 3.1027,
"delta": 0.1027,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2432,
"delta": -0.0108,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0207,
"predicted_3B": 0.0017,
"predicted_AB": 3.1027,
"predicted_AVG": 0.2114,
"predicted_BB": 0.5004,
"predicted_H": 0.656,
"predicted_HBP": 0.011,
"predicted_HR": 0.1219,
"predicted_OBP": 0.3209,
"predicted_R": 0.5153,
"predicted_RBI": 0.3688,
"predicted_SLG": 0.337,
"predicted_SO": 0.8501
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0207,
"after": 0.0207,
"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.1027,
"after": 3.1027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2432,
"after": 0.2114,
"delta": -0.0318,
"percent_delta": -0.1308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.5004,
"delta": 0.0004,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6586,
"after": 0.656,
"delta": -0.0026,
"percent_delta": -0.0039,
"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.1215,
"after": 0.1219,
"delta": 0.0004,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3209,
"delta": -0.0011,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 0.5153,
"delta": -0.0027,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3707,
"after": 0.3688,
"delta": -0.0019,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3763,
"after": 0.337,
"delta": -0.0393,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8509,
"after": 0.8501,
"delta": -0.0008,
"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_SLG",
"before": 0.3763,
"after": 0.337,
"delta": -0.0393,
"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 3 (raw=3.10), rates preserved: AVG=0.211 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0207,
"after": 0.0,
"delta": -0.0207,
"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": 3.1027,
"after": 3.0,
"delta": -0.1027,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5004,
"after": 0.0,
"delta": -0.5004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.656,
"after": 1.0,
"delta": 0.344,
"percent_delta": 0.5244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1219,
"after": 0.0,
"delta": -0.1219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3688,
"after": 0.0,
"delta": -0.3688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8501,
"after": 1.0,
"delta": 0.1499,
"percent_delta": 0.1763,
"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.656,
"after": 1.0,
"delta": 0.344,
"percent_delta": 0.5244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5004,
"after": 0.0,
"delta": -0.5004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5153,
"after": 1.0,
"delta": 0.4847,
"percent_delta": 0.9406,
"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.5153,
"after": 1.0,
"delta": 0.4847,
"percent_delta": 0.9406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2114,
"after": 0.333,
"delta": 0.1216,
"percent_delta": 0.5752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3209,
"after": 0.333,
"delta": 0.0121,
"percent_delta": 0.0377,
"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.337,
"after": 0.333,
"delta": -0.004,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2114,
"after": 0.333,
"delta": 0.1216,
"percent_delta": 0.5752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 3.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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 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_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2114,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3209,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.337,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2114,
"delta": -0.1216,
"percent_delta": -0.3651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3209,
"delta": -0.0121,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.337,
"delta": 0.004,
"percent_delta": 0.012,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2114,
"delta": -0.1216,
"percent_delta": -0.3651,
"direction": "deboost",
"projection_effect": "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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2114,
"delta": -0.0426,
"percent_delta": -0.1677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"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.32,
"after": 0.3209,
"delta": 0.0009,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 3.0,
"delta": 2.65,
"percent_delta": 7.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.337,
"delta": -0.04,
"percent_delta": -0.1061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 2.0,
"delta": 1.143,
"percent_delta": 1.3337,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.35,
"after": 3.0,
"delta": 2.65,
"percent_delta": 7.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.377 | - |
| 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.021 | 0.021 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.103 | 0.103 |
| predicted_AVG | 0.243 | -0.011 |
| predicted_BB | 0.500 | 0.000 |
| predicted_H | 0.659 | 0.039 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.121 | 0.011 |
| predicted_OBP | 0.322 | 0.002 |
| predicted_R | 0.518 | 0.018 |
| predicted_RBI | 0.371 | 0.021 |
| predicted_SLG | 0.376 | -0.001 |
| predicted_SO | 0.851 | -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.021 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.103 | 0.000 |
| predicted_AVG | 0.211 | -0.032 |
| predicted_BB | 0.500 | 0.000 |
| predicted_H | 0.656 | -0.003 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.122 | 0.000 |
| predicted_OBP | 0.321 | -0.001 |
| predicted_R | 0.515 | -0.003 |
| predicted_RBI | 0.369 | -0.002 |
| predicted_SLG | 0.337 | -0.039 |
| predicted_SO | 0.850 | -0.001 |
AB rounded to 3 (raw=3.10), rates preserved: AVG=0.211 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.021 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.103 |
| predicted_AVG | 0.333 | 0.122 |
| predicted_BB | 0.000 | -0.500 |
| predicted_H | 1.000 | 0.344 |
| predicted_HR | 0.000 | -0.122 |
| predicted_OBP | 0.333 | 0.012 |
| predicted_R | 1.000 | 0.485 |
| predicted_RBI | 0.000 | -0.369 |
| predicted_SLG | 0.333 | -0.004 |
| predicted_SO | 1.000 | 0.150 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 3.000 | 0.2857 | 0.4444 | 0.5000 | 0.2857 | 0.0714 | 0.1429 | 0.2857 | 0.2143 |
| last_10 | 0.20 | 10 | - | 30.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 6.000 | 9.000 | 0.1667 | 0.3056 | 0.2667 | 0.1667 | 0.0333 | 0.1000 | 0.2000 | 0.3000 |
| season | 0.60 | 14 | - | 42.000 | 8.000 | 0.000 | 0.000 | 2.000 | 5.000 | 7.000 | 7.000 | 12.000 | 0.1905 | 0.3061 | 0.3333 | 0.1905 | 0.0476 | 0.1191 | 0.1667 | 0.2857 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0610 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.3030 |
| predicted_AVG | 0.2221 |
| predicted_BB | 0.5000 |
| predicted_H | 0.7340 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1440 |
| predicted_OBP | 0.3259 |
| predicted_R | 0.5530 |
| predicted_RBI | 0.4110 |
| predicted_SLG | 0.3749 |
| predicted_SO | 0.8390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0610 | 0.0207 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 3.0000 | 3.3030 | 3.1027 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2221 | 0.2432 | model_form_blend |
| predicted_BB | 0.5000 | 0.5000 | 0.5000 | model_form_blend |
| predicted_H | 0.6200 | 0.7340 | 0.6586 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1100 | 0.1440 | 0.1215 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3259 | 0.3220 | model_form_blend |
| predicted_R | 0.5000 | 0.5530 | 0.5180 | model_form_blend |
| predicted_RBI | 0.3500 | 0.4110 | 0.3707 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3749 | 0.3763 | model_form_blend |
| predicted_SO | 0.8570 | 0.8390 | 0.8509 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260617_TB@LAD |
| game_type | full |
| mlbID | 683748 |
| playerID | 683748 |
| playerName | Victor Mesa Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-17 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.274 |
| sl_xwoba | 0.354 |
| sl_xba | 0.261 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 41.2 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 28.8 |
| 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.084 | 1.000 | 0.000 | Hitting_2B | 0.070 | 0.000 | 0.930 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.535 | 4.000 | 0.465 | -1.000 |
| predicted_AVG | 0.245 | 0.333 | 0.333 | Hitting_AVG | 0.239 | 0.000 | 0.095 | 0.333 |
| predicted_BB | 0.253 | 0.000 | 0.000 | Hitting_BB | 0.256 | 0.000 | -0.256 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.190 | 1.000 | 1.000 | Hitting_H | 0.605 | 0.000 | 0.395 | 1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_OBP | 0.268 | 0.250 | 0.333 | Hitting_OBP | 0.313 | 0.000 | -0.063 | 0.250 |
| predicted_R | 0.309 | 1.000 | 0.000 | Hitting_R | 0.267 | 0.000 | 0.733 | 1.000 |
| predicted_RBI | 0.110 | 1.000 | 0.000 | Hitting_RBI | 0.186 | 0.000 | 0.814 | 1.000 |
| predicted_SLG | 0.311 | 0.667 | 0.333 | Hitting_SLG | 0.280 | 0.000 | 0.387 | 0.667 |
| predicted_SO | 0.927 | 0.000 | 1.000 | Hitting_SO | 0.977 | 3.000 | -0.977 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.0840 -> 1.0000 (boost 0.9160, better) |
| Biggest Deboost | predicted_SO: 0.9270 -> 0.0000 (deboost -0.9270, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.1900 -> 0.3610 (boost 0.1710, better) | predicted_AVG: 0.2450 -> 0.2342 (deboost -0.0108, worse) | Final model input calibrated with local 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.3064 -> 0.2031 (deboost -0.1033, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_AB: 2.6691 -> 3.0000 (boost 0.3309, better) | predicted_H: 0.3596 -> 0.0000 (deboost -0.3596, worse) | AB rounded to 3 (raw=2.67), rates preserved: AVG=0.135 HR/AB=0.010 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3355 -> 0.0000 (deboost -0.3355, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1347 -> 0.3330 (boost 0.1983, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1347 (deboost -0.1983, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"position": "C",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.084,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.245,
"predicted_BB": 0.253,
"predicted_H": 0.19,
"predicted_HR": 0.02,
"predicted_OBP": 0.268,
"predicted_R": 0.309,
"predicted_RBI": 0.11,
"predicted_SLG": 0.311,
"predicted_SO": 0.927
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0982,
"predicted_3B": 0.0011,
"predicted_AB": 2.6691,
"predicted_AVG": 0.2342,
"predicted_BB": 0.2568,
"predicted_H": 0.361,
"predicted_HBP": 0.021,
"predicted_HR": 0.0273,
"predicted_OBP": 0.2742,
"predicted_R": 0.3373,
"predicted_RBI": 0.1532,
"predicted_SLG": 0.3064,
"predicted_SO": 0.9492
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.084,
"after": 0.0982,
"delta": 0.0142,
"percent_delta": 0.169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0011,
"delta": 0.0011,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6691,
"delta": 0.1691,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2342,
"delta": -0.0108,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.253,
"after": 0.2568,
"delta": 0.0038,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.361,
"delta": 0.171,
"percent_delta": 0.9,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0273,
"delta": 0.0073,
"percent_delta": 0.365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.2742,
"delta": 0.0062,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.309,
"after": 0.3373,
"delta": 0.0283,
"percent_delta": 0.0916,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1532,
"delta": 0.0432,
"percent_delta": 0.3927,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.311,
"after": 0.3064,
"delta": -0.0046,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 0.9492,
"delta": 0.0222,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.19,
"after": 0.361,
"delta": 0.171,
"percent_delta": 0.9,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2342,
"delta": -0.0108,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0982,
"predicted_3B": 0.0011,
"predicted_AB": 2.6691,
"predicted_AVG": 0.1347,
"predicted_BB": 0.257,
"predicted_H": 0.3596,
"predicted_HBP": 0.021,
"predicted_HR": 0.0274,
"predicted_OBP": 0.2107,
"predicted_R": 0.3355,
"predicted_RBI": 0.1524,
"predicted_SLG": 0.2031,
"predicted_SO": 0.9483
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0982,
"after": 0.0982,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6691,
"after": 2.6691,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2342,
"after": 0.1347,
"delta": -0.0995,
"percent_delta": -0.4249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2568,
"after": 0.257,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.361,
"after": 0.3596,
"delta": -0.0014,
"percent_delta": -0.0039,
"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.0273,
"after": 0.0274,
"delta": 0.0001,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2742,
"after": 0.2107,
"delta": -0.0635,
"percent_delta": -0.2316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3373,
"after": 0.3355,
"delta": -0.0018,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1532,
"after": 0.1524,
"delta": -0.0008,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3064,
"after": 0.2031,
"delta": -0.1033,
"percent_delta": -0.3371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9492,
"after": 0.9483,
"delta": -0.0009,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3064,
"after": 0.2031,
"delta": -0.1033,
"percent_delta": -0.3371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.135 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.0982,
"after": 0.0,
"delta": -0.0982,
"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.6691,
"after": 3.0,
"delta": 0.3309,
"percent_delta": 0.124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.0,
"delta": -0.257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3596,
"after": 0.0,
"delta": -0.3596,
"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.0274,
"after": 0.0,
"delta": -0.0274,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1524,
"after": 0.0,
"delta": -0.1524,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9483,
"after": 1.0,
"delta": 0.0517,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6691,
"after": 3.0,
"delta": 0.3309,
"percent_delta": 0.124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3596,
"after": 0.0,
"delta": -0.3596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3355,
"after": 0.0,
"delta": -0.3355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3355,
"after": 0.0,
"delta": -0.3355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1347,
"after": 0.333,
"delta": 0.1983,
"percent_delta": 1.4722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2107,
"after": 0.333,
"delta": 0.1223,
"percent_delta": 0.5804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2031,
"after": 0.333,
"delta": 0.1299,
"percent_delta": 0.6396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1347,
"after": 0.333,
"delta": 0.1983,
"percent_delta": 1.4722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1347,
"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.2107,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.2031,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1347,
"delta": -0.1983,
"percent_delta": -0.5955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2107,
"delta": -0.1223,
"percent_delta": -0.3672,
"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.333,
"after": 0.2031,
"delta": -0.1299,
"percent_delta": -0.3901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1347,
"delta": -0.1983,
"percent_delta": -0.5955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.084,
"after": 1.0,
"delta": 0.916,
"percent_delta": 10.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.1347,
"delta": -0.1103,
"percent_delta": -0.4502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.2107,
"delta": -0.0573,
"percent_delta": -0.2138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.309,
"after": 1.0,
"delta": 0.691,
"percent_delta": 2.2362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 1.0,
"delta": 0.89,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.311,
"after": 0.2031,
"delta": -0.1079,
"percent_delta": -0.3469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 0.0,
"delta": -0.927,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.084,
"after": 1.0,
"delta": 0.916,
"percent_delta": 10.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.927,
"after": 0.0,
"delta": -0.927,
"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.084 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.253 | - |
| predicted_H | 0.190 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.268 | - |
| predicted_R | 0.309 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.311 | - |
| predicted_SO | 0.927 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.098 | 0.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.669 | 0.169 |
| predicted_AVG | 0.234 | -0.011 |
| predicted_BB | 0.257 | 0.004 |
| predicted_H | 0.361 | 0.171 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.027 | 0.007 |
| predicted_OBP | 0.274 | 0.006 |
| predicted_R | 0.337 | 0.028 |
| predicted_RBI | 0.153 | 0.043 |
| predicted_SLG | 0.306 | -0.005 |
| predicted_SO | 0.949 | 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.098 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.669 | 0.000 |
| predicted_AVG | 0.135 | -0.100 |
| predicted_BB | 0.257 | 0.000 |
| predicted_H | 0.360 | -0.001 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.027 | 0.000 |
| predicted_OBP | 0.211 | -0.064 |
| predicted_R | 0.336 | -0.002 |
| predicted_RBI | 0.152 | -0.001 |
| predicted_SLG | 0.203 | -0.103 |
| predicted_SO | 0.948 | -0.001 |
AB rounded to 3 (raw=2.67), rates preserved: AVG=0.135 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 | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.098 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.331 |
| predicted_AVG | 0.333 | 0.198 |
| predicted_BB | 0.000 | -0.257 |
| predicted_H | 1.000 | 0.640 |
| predicted_HR | 0.000 | -0.027 |
| predicted_OBP | 0.333 | 0.122 |
| predicted_R | 0.000 | -0.336 |
| predicted_RBI | 0.000 | -0.152 |
| predicted_SLG | 0.333 | 0.130 |
| predicted_SO | 1.000 | 0.052 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 6.000 | 0.1176 | 0.1667 | 0.1765 | 0.1177 | 0.0000 | 0.0588 | 0.0588 | 0.3529 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 11.000 | 0.2069 | 0.2812 | 0.2414 | 0.2069 | 0.0000 | 0.0345 | 0.1035 | 0.3793 |
| season | 0.60 | 38 | - | 89.000 | 21.000 | 3.000 | 0.000 | 1.000 | 6.000 | 11.000 | 9.000 | 33.000 | 0.2360 | 0.3100 | 0.3034 | 0.2360 | 0.0112 | 0.0674 | 0.1011 | 0.3708 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.9420 |
| predicted_AVG | 0.2167 |
| predicted_BB | 0.2630 |
| predicted_H | 0.6370 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.2843 |
| predicted_R | 0.3830 |
| predicted_RBI | 0.2230 |
| predicted_SLG | 0.2990 |
| predicted_SO | 0.9850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0840 | 0.1210 | 0.0982 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.5000 | 2.9420 | 2.6691 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2167 | 0.2342 | model_form_blend |
| predicted_BB | 0.2530 | 0.2630 | 0.2568 | model_form_blend |
| predicted_H | 0.1900 | 0.6370 | 0.3610 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0200 | 0.0390 | 0.0273 | model_form_blend |
| predicted_OBP | 0.2680 | 0.2843 | 0.2742 | model_form_blend |
| predicted_R | 0.3090 | 0.3830 | 0.3373 | model_form_blend |
| predicted_RBI | 0.1100 | 0.2230 | 0.1532 | model_form_blend |
| predicted_SLG | 0.3110 | 0.2990 | 0.3064 | model_form_blend |
| predicted_SO | 0.9270 | 0.9850 | 0.9492 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 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 | 20260623_KC@TB |
| game_type | full |
| mlbID | 676439 |
| playerID | 676439 |
| playerName | Hunter Feduccia |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-23 |
| sl_k_percent | 31.7 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.289 |
| sl_xwoba | 0.296 |
| sl_xba | 0.217 |
| sl_xslg | 0.337 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 20.3 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 46.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.250 | 1.000 | 0.750 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.375 | 1.000 | 1.625 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 1.250 | 2.000 | 3.750 | 3.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 1.025 | 0.100 | 3.975 | 4.900 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 0.875 | 0.000 | 7.125 | 8.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": "668984",
"player_name": "Casey Legumina",
"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": 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": 1.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": 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": 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": 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": 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 | 1.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 | 5.200 | 2.000 | 5.000 | 1.000 | 5.000 | 0.000 | 3.1765 | 1.0588 | 0.3529 | 0.8823 | 0.1765 | 0.8823 | 0.0000 |
| last_10 | 0.35 | 10 | 12.100 | 4.000 | 12.000 | 2.000 | 11.000 | 2.000 | 2.9189 | 1.1351 | 0.3243 | 0.9730 | 0.1622 | 0.8919 | 0.1622 |
| season | 0.20 | 24 | 31.100 | 12.000 | 35.000 | 7.000 | 23.000 | 2.000 | 3.4468 | 1.3404 | 0.3830 | 1.1170 | 0.2234 | 0.7340 | 0.0638 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7530 |
| predicted_ER | 1.2010 |
| predicted_ERA | 3.7457 |
| predicted_H | 2.7850 |
| predicted_HR | 0.3000 |
| predicted_IP | 3.0000 |
| predicted_SO | 2.5890 |
| predicted_WHIP | 1.2256 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.7530 | 0.8860 | model_form_blend |
| predicted_ER | 2.0000 | 1.2010 | 1.6313 | model_form_blend |
| predicted_ERA | - | 3.7457 | 3.7457 | form_only |
| predicted_H | 5.0000 | 2.7850 | 3.9779 | model_form_blend |
| predicted_HR | 0.0000 | 0.3000 | 0.1384 | model_form_blend |
| predicted_IP | 5.0000 | 3.0000 | 4.1000 | model_form_blend |
| predicted_SO | 8.0000 | 2.5890 | 5.5032 | model_form_blend |
| predicted_WHIP | - | 1.2256 | 1.2256 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 24 |
| 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 | 1 |
| SO | 8 |
| HR | 0 |
| BF | 21 |
| Pitches | 89 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.45 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 19 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260617_TB@LAD |
| game_type | full |
| mlbID | 668984 |
| playerID | 668984 |
| playerName | Casey Legumina |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-17 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.333 |
| sl_xwoba | 0.331 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 37.9 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 51.2 |
| sl_avg_best_speed | 75.384192128 |
| sl_avg_hyper_speed | 93.312768495 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.212 | 1.000 | -0.212 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.515 | 1.000 | -0.515 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.921 | 1.000 | 0.079 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.061 | 2.000 | -0.061 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641329",
"player_name": "Bryan Baker",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 1.000 | 0.000 | 5.000 | 1.000 | 1.8000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 4.000 | 2.000 | 10.000 | 1.000 | 0.9000 | 0.6000 | 0.1000 | 0.4000 | 0.2000 | 1.0000 | 0.1000 |
| season | 0.20 | 33 | 31.100 | 7.000 | 17.000 | 11.000 | 35.000 | 2.000 | 2.0106 | 0.8936 | 0.2234 | 0.5425 | 0.3511 | 1.1170 | 0.0638 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2380 |
| predicted_ER | 0.3170 |
| predicted_ERA | 2.8524 |
| predicted_H | 0.6200 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9890 |
| predicted_WHIP | 0.8585 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2380 | 0.1098 | model_form_blend |
| predicted_ER | 0.0000 | 0.3170 | 0.1463 | model_form_blend |
| predicted_ERA | - | 2.8524 | 2.8524 | form_only |
| predicted_H | 0.0000 | 0.6200 | 0.2861 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0655 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9890 | 0.9949 | model_form_blend |
| predicted_WHIP | - | 0.8585 | 0.8585 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.01 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-24 |
| sl_k_percent | 28.5 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.229 |
| sl_xwoba | 0.256 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 32.9 |
| sl_whiff_percent | 32.1 |
| sl_swing_percent | 52.1 |
| sl_avg_best_speed | 74.564347105 |
| sl_avg_hyper_speed | 92.998621184 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.750 | 0.000 | 0.250 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.038 | 1.000 | -0.038 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.250 | 0.000 | -0.250 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "592155",
"player_name": "Cam Booser",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 4.000 | 2.000 | 5.000 | 1.000 | 1.8000 | 1.2000 | 0.2000 | 0.8000 | 0.4000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 8 | 9.000 | 1.000 | 6.000 | 3.000 | 10.000 | 1.000 | 1.0000 | 1.0000 | 0.1111 | 0.6667 | 0.3333 | 1.1111 | 0.1111 |
| season | 0.20 | 8 | 9.000 | 1.000 | 6.000 | 3.000 | 10.000 | 1.000 | 1.0000 | 1.0000 | 0.1111 | 0.6667 | 0.3333 | 1.1111 | 0.1111 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3650 |
| predicted_ER | 0.4130 |
| predicted_ERA | 3.7211 |
| predicted_H | 0.9140 |
| predicted_HR | 0.1530 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9700 |
| predicted_WHIP | 1.2788 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3650 | 0.1236 | model_form_blend |
| predicted_ER | 0.0000 | 0.4130 | 0.1398 | model_form_blend |
| predicted_ERA | - | 3.7211 | 3.7211 | form_only |
| predicted_H | 1.0000 | 0.9140 | 0.9709 | model_form_blend |
| predicted_HR | 0.0000 | 0.1530 | 0.0518 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9700 | 0.9898 | model_form_blend |
| predicted_WHIP | - | 1.2788 | 1.2788 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 8 |
| Season rows before report date | 8 |
| Report year | 2026 |
| Profile rows used | 8 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| 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.00 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260622_KC@TB |
| game_type | full |
| mlbID | 592155 |
| playerID | 592155 |
| playerName | Cam Booser |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-22 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.246 |
| sl_xwoba | 0.229 |
| sl_sweet_spot_percent | 13.6 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 40.9 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 59.7 |
| sl_avg_best_speed | 83.586162727 |
| sl_avg_hyper_speed | 94.29755619 |
| 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.435 | 0.000 | 0.565 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.696 | 0.000 | -0.696 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.813 | 1.000 | 0.187 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.217 | 1.000 | 1.783 | 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": "664076",
"player_name": "Garrett Cleavinger",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 1.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.2143 | 0.2143 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 5.000 | 4.000 | 12.000 | 1.000 | 5.0000 | 1.0000 | 0.5556 | 0.5556 | 0.4444 | 1.3333 | 0.1111 |
| season | 0.20 | 23 | 20.100 | 10.000 | 16.000 | 10.000 | 28.000 | 2.000 | 4.4262 | 1.2787 | 0.4918 | 0.7869 | 0.4918 | 1.3771 | 0.0984 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3560 |
| predicted_ER | 0.4070 |
| predicted_ERA | 3.6665 |
| predicted_H | 0.7370 |
| predicted_HR | 0.1070 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1140 |
| predicted_WHIP | 1.0928 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3560 | 0.7321 | model_form_blend |
| predicted_ER | 0.0000 | 0.4070 | 0.1693 | model_form_blend |
| predicted_ERA | - | 3.6665 | 3.6665 | form_only |
| predicted_H | 0.0000 | 0.7370 | 0.3065 | model_form_blend |
| predicted_HR | 0.0000 | 0.1070 | 0.0445 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 1.1140 | 2.2155 | model_form_blend |
| predicted_WHIP | - | 1.0928 | 1.0928 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 3 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.43 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 664076 |
| playerID | 664076 |
| playerName | Garrett Cleavinger |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-24 |
| sl_k_percent | 32.6 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.299 |
| sl_xwoba | 0.276 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 44.7 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 46.3 |
| sl_avg_best_speed | 72.881258696 |
| sl_avg_hyper_speed | 94.163196739 |
| 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.206 | 0.000 | -0.206 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.735 | 0.000 | -0.735 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.891 | 1.000 | 0.109 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.824 | 0.000 | 1.176 | 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": "687330",
"player_name": "Kevin Kelly",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 6.000 | 2.000 | 6.000 | 1.000 | 6.000 | 1.000 | 3.0000 | 1.1667 | 0.3333 | 1.0000 | 0.1667 | 1.0000 | 0.1667 |
| last_10 | 0.35 | 10 | 11.000 | 2.000 | 10.000 | 2.000 | 11.000 | 1.000 | 1.6364 | 1.0909 | 0.1818 | 0.9091 | 0.1818 | 1.0000 | 0.0909 |
| season | 0.20 | 34 | 35.200 | 10.000 | 25.000 | 7.000 | 28.000 | 3.000 | 2.5234 | 0.8972 | 0.2804 | 0.7009 | 0.1963 | 0.7851 | 0.0841 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2760 |
| predicted_ER | 0.3970 |
| predicted_ERA | 3.2851 |
| predicted_H | 1.0160 |
| predicted_HR | 0.1450 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0370 |
| predicted_WHIP | 1.1871 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2760 | 0.1311 | model_form_blend |
| predicted_ER | 0.0000 | 0.3970 | 0.1885 | model_form_blend |
| predicted_ERA | - | 3.2851 | 3.2851 | form_only |
| predicted_H | 0.0000 | 1.0160 | 0.4825 | model_form_blend |
| predicted_HR | 0.0000 | 0.1450 | 0.0689 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0370 | 1.5427 | model_form_blend |
| predicted_WHIP | - | 1.1871 | 1.1871 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.52 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_KC@TB |
| game_type | full |
| mlbID | 687330 |
| playerID | 687330 |
| playerName | Kevin Kelly |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.246 |
| sl_xwoba | 0.314 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 48.0 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 46.7 |
| sl_avg_best_speed | 80.266577292 |
| sl_avg_hyper_speed | 95.319011146 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | NYY 4 - 1 BOS | NYY | 0.525 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | NYY 4 - 1 BOS | NYY | - | advisory_box_score_draw | True |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5250 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 6.175 | 4.292 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 1 | 0.5250 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 1 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 4 | 1 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 4 | 1 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4517776153846154,
"base_low_score_probability": 0.4238461538461539,
"low_score_signal_threshold": 0.5038461538461538,
"low_score_signal_strength": 0.027931461538461544,
"confidence": 0.63295,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.0659
},
"prediction": "normal_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 5,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 12,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 12,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.3333,
"bayesian_hit_rate": 0.45,
"sample_weight": 0.255,
"prior_strength": 28.0,
"reliability": 0.3,
"confidence_cap": 0.525,
"raw_pick_probability": 0.762,
"calibrated_pick_probability": 0.525,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "BOS",
"games": 78,
"wins": 32,
"losses": 46,
"win_pct": 0.41025641025641024,
"runs_scored": 307,
"runs_allowed": 314,
"run_differential": -7,
"run_differential_per_game": -0.08974358974358974,
"available": true
},
"away": {
"team": "NYY",
"games": 79,
"wins": 48,
"losses": 31,
"win_pct": 0.6075949367088608,
"runs_scored": 400,
"runs_allowed": 287,
"run_differential": 113,
"run_differential_per_game": 1.4303797468354431,
"available": true
},
"run_differential_edge_per_game": -1.5201,
"win_pct_edge": -0.1973,
"quality_edge": -1.8161,
"margin_adjustment": -0.7628,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 3.571,
"home_runs": 0.488,
"home_win_probability": 0.238
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "NYY",
"guardrail_predicted_team": "NYY",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "NYY",
"output_opponent_team": "BOS",
"final_score_winner": "NYY",
"pre_simulation_winner": "NYY",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "NYY 4 - 1 BOS",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "NYY 4 - 1 BOS",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "BOS",
"games": 78,
"wins": 32,
"losses": 46,
"win_pct": 0.41025641025641024,
"runs_scored": 307,
"runs_allowed": 314,
"run_differential": -7,
"run_differential_per_game": -0.08974358974358974,
"available": true
},
"away": {
"team": "NYY",
"games": 79,
"wins": 48,
"losses": 31,
"win_pct": 0.6075949367088608,
"runs_scored": 400,
"runs_allowed": 287,
"run_differential": 113,
"run_differential_per_game": 1.4303797468354431,
"available": true
}
}
}{
"applied": false,
"raw_margin": -3.0827,
"final_margin": -3.0827,
"margin_cap": 4.25,
"season_quality_edge": 1.8161,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.525,
"final_confidence": 0.525,
"confidence_cap": 0.525,
"score_gap": 3.0827,
"calibration_sample_size": 12,
"calibration_empirical_hit_rate": 0.3333,
"calibration_bayesian_hit_rate": 0.45,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.8161,
"reasons": [
"unvalidated probabilities are capped for production display",
"season run-differential edge supports the pick",
"historical confidence bucket is lightly sampled",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "NYY 4 - 1 BOS",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "NYY 4 - 1 BOS",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 4,
"home_runs": 1,
"confidence": 0.525,
"home_win_probability": 0.475,
"away_win_probability": 0.525,
"predicted_score_text": "NYY 4 - 1 BOS",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "NYY",
"original_runs": 4,
"run_delta": 0.3021,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.14080378851178266,
"contact": 0.15307939438931004,
"power": 0.17648272782569158,
"discipline": 0.05775425437470604,
"xwoba": 0.325875,
"recent_xwoba": 0.325875,
"barrel": 8.3125,
"ab_hard_contact": 0.3623331279424077,
"ab_bat_speed": 70.47861780206013,
"ab_strikeout_rate": 0.20308453530783382,
"available_players": 9,
"top_players": [
{
"player_id": "700250",
"player_name": "Ben Rice",
"position": "1B",
"weight": 4.0,
"quality": 1.000601460093898,
"contact": 1.1407289224415331,
"power": 1.4557645261008338,
"discipline": 0.39595294784580504,
"xwoba": 0.383,
"recent_xwoba": 0.383,
"barrel": 14.9,
"ab_hard_contact": 0.7876714743976309,
"ab_bat_speed": 70.94105952380953,
"ab_strikeout_rate": 0.23469387755102042,
"available": 1.0
},
{
"player_id": "676609",
"player_name": "José Caballero",
"position": "LF",
"weight": 3.0,
"quality": -0.6838050337021262,
"contact": -0.8952838997374971,
"power": -1.129104332558427,
"discipline": -0.3196891534391533,
"xwoba": 0.285,
"recent_xwoba": 0.285,
"barrel": 2.9,
"ab_hard_contact": -1.2685628416447376,
"ab_bat_speed": 65.39745987654321,
"ab_strikeout_rate": 0.1774074074074074,
"available": 1.0
},
{
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "CF",
"weight": 4.0,
"quality": 0.6882043829018655,
"contact": 0.9279585595217612,
"power": 0.3337340887248416,
"discipline": 1.1753055555555558,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 7.900000000000001,
"ab_hard_contact": 0.7821103459254073,
"ab_bat_speed": 69.28407278806584,
"ab_strikeout_rate": 0.13055555555555556,
"available": 1.0
},
{
"player_id": "642708",
"player_name": "Amed Rosario",
"position": "3B",
"weight": 3.0,
"quality": 0.1838569215286088,
"contact": 0.28267891430256326,
"power": 0.7996070979841015,
"discipline": -0.2670674603174603,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 11.8,
"ab_hard_contact": 1.1829991025391642,
"ab_bat_speed": 73.12769841269842,
"ab_strikeout_rate": 0.17500000000000002,
"available": 1.0
},
{
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"position": "DH",
"weight": 4.0,
"quality": 0.14510537152316058,
"contact": 0.3098656762073251,
"power": 0.6558314910461568,
"discipline": -0.14587698412698397,
"xwoba": 0.34400000000000003,
"recent_xwoba": 0.344,
"barrel": 12.0,
"ab_hard_contact": 0.311677439970766,
"ab_bat_speed": 69.01389880952381,
"ab_strikeout_rate": 0.2095238095238095,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "813349",
"player_name": "Connelly Early",
"quality": -0.34662699391389185,
"contact": -0.6115720871993651,
"command": -0.0829285714285714,
"movement": -0.42536695839039884,
"xwoba": 0.326,
"whiff": 23.0,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "BOS",
"original_runs": 1,
"run_delta": -0.6068,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": -0.05131767403776695,
"contact": -0.11127969268360659,
"power": -0.10170389696036826,
"discipline": -0.1818530071089601,
"xwoba": 0.3069677419354839,
"recent_xwoba": 0.3069677419354839,
"barrel": 7.080645161290322,
"ab_hard_contact": -0.1540287840614382,
"ab_bat_speed": 71.04400870013393,
"ab_strikeout_rate": 0.21814190490276686,
"available_players": 8,
"top_players": [
{
"player_id": "575929",
"player_name": "Willson Contreras",
"position": "1B",
"weight": 4.0,
"quality": 0.6356866044620916,
"contact": 0.6726786194346158,
"power": 1.0202437842819532,
"discipline": -0.2895445845004667,
"xwoba": 0.37,
"recent_xwoba": 0.37,
"barrel": 13.2,
"ab_hard_contact": 1.2090661618295475,
"ab_bat_speed": 74.61826416122005,
"ab_strikeout_rate": 0.25947712418300656,
"available": 1.0
},
{
"player_id": "702332",
"player_name": "Caleb Durbin",
"position": "3B",
"weight": 3.0,
"quality": -0.4550161459043166,
"contact": -0.5488332742141482,
"power": -0.9936511612679692,
"discipline": 0.18488595583160805,
"xwoba": 0.282,
"recent_xwoba": 0.282,
"barrel": 3.0,
"ab_hard_contact": -0.911118463454624,
"ab_bat_speed": 66.0515579710145,
"ab_strikeout_rate": 0.1532608695652174,
"available": 1.0
},
{
"player_id": "691785",
"player_name": "Marcelo Mayer",
"position": "SS",
"weight": 3.0,
"quality": -0.5241789523860171,
"contact": -0.9405509468387017,
"power": -0.7624683594013725,
"discipline": -0.16768245525160416,
"xwoba": 0.262,
"recent_xwoba": 0.262,
"barrel": 6.2,
"ab_hard_contact": -0.3564148070750719,
"ab_bat_speed": 73.50727541371158,
"ab_strikeout_rate": 0.20390070921985817,
"available": 1.0
},
{
"player_id": "677800",
"player_name": "Wilyer Abreu",
"position": "RF",
"weight": 4.0,
"quality": 0.5263037425161421,
"contact": 0.49318455794587,
"power": 0.7299937124916018,
"discipline": 0.2396270589997007,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 11.5,
"ab_hard_contact": 0.5290171069748923,
"ab_bat_speed": 72.98060871518419,
"ab_strikeout_rate": 0.18459119496855345,
"available": 1.0
},
{
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"position": "CF",
"weight": 4.0,
"quality": -0.4231404688186653,
"contact": -0.38960362947294713,
"power": -0.47119728728706295,
"discipline": -0.44699603174603164,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 5.7,
"ab_hard_contact": -0.13061241240792482,
"ab_bat_speed": 68.28380111111112,
"ab_strikeout_rate": 0.20600000000000002,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "693645",
"player_name": "Cam Schlittler",
"quality": 0.7205156359400863,
"contact": 0.8147773681022222,
"command": 0.6800714285714285,
"movement": 1.4814654699685434,
"xwoba": 0.262,
"whiff": 27.9,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 1,
"predicted_score_text": "NYY 4 - 1 BOS",
"confidence": 0.525,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "NYY 4 - 1 BOS",
"winner": "NYY"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "NYY 4 - 1 BOS",
"winner": "NYY"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away NYY | True | 1.0174 | 1.0174 | 1 | 9 | 0 |
| Home BOS | True | 1.0029 | 1.0029 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Cody Bellinger | 4 | 1.0743 | 0.9903 | neutral | 0.3690 | 0.2870 | 0.4480 | 7.90 | 36.90 | 89.10 | 18.70 | 18.90 | 13.10 | 14 | 0.1429 |
| DH | Paul Goldschmidt | 78 | 1.0188 | 0.2502 | negative_batter_regression | 0.3440 | 0.2590 | 0.4760 | 12 | 40 | 87.10 | 15.70 | 24.50 | 20.40 | 7.10 | -1.4571 |
| 3B | Amed Rosario | 381 | 1.0216 | 0.2882 | neutral | 0.3290 | 0.2530 | 0.4670 | 11.80 | 38.70 | 90.30 | 12.70 | 25.60 | 21.10 | 6.30 | 0.0857 |
| 1B | Ben Rice | 49 | 1.0975 | 1.3002 | neutral | 0.3830 | 0.2760 | 0.5180 | 14.90 | 47 | 92 | 15.20 | 25.10 | 23.80 | 12.50 | -0.8000 |
| 2B | Jazz Chisholm Jr. | 143 | 0.9899 | -0.1352 | neutral | 0.2980 | 0.2110 | 0.3730 | 9.10 | 39.90 | 90.30 | 15.70 | 31.80 | 28.20 | 10.70 | -0.5714 |
| RF | Jasson Domínguez | 252 | 0.9947 | -0.0710 | neutral | 0.2950 | 0.2750 | 0.3630 | 3.70 | 38.90 | 89.80 | 9.70 | 31.50 | 21.60 | 2.70 | -0.2286 |
| SS | Anthony Volpe | 156 | 0.9997 | -0.0037 | neutral | 0.3190 | 0.2510 | 0.3490 | 4 | 36.80 | 88.30 | 14.50 | 25.90 | 21.40 | 13.70 | -0.4000 |
| LF | José Caballero | 134 | 0.9598 | -0.5354 | neutral | 0.2850 | 0.2370 | 0.3360 | 2.90 | 25.10 | 83.90 | 11.20 | 27 | 20.70 | 6.20 | -0.8286 |
| C | Austin Wells | 484 | 1.0006 | 0.0075 | positive_batter_regression | 0.2910 | 0.2080 | 0.3470 | 6.50 | 43.50 | 89.10 | 18.70 | 28.90 | 26.80 | 12.80 | 1.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Wilyer Abreu | 13 | 1.0551 | 0.7352 | neutral | 0.3400 | 0.2600 | 0.4620 | 11.50 | 41.50 | 89.70 | 17.70 | 22.40 | 18.90 | 9.10 | -0.0571 |
| CF | Ceddanne Rafaela | 8 | 0.9705 | -0.3932 | negative_batter_regression | 0.2900 | 0.2440 | 0.3600 | 5.70 | 36 | 86.50 | 11.10 | 25 | 20.40 | 4.80 | -1.5429 |
| DH | Masataka Yoshida | 449 | 0.9949 | -0.0684 | neutral | 0.3040 | 0.2480 | 0.3390 | 1.50 | 37.70 | 88.40 | 8.10 | 16.40 | 11.80 | 9.50 | 0.2286 |
| 1B | Willson Contreras | 27 | 1.0725 | 0.9671 | neutral | 0.3700 | 0.2570 | 0.4810 | 13.20 | 44.30 | 89.80 | 17.30 | 30.40 | 25.90 | 9.10 | -0.4857 |
| LF | Jarren Duran | 212 | 1.0005 | 0.0070 | neutral | 0.2900 | 0.2250 | 0.3790 | 11.20 | 39.40 | 89.80 | 13.50 | 35.50 | 30.20 | 6.60 | 0.4286 |
| 3B | Caleb Durbin | 123 | 0.9692 | -0.4106 | neutral | 0.2820 | 0.2410 | 0.3320 | 3 | 30.30 | 85 | 9.70 | 15.90 | 13.90 | 5.60 | 0.0571 |
| 2B | Anthony Seigler | 306 | 1.0102 | 0.1360 | neutral | 0.3230 | 0.2830 | 0.3800 | 0 | 50 | 91.20 | 9.80 | 30.30 | 27.30 | 9.10 | -0.5143 |
| C | Carlos Narváez | 459 | 0.9951 | -0.0649 | neutral | 0.2810 | 0.2190 | 0.3430 | 7 | 39.50 | 91.20 | 13.50 | 30.50 | 31.70 | 7.60 | 0.7143 |
| SS | Marcelo Mayer | 261 | 0.9577 | -0.5635 | neutral | 0.2620 | 0.2040 | 0.3010 | 6.20 | 36.40 | 86.20 | 8.50 | 26.50 | 18.80 | 7.10 | -0.2857 |
{
"home": {
"applied": true,
"offense_factor": 1.0029,
"raw_average_factor": 1.0029,
"team_espn_average_rank": 206.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "677800",
"player_name": "Wilyer Abreu",
"offense_factor": 1.0551,
"quality_score": 0.7352,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677800",
"espn_id": 4990055,
"player_name": "Wilyer Abreu",
"team": "BOS",
"role": "batter",
"espn_rank": 13,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 13,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 294.0,
"ab_rank": 32,
"r_value": 35.0,
"r_rank": 99,
"h_value": 81.0,
"h_rank": 28,
"avg_value": 0.2755102,
"avg_rank": 43.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 38.0,
"rbi_rank": 69,
"tb_value": 131.0,
"tb_rank": 345,
"bb_value": 30.0,
"bb_rank": 66,
"so_value": 62.0,
"so_rank": 95,
"sb_value": 6.0,
"sb_rank": 85,
"obp_value": 0.3394495,
"obp_rank": "70",
"slg_value": 0.4455782,
"slg_rank": "63",
"ops_value": 0.7850277,
"ops_rank": 133.0,
"war_value": 3.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 18.9,
"bb_percent": 9.1,
"woba": 0.342,
"xwoba": 0.34,
"xba": 0.26,
"xslg": 0.462,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 17.7,
"whiff_percent": 22.4,
"swing_percent": 49.5
},
"components": {
"expected_quality": 0.8642,
"regression_edge": -0.0571,
"xwoba_edge": 1.0286,
"xba_edge": 0.5714,
"xslg_edge": 1.2571,
"barrel_edge": 1.0,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"offense_factor": 0.9705,
"quality_score": -0.3932,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "678882",
"espn_id": 4987382,
"player_name": "Ceddanne Rafaela",
"team": "BOS",
"role": "batter",
"espn_rank": 8,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 8,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 273.0,
"ab_rank": 85,
"r_value": 32.0,
"r_rank": 118,
"h_value": 78.0,
"h_rank": 41,
"avg_value": 0.2857142,
"avg_rank": 23.0,
"2b_value": 18.0,
"2b_rank": 17,
"3b_value": 3.0,
"3b_rank": 8,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 34.0,
"rbi_rank": 95,
"tb_value": 123.0,
"tb_rank": 485,
"bb_value": 14.0,
"bb_rank": 235,
"so_value": 60.0,
"so_rank": 102,
"sb_value": 9.0,
"sb_rank": 50,
"obp_value": 0.3344709,
"obp_rank": "79",
"slg_value": 0.4505494,
"slg_rank": "59",
"ops_value": 0.7850203,
"ops_rank": 20.0,
"war_value": 3.67,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 195.0,
"k_percent": 20.4,
"bb_percent": 4.8,
"woba": 0.344,
"xwoba": 0.29,
"xba": 0.244,
"xslg": 0.36,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 11.1,
"whiff_percent": 25.0,
"swing_percent": 53.5
},
"components": {
"expected_quality": -0.2647,
"regression_edge": -1.5429,
"xwoba_edge": -0.4,
"xba_edge": 0.1143,
"xslg_edge": -0.2,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.3286,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "807799",
"player_name": "Masataka Yoshida",
"offense_factor": 0.9949,
"quality_score": -0.0684,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807799",
"espn_id": 4872598,
"player_name": "Masataka Yoshida",
"team": "BOS",
"role": "batter",
"espn_rank": 449,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 449,
"gp_value": 52.0,
"gp_rank": 243,
"ab_value": 149.0,
"ab_rank": 260,
"r_value": 15.0,
"r_rank": 293,
"h_value": 36.0,
"h_rank": 247,
"avg_value": 0.2416107,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 10.0,
"rbi_rank": 336,
"tb_value": 48.0,
"tb_rank": 1749,
"bb_value": 16.0,
"bb_rank": 206,
"so_value": 20.0,
"so_rank": 373,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3254437,
"obp_rank": "-",
"slg_value": 0.3221476,
"slg_rank": "-",
"ops_value": 0.6475913,
"ops_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 110.0,
"k_percent": 11.8,
"bb_percent": 9.5,
"woba": 0.296,
"xwoba": 0.304,
"xba": 0.248,
"xslg": 0.339,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 1.5,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 8.1,
"whiff_percent": 16.4,
"swing_percent": 40.9
},
"components": {
"expected_quality": -0.1963,
"regression_edge": 0.2286,
"xwoba_edge": 0.0,
"xba_edge": 0.2286,
"xslg_edge": -0.5,
"barrel_edge": -1.2222,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "575929",
"player_name": "Willson Contreras",
"offense_factor": 1.0725,
"quality_score": 0.9671,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "575929",
"espn_id": 32532,
"player_name": "Willson Contreras",
"team": "BOS",
"role": "batter",
"espn_rank": 27,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 27,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 271.0,
"ab_rank": 90,
"r_value": 37.0,
"r_rank": 83,
"h_value": 76.0,
"h_rank": 50,
"avg_value": 0.2804428,
"avg_rank": 37.0,
"2b_value": 13.0,
"2b_rank": 81,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 16.0,
"hr_rank": 27,
"rbi_value": 46.0,
"rbi_rank": 28,
"tb_value": 141.0,
"tb_rank": 252,
"bb_value": 29.0,
"bb_rank": 74,
"so_value": 82.0,
"so_rank": 27,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3753943,
"obp_rank": "20",
"slg_value": 0.5202952,
"slg_rank": "16",
"ops_value": 0.8956895,
"ops_rank": 36.0,
"war_value": 2.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 25.9,
"bb_percent": 9.1,
"woba": 0.387,
"xwoba": 0.37,
"xba": 0.257,
"xslg": 0.481,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 13.2,
"hard_hit_percent": 44.3,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 17.3,
"whiff_percent": 30.4,
"swing_percent": 49.5
},
"components": {
"expected_quality": 1.2244,
"regression_edge": -0.4857,
"xwoba_edge": 1.8857,
"xba_edge": 0.4857,
"xslg_edge": 1.5286,
"barrel_edge": 1.3778,
"hard_hit_edge": 0.8571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "680776",
"player_name": "Jarren Duran",
"offense_factor": 1.0005,
"quality_score": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680776",
"espn_id": 41610,
"player_name": "Jarren Duran",
"team": "BOS",
"role": "batter",
"espn_rank": 212,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 212,
"gp_value": 72.0,
"gp_rank": 124,
"ab_value": 292.0,
"ab_rank": 36,
"r_value": 37.0,
"r_rank": 83,
"h_value": 58.0,
"h_rank": 129,
"avg_value": 0.1986301,
"avg_rank": 159.0,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 12.0,
"hr_rank": 57,
"rbi_value": 37.0,
"rbi_rank": 77,
"tb_value": 107.0,
"tb_rank": 518,
"bb_value": 21.0,
"bb_rank": 154,
"so_value": 96.0,
"so_rank": 12,
"sb_value": 11.0,
"sb_rank": 32,
"obp_value": 0.2578616,
"obp_rank": "161",
"slg_value": 0.3664383,
"slg_rank": "133",
"ops_value": 0.6242999,
"ops_rank": 294.0,
"war_value": 0.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 30.2,
"bb_percent": 6.6,
"woba": 0.275,
"xwoba": 0.29,
"xba": 0.225,
"xslg": 0.379,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 39.4,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 13.5,
"whiff_percent": 35.5,
"swing_percent": 49.4
},
"components": {
"expected_quality": -0.0615,
"regression_edge": 0.4286,
"xwoba_edge": -0.4,
"xba_edge": -0.4286,
"xslg_edge": 0.0714,
"barrel_edge": 0.9333,
"hard_hit_edge": 0.1571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "702332",
"player_name": "Caleb Durbin",
"offense_factor": 0.9692,
"quality_score": -0.4106,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702332",
"espn_id": 5007615,
"player_name": "Caleb Durbin",
"team": "BOS",
"role": "batter",
"espn_rank": 123,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 123,
"gp_value": 71.0,
"gp_rank": 129,
"ab_value": 229.0,
"ab_rank": 136,
"r_value": 25.0,
"r_rank": 183,
"h_value": 50.0,
"h_rank": 169,
"avg_value": 0.2183406,
"avg_rank": 148.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 30.0,
"rbi_rank": 128,
"tb_value": 83.0,
"tb_rank": 955,
"bb_value": 14.0,
"bb_rank": 235,
"so_value": 35.0,
"so_rank": 251,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.2730923,
"obp_rank": "155",
"slg_value": 0.3624454,
"slg_rank": "136",
"ops_value": 0.6355377,
"ops_rank": 291.0,
"war_value": 1.17,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 13.9,
"bb_percent": 5.6,
"woba": 0.28,
"xwoba": 0.282,
"xba": 0.241,
"xslg": 0.332,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 30.3,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 9.7,
"whiff_percent": 15.9,
"swing_percent": 46.2
},
"components": {
"expected_quality": -0.6497,
"regression_edge": 0.0571,
"xwoba_edge": -0.6286,
"xba_edge": 0.0286,
"xslg_edge": -0.6,
"barrel_edge": -0.8889,
"hard_hit_edge": -1.1429,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": -1.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "678011",
"player_name": "Anthony Seigler",
"offense_factor": 1.0102,
"quality_score": 0.136,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678011",
"espn_id": 41194,
"player_name": "Anthony Seigler",
"team": "BOS",
"role": "batter",
"espn_rank": 306,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 306,
"gp_value": 7.0,
"gp_rank": 526,
"ab_value": 20.0,
"ab_rank": 509,
"r_value": 3.0,
"r_rank": 460,
"h_value": 6.0,
"h_rank": 473,
"avg_value": 0.3,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 399,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 1.0,
"rbi_rank": 506,
"tb_value": 8.0,
"tb_rank": 2642,
"bb_value": 2.0,
"bb_rank": 454,
"so_value": 6.0,
"so_rank": 501,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3636363,
"obp_rank": "-",
"slg_value": 0.4,
"slg_rank": "-",
"ops_value": 0.7636363,
"ops_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 27.3,
"bb_percent": 9.1,
"woba": 0.341,
"xwoba": 0.323,
"xba": 0.283,
"xslg": 0.38,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 9.8,
"whiff_percent": 30.3,
"swing_percent": 50.0
},
"components": {
"expected_quality": 0.4351,
"regression_edge": -0.5143,
"xwoba_edge": 0.5429,
"xba_edge": 1.2286,
"xslg_edge": 0.0857,
"barrel_edge": -1.5556,
"hard_hit_edge": 1.6714,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "665966",
"player_name": "Carlos Narváez",
"offense_factor": 0.9951,
"quality_score": -0.0649,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665966",
"espn_id": 5012120,
"player_name": "Carlos Narvaez",
"team": "BOS",
"role": "batter",
"espn_rank": 459,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 459,
"gp_value": 45.0,
"gp_rank": 297,
"ab_value": 130.0,
"ab_rank": 277,
"r_value": 15.0,
"r_rank": 293,
"h_value": 26.0,
"h_rank": 307,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 4.0,
"rbi_rank": 439,
"tb_value": 38.0,
"tb_rank": 1921,
"bb_value": 11.0,
"bb_rank": 278,
"so_value": 46.0,
"so_rank": 175,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2708333,
"obp_rank": "-",
"slg_value": 0.2923076,
"slg_rank": "-",
"ops_value": 0.5631409,
"ops_rank": null,
"war_value": -0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 31.7,
"bb_percent": 7.6,
"woba": 0.256,
"xwoba": 0.281,
"xba": 0.219,
"xslg": 0.343,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 39.5,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 13.5,
"whiff_percent": 30.5,
"swing_percent": 52.9
},
"components": {
"expected_quality": -0.2631,
"regression_edge": 0.7143,
"xwoba_edge": -0.6571,
"xba_edge": -0.6,
"xslg_edge": -0.4429,
"barrel_edge": 0.0,
"hard_hit_edge": 0.1714,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 1.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "691785",
"player_name": "Marcelo Mayer",
"offense_factor": 0.9577,
"quality_score": -0.5635,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691785",
"espn_id": 4872648,
"player_name": "Marcelo Mayer",
"team": "BOS",
"role": "batter",
"espn_rank": 261,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 261,
"gp_value": 69.0,
"gp_rank": 145,
"ab_value": 201.0,
"ab_rank": 173,
"r_value": 19.0,
"r_rank": 236,
"h_value": 45.0,
"h_rank": 195,
"avg_value": 0.2238805,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 22.0,
"rbi_rank": 206,
"tb_value": 64.0,
"tb_rank": 1534,
"bb_value": 16.0,
"bb_rank": 206,
"so_value": 42.0,
"so_rank": 203,
"sb_value": 3.0,
"sb_rank": 161,
"obp_value": 0.2869955,
"obp_rank": "-",
"slg_value": 0.3184079,
"slg_rank": "-",
"ops_value": 0.6054034,
"ops_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 158.0,
"k_percent": 18.8,
"bb_percent": 7.1,
"woba": 0.272,
"xwoba": 0.262,
"xba": 0.204,
"xslg": 0.301,
"sweet_spot_percent": 25.9,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 8.5,
"whiff_percent": 26.5,
"swing_percent": 50.0
},
"components": {
"expected_quality": -0.8659,
"regression_edge": -0.2857,
"xwoba_edge": -1.2,
"xba_edge": -1.0286,
"xslg_edge": -1.0429,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.2714,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -1.2333,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0174,
"raw_average_factor": 1.0174,
"team_espn_average_rank": 186.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "641355",
"player_name": "Cody Bellinger",
"offense_factor": 1.0743,
"quality_score": 0.9903,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641355",
"espn_id": 33912,
"player_name": "Cody Bellinger",
"team": "NYY",
"role": "batter",
"espn_rank": 4,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 4,
"gp_value": 78.0,
"gp_rank": 32,
"ab_value": 284.0,
"ab_rank": 60,
"r_value": 46.0,
"r_rank": 33,
"h_value": 77.0,
"h_rank": 46,
"avg_value": 0.2711267,
"avg_rank": 46.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 3.0,
"3b_rank": 8,
"hr_value": 11.0,
"hr_rank": 71,
"rbi_value": 49.0,
"rbi_rank": 18,
"tb_value": 132.0,
"tb_rank": 306,
"bb_value": 47.0,
"bb_rank": 15,
"so_value": 44.0,
"so_rank": 183,
"sb_value": 10.0,
"sb_rank": 41,
"obp_value": 0.3690476,
"obp_rank": "29",
"slg_value": 0.4647887,
"slg_rank": "49",
"ops_value": 0.8338363,
"ops_rank": 78.0,
"war_value": 3.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 230.0,
"k_percent": 13.1,
"bb_percent": 14.0,
"woba": 0.364,
"xwoba": 0.369,
"xba": 0.287,
"xslg": 0.448,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 36.9,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 18.7,
"whiff_percent": 18.9,
"swing_percent": 44.7
},
"components": {
"expected_quality": 1.1282,
"regression_edge": 0.1429,
"xwoba_edge": 1.8571,
"xba_edge": 1.3429,
"xslg_edge": 1.0571,
"barrel_edge": 0.2,
"hard_hit_edge": -0.2,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 1.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"offense_factor": 1.0188,
"quality_score": 0.2502,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "502671",
"espn_id": 31027,
"player_name": "Paul Goldschmidt",
"team": "NYY",
"role": "batter",
"espn_rank": 78,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 78,
"gp_value": 54.0,
"gp_rank": 233,
"ab_value": 192.0,
"ab_rank": 191,
"r_value": 30.0,
"r_rank": 140,
"h_value": 57.0,
"h_rank": 133,
"avg_value": 0.296875,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 202,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 14.0,
"hr_rank": 34,
"rbi_value": 39.0,
"rbi_rank": 64,
"tb_value": 109.0,
"tb_rank": 601,
"bb_value": 15.0,
"bb_rank": 222,
"so_value": 43.0,
"so_rank": 191,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3554502,
"obp_rank": "-",
"slg_value": 0.5677083,
"slg_rank": "-",
"ops_value": 0.9231585,
"ops_rank": null,
"war_value": 1.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 107.0,
"k_percent": 20.4,
"bb_percent": 7.1,
"woba": 0.395,
"xwoba": 0.344,
"xba": 0.259,
"xslg": 0.476,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 15.7,
"whiff_percent": 24.5,
"swing_percent": 48.4
},
"components": {
"expected_quality": 0.8355,
"regression_edge": -1.4571,
"xwoba_edge": 1.1429,
"xba_edge": 0.5429,
"xslg_edge": 1.4571,
"barrel_edge": 1.1111,
"hard_hit_edge": 0.2429,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "642708",
"player_name": "Amed Rosario",
"offense_factor": 1.0216,
"quality_score": 0.2882,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642708",
"espn_id": 33215,
"player_name": "Amed Rosario",
"team": "NYY",
"role": "batter",
"espn_rank": 381,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 381,
"gp_value": 42.0,
"gp_rank": 315,
"ab_value": 117.0,
"ab_rank": 305,
"r_value": 16.0,
"r_rank": 275,
"h_value": 29.0,
"h_rank": 285,
"avg_value": 0.2478632,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 22.0,
"rbi_rank": 206,
"tb_value": 56.0,
"tb_rank": 1185,
"bb_value": 8.0,
"bb_rank": 334,
"so_value": 27.0,
"so_rank": 309,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2890625,
"obp_rank": "-",
"slg_value": 0.4786324,
"slg_rank": "-",
"ops_value": 0.7676949,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 94.0,
"k_percent": 21.1,
"bb_percent": 6.3,
"woba": 0.326,
"xwoba": 0.329,
"xba": 0.253,
"xslg": 0.467,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 38.7,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 12.7,
"whiff_percent": 25.6,
"swing_percent": 56.2
},
"components": {
"expected_quality": 0.7308,
"regression_edge": 0.0857,
"xwoba_edge": 0.7143,
"xba_edge": 0.3714,
"xslg_edge": 1.3286,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.0571,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "700250",
"player_name": "Ben Rice",
"offense_factor": 1.0975,
"quality_score": 1.3002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700250",
"espn_id": 5016968,
"player_name": "Ben Rice",
"team": "NYY",
"role": "batter",
"espn_rank": 49,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 49,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 276.0,
"ab_rank": 81,
"r_value": 56.0,
"r_rank": 4,
"h_value": 79.0,
"h_rank": 36,
"avg_value": 0.2862318,
"avg_rank": 23.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 22.0,
"hr_rank": 4,
"rbi_value": 53.0,
"rbi_rank": 10,
"tb_value": 164.0,
"tb_rank": 110,
"bb_value": 40.0,
"bb_rank": 28,
"so_value": 76.0,
"so_rank": 47,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.378125,
"obp_rank": "16",
"slg_value": 0.5942028,
"slg_rank": "2",
"ops_value": 0.9723278,
"ops_rank": 18.0,
"war_value": 2.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 23.8,
"bb_percent": 12.5,
"woba": 0.411,
"xwoba": 0.383,
"xba": 0.276,
"xslg": 0.518,
"sweet_spot_percent": 40.1,
"barrel_batted_rate": 14.9,
"hard_hit_percent": 47.0,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 15.2,
"whiff_percent": 25.1,
"swing_percent": 42.8
},
"components": {
"expected_quality": 1.7371,
"regression_edge": -0.8,
"xwoba_edge": 2.2571,
"xba_edge": 1.0286,
"xslg_edge": 2.0571,
"barrel_edge": 1.7556,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 1.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"offense_factor": 0.9899,
"quality_score": -0.1352,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665862",
"espn_id": 41433,
"player_name": "Jazz Chisholm Jr.",
"team": "NYY",
"role": "batter",
"espn_rank": 143,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 143,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 273.0,
"ab_rank": 85,
"r_value": 41.0,
"r_rank": 60,
"h_value": 62.0,
"h_rank": 108,
"avg_value": 0.2271062,
"avg_rank": 136.0,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 12.0,
"hr_rank": 57,
"rbi_value": 33.0,
"rbi_rank": 101,
"tb_value": 112.0,
"tb_rank": 470,
"bb_value": 33.0,
"bb_rank": 53,
"so_value": 87.0,
"so_rank": 18,
"sb_value": 23.0,
"sb_rank": 4,
"obp_value": 0.3106796,
"obp_rank": "120",
"slg_value": 0.4102564,
"slg_rank": "99",
"ops_value": 0.720936,
"ops_rank": 21.0,
"war_value": 0.96,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 28.2,
"bb_percent": 10.7,
"woba": 0.318,
"xwoba": 0.298,
"xba": 0.211,
"xslg": 0.373,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 39.9,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 15.7,
"whiff_percent": 31.8,
"swing_percent": 43.7
},
"components": {
"expected_quality": -0.0694,
"regression_edge": -0.5714,
"xwoba_edge": -0.1714,
"xba_edge": -0.8286,
"xslg_edge": -0.0143,
"barrel_edge": 0.4667,
"hard_hit_edge": 0.2286,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.85,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "691176",
"player_name": "Jasson Domínguez",
"offense_factor": 0.9947,
"quality_score": -0.071,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691176",
"espn_id": 42401,
"player_name": "Jasson Dominguez",
"team": "NYY",
"role": "batter",
"espn_rank": 252,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 252,
"gp_value": 19.0,
"gp_rank": 429,
"ab_value": 70.0,
"ab_rank": 387,
"r_value": 7.0,
"r_rank": 397,
"h_value": 16.0,
"h_rank": 375,
"avg_value": 0.2285714,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 7.0,
"rbi_rank": 375,
"tb_value": 31.0,
"tb_rank": 1815,
"bb_value": 2.0,
"bb_rank": 454,
"so_value": 16.0,
"so_rank": 409,
"sb_value": 4.0,
"sb_rank": 133,
"obp_value": 0.2602739,
"obp_rank": "-",
"slg_value": 0.4428571,
"slg_rank": "-",
"ops_value": 0.703131,
"ops_rank": null,
"war_value": 0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 32.0,
"k_percent": 21.6,
"bb_percent": 2.7,
"woba": 0.303,
"xwoba": 0.295,
"xba": 0.275,
"xslg": 0.363,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 38.9,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 9.7,
"whiff_percent": 31.5,
"swing_percent": 52.8
},
"components": {
"expected_quality": -0.1461,
"regression_edge": -0.2286,
"xwoba_edge": -0.2571,
"xba_edge": 1.0,
"xslg_edge": -0.1571,
"barrel_edge": -0.7333,
"hard_hit_edge": 0.0857,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "683011",
"player_name": "Anthony Volpe",
"offense_factor": 0.9997,
"quality_score": -0.0037,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683011",
"espn_id": 42547,
"player_name": "Anthony Volpe",
"team": "NYY",
"role": "batter",
"espn_rank": 156,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 156,
"gp_value": 31.0,
"gp_rank": 369,
"ab_value": 101.0,
"ab_rank": 336,
"r_value": 16.0,
"r_rank": 275,
"h_value": 27.0,
"h_rank": 302,
"avg_value": 0.2673267,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 13.0,
"rbi_rank": 298,
"tb_value": 37.0,
"tb_rank": 1866,
"bb_value": 16.0,
"bb_rank": 206,
"so_value": 25.0,
"so_rank": 321,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.3675213,
"obp_rank": "-",
"slg_value": 0.3663366,
"slg_rank": "-",
"ops_value": 0.7338579,
"ops_rank": null,
"war_value": 0.87,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 41.0,
"k_percent": 21.4,
"bb_percent": 13.7,
"woba": 0.333,
"xwoba": 0.319,
"xba": 0.251,
"xslg": 0.349,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 36.8,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 14.5,
"whiff_percent": 25.9,
"swing_percent": 44.4
},
"components": {
"expected_quality": 0.0557,
"regression_edge": -0.4,
"xwoba_edge": 0.4286,
"xba_edge": 0.3143,
"xslg_edge": -0.3571,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.2143,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "676609",
"player_name": "José Caballero",
"offense_factor": 0.9598,
"quality_score": -0.5354,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676609",
"espn_id": 42135,
"player_name": "Jose Caballero",
"team": "NYY",
"role": "batter",
"espn_rank": 134,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 134,
"gp_value": 67.0,
"gp_rank": 161,
"ab_value": 220.0,
"ab_rank": 153,
"r_value": 30.0,
"r_rank": 140,
"h_value": 56.0,
"h_rank": 135,
"avg_value": 0.2545454,
"avg_rank": 80.0,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 27.0,
"rbi_rank": 161,
"tb_value": 87.0,
"tb_rank": 1105,
"bb_value": 15.0,
"bb_rank": 222,
"so_value": 50.0,
"so_rank": 154,
"sb_value": 17.0,
"sb_rank": 11,
"obp_value": 0.3140495,
"obp_rank": "112",
"slg_value": 0.3954545,
"slg_rank": "109",
"ops_value": 0.709504,
"ops_rank": 3.0,
"war_value": 1.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 20.7,
"bb_percent": 6.2,
"woba": 0.314,
"xwoba": 0.285,
"xba": 0.237,
"xslg": 0.336,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 25.1,
"exit_velocity_avg": 83.9,
"launch_angle_avg": 11.2,
"whiff_percent": 27.0,
"swing_percent": 49.7
},
"components": {
"expected_quality": -0.7054,
"regression_edge": -0.8286,
"xwoba_edge": -0.5429,
"xba_edge": -0.0857,
"xslg_edge": -0.5429,
"barrel_edge": -0.9111,
"hard_hit_edge": -1.8857,
"exit_velocity_edge": -1.96,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "669224",
"player_name": "Austin Wells",
"offense_factor": 1.0006,
"quality_score": 0.0075,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669224",
"espn_id": 4683349,
"player_name": "Austin Wells",
"team": "NYY",
"role": "batter",
"espn_rank": 484,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 484,
"gp_value": 51.0,
"gp_rank": 253,
"ab_value": 155.0,
"ab_rank": 254,
"r_value": 16.0,
"r_rank": 275,
"h_value": 25.0,
"h_rank": 315,
"avg_value": 0.1612903,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 399,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 4.0,
"hr_rank": 222,
"rbi_value": 8.0,
"rbi_rank": 363,
"tb_value": 39.0,
"tb_rank": 1788,
"bb_value": 23.0,
"bb_rank": 130,
"so_value": 48.0,
"so_rank": 165,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2681564,
"obp_rank": "-",
"slg_value": 0.2516129,
"slg_rank": "-",
"ops_value": 0.5197693,
"ops_rank": null,
"war_value": -0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 147.0,
"k_percent": 26.8,
"bb_percent": 12.8,
"woba": 0.239,
"xwoba": 0.291,
"xba": 0.208,
"xslg": 0.347,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 18.7,
"whiff_percent": 28.9,
"swing_percent": 47.5
},
"components": {
"expected_quality": -0.2288,
"regression_edge": 1.4857,
"xwoba_edge": -0.3714,
"xba_edge": -0.9143,
"xslg_edge": -0.3857,
"barrel_edge": -0.1111,
"hard_hit_edge": 0.7429,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -0.45,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYY | True | 3 | 0.6773 | 0.9880 | 0.9424 | 1.0500 | 0.9170 | 0.9527 | neutral | 0.2620 | 0.2350 | 29.50 | 4.90 | 27.90 | 6.70 | 39.20 | |
| Home BOS | True | 84 | -0.2704 | 0.9040 | 1.0230 | 0.9842 | 0.9946 | 1.0836 | neutral | 0.3260 | 0.3250 | 22.50 | 8.80 | 23 | 10.80 | 41.40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYY | True | None | 77 | 95.49 | 2417 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2800 | |
| Home BOS | True | None | 97 | 88.33 | 2071 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0798 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0208 |
| home_runs_vs_away_pitcher | 0.9431 |
| home_pitcher_quality_edge | -0.9477 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "813349",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 226.0,
"k_percent": 22.5,
"bb_percent": 8.8,
"woba": 0.325,
"xwoba": 0.326,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 41.4,
"avg_best_speed": 80.5327,
"avg_hyper_speed": 94.4656,
"whiff_percent": 23.0,
"swing_percent": 46.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.4525,
"command_and_miss": -0.1404,
"regression_edge": -0.0286,
"xwoba_edge": -0.3286,
"barrel_edge": -0.8111,
"hard_hit_edge": -0.4429,
"whiff_edge": -0.4071,
"bb_edge": 0.075,
"pitch_design_score": -0.0798
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "813349",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 97,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.32584587648121,
"release_spin_rate": 2071.080031201101,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.32584587648121,
"release_spin_rate": 2071.080031201101,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3258,
"release_spin_rate": 2071.08,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0798,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5702,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2704,
"sample_weight": 0.904,
"run_prevention_factor": 1.023,
"strikeout_factor": 0.9842,
"walk_factor": 0.9946,
"homer_factor": 1.0836,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "813349",
"espn_id": 4863321,
"player_name": "Connelly Early",
"team": "BOS",
"role": "pitcher",
"espn_rank": 84,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 84,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 15.0,
"gs_rank": 41,
"qs_value": 6.0,
"qs_rank": 42,
"era_value": 3.6367,
"era_rank": 30.0,
"w_value": 6.0,
"w_rank": 28,
"l_value": 5.0,
"l_rank": 45,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 81.2,
"ip_rank": 58,
"h_value": 73.0,
"h_rank": 64,
"er_value": 33.0,
"er_rank": 83,
"hr_value": 14.0,
"hr_rank": 20,
"bb_value": 31.0,
"bb_rank": 28,
"k_value": 79.0,
"k_rank": 47,
"k_per_9_value": 8.706122,
"k_per_9_rank": 21,
"whip_value": 1.2734,
"whip_rank": 44.0,
"war_value": 1.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "693645",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 29.5,
"bb_percent": 4.9,
"woba": 0.235,
"xwoba": 0.262,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 39.2,
"avg_best_speed": 76.2355,
"avg_hyper_speed": 93.9097,
"whiff_percent": 27.9,
"swing_percent": 53.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9738,
"command_and_miss": 0.7496,
"regression_edge": -0.7714,
"xwoba_edge": 1.5,
"barrel_edge": 0.1,
"hard_hit_edge": -0.1286,
"whiff_edge": 0.2929,
"bb_edge": 1.05,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "693645",
"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": 95.49314009779776,
"release_spin_rate": 2417.122211659208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 95.49314009779776,
"release_spin_rate": 2417.122211659208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4931,
"release_spin_rate": 2417.1222,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.6773,
"sample_weight": 0.988,
"run_prevention_factor": 0.9424,
"strikeout_factor": 1.05,
"walk_factor": 0.917,
"homer_factor": 0.9527,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693645",
"espn_id": 5134581,
"player_name": "Cam Schlittler",
"team": "NYY",
"role": "pitcher",
"espn_rank": 3,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 3,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 10.0,
"qs_rank": 6,
"era_value": 1.7052,
"era_rank": 2.0,
"w_value": 8.0,
"w_rank": 9,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 95.0,
"ip_rank": 8,
"h_value": 67.0,
"h_rank": 90,
"er_value": 18.0,
"er_rank": 188,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 18.0,
"bb_rank": 163,
"k_value": 109.0,
"k_rank": 6,
"k_per_9_value": 10.326316,
"k_per_9_rank": 20,
"whip_value": 0.8947,
"whip_rank": 4.0,
"war_value": 4.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0208,
"home_runs_vs_away_pitcher": 0.9431,
"home_pitcher_quality_edge": -0.9477
},
"score_before": {
"away_runs": 3.0868,
"home_runs": 0.8812
},
"score_after": {
"away_runs": 3.151,
"home_runs": 0.831,
"home_win_probability": 0.2857
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away NYY | 16-46 | 0.258 | 1.30 | 2.60 | -81 | cold | strong | |
| Home BOS | 14-48 | 0.226 | 1 | 3.20 | -140 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away NYY | 48-31 | 0.608 | 113 | 1.430 | True |
| Home BOS | 32-46 | 0.410 | -7 | -0.090 | True |
| Signal | - | - | -1.520 | -1.816 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target NYY | - | - | 4 | - | - | - | - |
| Game target BOS | - | - | 1 | - | - | - | - |
| Player finalized NYY | 32 | 9 | 5 | 0 | 3 | 1 | 9 |
| Player finalized BOS | 31 | 9 | 0 | 0 | 1 | 0 | 7 |
| Player model fractional NYY | 32.22 | 7.91 | 4.66 | 1.40 | 4.33 | 3.23 | 7.85 |
| Player model fractional BOS | 31.70 | 6.26 | 3.24 | 0.77 | 2.92 | 2.48 | 7.89 |
| Simulation box NYY | 35 | 8 | 4 | 2 | 4 | 4 | 10 |
| Simulation box BOS | 33 | 6 | 1 | 0 | 1 | 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 NYY | Starter | Cam Schlittler | 6.10 | 0 | 7 | 4 | 0 | 2.52 | 1.05 | True |
| Away NYY | Middle Reliever | David Bednar | 1 | 0 | 0 | 0 | 0 | 2.32 | 0.99 | True |
| Away NYY | Middle Reliever | Fernando Cruz | 1 | 0 | 0 | 1 | 0 | 3.04 | 1.26 | True |
| Away NYY | Middle Reliever | Brent Headrick | 0.20 | 1 | 1 | 1 | 2 | 2.20 | 1.03 | True |
| Home BOS | Starter | Connelly Early | 5.10 | 2 | 5 | 5 | 2 | 4.14 | 1.34 | True |
| Home BOS | Middle Reliever | Aroldis Chapman | 1 | 2 | 2 | 2 | 2 | 3.02 | 1.27 | True |
| Home BOS | Middle Reliever | Garrett Whitlock | 1 | 0 | 0 | 0 | 0 | 3.30 | 1.22 | True |
| Home BOS | Middle Reliever | Justin Slaten | 1 | 0 | 2 | 0 | 0 | 5.70 | 1.62 | True |
| Home BOS | Middle Reliever | Greg Weissert | 0.20 | 0 | 1 | 1 | 0 | 3.42 | 1.07 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | NYY | batter | 2B | Jazz Chisholm Jr. | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 2.8400 | boost | worse |
| away | NYY | batter | DH | Paul Goldschmidt | better | 10 | 7 | 3 | 8 | 2 | predicted_RBI | 2.3500 | boost | better |
| away | NYY | batter | 3B | Amed Rosario | worse | 9 | 5 | 4 | 4 | 5 | predicted_AB | 1.9800 | boost | better |
| home | BOS | batter | 3B | Caleb Durbin | worse | 11 | 1 | 10 | 0 | 11 | predicted_AB | -1.3190 | deboost | worse |
| away | NYY | batter | LF | José Caballero | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.2420 | boost | worse |
| home | BOS | batter | 2B | Anthony Seigler | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.1430 | boost | better |
| away | NYY | pitcher | Starter | Cam Schlittler | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| away | NYY | pitcher | Middle Reliever | David Bednar | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | BOS | batter | SS | Marcelo Mayer | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -1.0000 | deboost | worse |
| away | NYY | batter | 1B | Ben Rice | better | 11 | 9 | 2 | 8 | 3 | predicted_H | 0.9900 | boost | better |
| away | NYY | batter | CF | Cody Bellinger | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.9700 | deboost | worse |
| home | BOS | batter | RF | Wilyer Abreu | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | 0.9700 | boost | better |
| home | BOS | batter | DH | Masataka Yoshida | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | 0.9590 | boost | better |
| away | NYY | batter | RF | Jasson Domínguez | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.9200 | deboost | worse |
| home | BOS | batter | C | Carlos Narváez | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | 0.9050 | boost | better |
| home | BOS | batter | 1B | Willson Contreras | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.9000 | deboost | worse |
| home | BOS | batter | CF | Ceddanne Rafaela | worse | 9 | 2 | 7 | 1 | 8 | predicted_AB | 0.8800 | boost | better |
| home | BOS | batter | LF | Jarren Duran | worse | 11 | 0 | 11 | 1 | 10 | predicted_H | -0.8500 | deboost | worse |
| away | NYY | batter | SS | Anthony Volpe | better | 11 | 6 | 5 | 7 | 4 | predicted_SO | -0.8330 | deboost | better |
| away | NYY | batter | C | Austin Wells | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | -0.5800 | deboost | worse |
| away | NYY | pitcher | Middle Reliever | Brent Headrick | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | BOS | pitcher | Middle Reliever | Greg Weissert | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | BOS | pitcher | Starter | Connelly Early | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Cam Schlittler |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6773 |
| ESPN Rank | 3 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.4931 |
| Avg Spin | 2417.1222 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 0 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 7 |
| Season ERA | 1.7053 |
| Season WHIP | 0.8947 |
| Role Avg IP | 5.9380 |
| Recent Avg IP | 5.8000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"opponent": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"edges": {
"quality_edge": 0.4526,
"offense_edge": 0.0727,
"opponent_offense_edge": -0.1579,
"defense_strength": 0.2297,
"opponent_defense_weakness": -0.1133,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0313,
"run_prevention": 0.9291,
"strikeout": 1.0262
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693645",
"profile": {
"available": true,
"pitcher_id": "693645",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 29.5,
"bb_percent": 4.9,
"woba": 0.235,
"xwoba": 0.262,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 39.2,
"avg_best_speed": 76.2355,
"avg_hyper_speed": 93.9097,
"whiff_percent": 27.9,
"swing_percent": 53.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9738,
"command_and_miss": 0.7496,
"regression_edge": -0.7714,
"xwoba_edge": 1.5,
"barrel_edge": 0.1,
"hard_hit_edge": -0.1286,
"whiff_edge": 0.2929,
"bb_edge": 1.05,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "693645",
"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": 95.49314009779776,
"release_spin_rate": 2417.122211659208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 95.49314009779776,
"release_spin_rate": 2417.122211659208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4931,
"release_spin_rate": 2417.1222,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.6773,
"sample_weight": 0.988,
"run_prevention_factor": 0.9424,
"strikeout_factor": 1.05,
"walk_factor": 0.917,
"homer_factor": 0.9527,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693645",
"espn_id": 5134581,
"player_name": "Cam Schlittler",
"team": "NYY",
"role": "pitcher",
"espn_rank": 3,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 3,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 10.0,
"qs_rank": 6,
"era_value": 1.7052,
"era_rank": 2.0,
"w_value": 8.0,
"w_rank": 9,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 95.0,
"ip_rank": 8,
"h_value": 67.0,
"h_rank": 90,
"er_value": 18.0,
"er_rank": 188,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 18.0,
"bb_rank": 163,
"k_value": 109.0,
"k_rank": 6,
"k_per_9_value": 10.326316,
"k_per_9_rank": 20,
"whip_value": 0.8947,
"whip_rank": 4.0,
"war_value": 4.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9431,
"adjusted": 1
},
"predicted_H": {
"original": 5.0,
"factor": 0.9431,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.918,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9533,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0494,
"adjusted": 7
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 59.1,
"ER": 11,
"H": 45,
"BB": 14,
"SO": 68,
"HR": 4,
"ERA": 1.6685393258426966,
"WHIP": 0.9943820224719101,
"K9": 10.314606741573034,
"HR9": 0.6067415730337078,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "693645",
"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": 95.49314009779776,
"release_spin_rate": 2417.122211659208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 95.49314009779776,
"release_spin_rate": 2417.122211659208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4931,
"release_spin_rate": 2417.1222,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "693645",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.0,
"ER": 7.0,
"R": 8.0,
"H": 23.0,
"BB": 5.0,
"SO": 34.0,
"HR": 3.0,
"BF": 116.0,
"Pitches": 442.0
},
"per_game": {
"IP": 5.2,
"ER": 1.4,
"R": 1.6,
"H": 4.6,
"BB": 1.0,
"SO": 6.8,
"HR": 0.6,
"BF": 23.2,
"Pitches": 88.4
},
"rates": {
"ERA": 2.1724,
"WHIP": 0.9655,
"ER_per_IP": 0.24138,
"H_per_IP": 0.7931,
"BB_per_IP": 0.17241,
"SO_per_IP": 1.17241,
"HR_per_IP": 0.10345
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 11.0,
"R": 12.0,
"H": 45.0,
"BB": 14.0,
"SO": 68.0,
"HR": 4.0,
"BF": 236.0,
"Pitches": 938.0
},
"per_game": {
"IP": 6.0,
"ER": 1.1,
"R": 1.2,
"H": 4.5,
"BB": 1.4,
"SO": 6.8,
"HR": 0.4,
"BF": 23.6,
"Pitches": 93.8
},
"rates": {
"ERA": 1.6685,
"WHIP": 0.9944,
"ER_per_IP": 0.18539,
"H_per_IP": 0.75843,
"BB_per_IP": 0.23596,
"SO_per_IP": 1.14607,
"HR_per_IP": 0.06742
}
},
"season": {
"games": 16,
"totals": {
"IP": 95.0,
"ER": 18.0,
"R": 21.0,
"H": 67.0,
"BB": 18.0,
"SO": 109.0,
"HR": 5.0,
"BF": 369.0,
"Pitches": 1443.0
},
"per_game": {
"IP": 6.0,
"ER": 1.125,
"R": 1.3125,
"H": 4.1875,
"BB": 1.125,
"SO": 6.8125,
"HR": 0.3125,
"BF": 23.0625,
"Pitches": 90.1875
},
"rates": {
"ERA": 1.7053,
"WHIP": 0.8947,
"ER_per_IP": 0.18947,
"H_per_IP": 0.70526,
"BB_per_IP": 0.18947,
"SO_per_IP": 1.14737,
"HR_per_IP": 0.05263
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.67,
"predicted_H": 4.846,
"predicted_BB": 1.412,
"predicted_SO": 6.609,
"predicted_HR": 0.574,
"predicted_ERA": 2.5203,
"predicted_WHIP": 1.0491
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.0,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.67,
"final": 0.9175,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.846,
"final": 4.4648,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.412,
"final": 0.7758,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 6.609,
"final": 6.3346,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.574,
"final": 0.3154,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5203,
"final": 2.5203,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0491,
"final": 1.0491,
"source": "form_only"
}
}
}{
"available": false,
"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 | David Bednar |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3124 |
| ESPN Rank | 199 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.2727 |
| Season WHIP | 1.2727 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"opponent": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"edges": {
"quality_edge": 0.4526,
"offense_edge": 0.0727,
"opponent_offense_edge": -0.1579,
"defense_strength": 0.2297,
"opponent_defense_weakness": -0.1133,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0313,
"run_prevention": 0.9291,
"strikeout": 1.0262
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670280",
"profile": {
"available": true,
"pitcher_id": "670280",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 105.0,
"k_percent": 27.5,
"bb_percent": 8.5,
"woba": 0.287,
"xwoba": 0.267,
"sweet_spot_percent": 24.4,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 38.9,
"avg_best_speed": 76.2619,
"avg_hyper_speed": 93.4805,
"whiff_percent": 29.5,
"swing_percent": 53.1
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.8957,
"command_and_miss": 0.5211,
"regression_edge": 0.5714,
"xwoba_edge": 1.3571,
"barrel_edge": 0.6111,
"hard_hit_edge": -0.0857,
"whiff_edge": 0.5214,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670280",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3124,
"sample_weight": 0.45,
"run_prevention_factor": 0.9734,
"strikeout_factor": 1.0217,
"walk_factor": 0.9946,
"homer_factor": 0.9612,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670280",
"espn_id": 38303,
"player_name": "David Bednar",
"team": "NYY",
"role": "pitcher",
"espn_rank": 199,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 199,
"gp_value": 32.0,
"gp_rank": 66,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.2727,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 16.0,
"sv_rank": 7,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 33.0,
"ip_rank": 240,
"h_value": 30.0,
"h_rank": 234,
"er_value": 12.0,
"er_rank": 294,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 39.0,
"k_rank": 180,
"k_per_9_value": 10.636363,
"k_per_9_rank": 20,
"whip_value": 1.2727,
"whip_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.988,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.988,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9825,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0098,
"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": 4,
"BB": 3,
"SO": 11,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.6363636363636364,
"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-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "670280",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.534,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"role": "pitcher",
"player_id": "670280",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5625,
"ER_per_IP": 0.0,
"H_per_IP": 0.5625,
"BB_per_IP": 0.0,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 3.0,
"SO": 11.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.3,
"SO": 1.1,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.7
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6364,
"ER_per_IP": 0.0,
"H_per_IP": 0.36364,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 32,
"totals": {
"IP": 33.0,
"ER": 12.0,
"R": 15.0,
"H": 30.0,
"BB": 12.0,
"SO": 39.0,
"HR": 2.0,
"BF": 142.0,
"Pitches": 580.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.4688,
"H": 0.9375,
"BB": 0.375,
"SO": 1.2188,
"HR": 0.0625,
"BF": 4.4375,
"Pitches": 18.125
},
"rates": {
"ERA": 3.2727,
"WHIP": 1.2727,
"ER_per_IP": 0.36364,
"H_per_IP": 0.90909,
"BB_per_IP": 0.36364,
"SO_per_IP": 1.18182,
"HR_per_IP": 0.06061
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.258,
"predicted_H": 0.739,
"predicted_BB": 0.251,
"predicted_SO": 1.03,
"predicted_HR": 0.07,
"predicted_ERA": 2.3201,
"predicted_WHIP": 0.9901
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5332,
"form_weight": 0.4668,
"form_reliability": 0.5665,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.534,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.258,
"final": 0.1204,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.739,
"final": 0.345,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.251,
"final": 0.1172,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.03,
"final": 1.014,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0327,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3201,
"final": 2.3201,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9901,
"final": 0.9901,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Fernando Cruz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4549 |
| ESPN Rank | 71 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.0769 |
| Season WHIP | 1.2115 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"opponent": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"edges": {
"quality_edge": 0.4526,
"offense_edge": 0.0727,
"opponent_offense_edge": -0.1579,
"defense_strength": 0.2297,
"opponent_defense_weakness": -0.1133,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0313,
"run_prevention": 0.9291,
"strikeout": 1.0262
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "518585",
"profile": {
"available": true,
"pitcher_id": "518585",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 31.9,
"bb_percent": 13.9,
"woba": 0.27,
"xwoba": 0.263,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 22.4,
"avg_best_speed": 74.4286,
"avg_hyper_speed": 92.3128,
"whiff_percent": 41.7,
"swing_percent": 43.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.2383,
"command_and_miss": 1.1439,
"regression_edge": 0.2,
"xwoba_edge": 1.4714,
"barrel_edge": 0.4111,
"hard_hit_edge": 2.2714,
"whiff_edge": 2.2643,
"bb_edge": -1.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "518585",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4549,
"sample_weight": 0.45,
"run_prevention_factor": 0.9613,
"strikeout_factor": 1.0644,
"walk_factor": 1.0432,
"homer_factor": 0.9244,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518585",
"espn_id": 34068,
"player_name": "Fernando Cruz",
"team": "NYY",
"role": "pitcher",
"espn_rank": 71,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 71,
"gp_value": 38.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.0769,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 13.0,
"hld_rank": 8,
"ip_value": 34.2,
"ip_rank": 218,
"h_value": 22.0,
"h_rank": 325,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 20.0,
"bb_rank": 130,
"k_value": 46.0,
"k_rank": 144,
"k_per_9_value": 11.942307,
"k_per_9_rank": 17,
"whip_value": 1.2115,
"whip_rank": null,
"war_value": 1.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0194,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.966,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.029,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 4,
"BB": 6,
"SO": 16,
"HR": 0,
"ERA": 1.7999999999999996,
"WHIP": 0.9999999999999998,
"K9": 14.399999999999997,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "518585",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.864,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5786,
"prior_weight": 0.4214
},
"role": "pitcher",
"player_id": "518585",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 4.0,
"SO": 7.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.8,
"SO": 1.4,
"HR": 0.0,
"BF": 3.8,
"Pitches": 17.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3846,
"ER_per_IP": 0.23077,
"H_per_IP": 0.46154,
"BB_per_IP": 0.92308,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 6.0,
"SO": 16.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.6,
"SO": 1.6,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.1
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.4,
"BB_per_IP": 0.6,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"season": {
"games": 38,
"totals": {
"IP": 34.2,
"ER": 8.0,
"R": 9.0,
"H": 22.0,
"BB": 20.0,
"SO": 46.0,
"HR": 2.0,
"BF": 144.0,
"Pitches": 579.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2105,
"R": 0.2368,
"H": 0.5789,
"BB": 0.5263,
"SO": 1.2105,
"HR": 0.0526,
"BF": 3.7895,
"Pitches": 15.2368
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.2115,
"ER_per_IP": 0.23077,
"H_per_IP": 0.63462,
"BB_per_IP": 0.57692,
"SO_per_IP": 1.32692,
"HR_per_IP": 0.05769
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.338,
"predicted_H": 0.683,
"predicted_BB": 0.58,
"predicted_SO": 1.297,
"predicted_HR": 0.068,
"predicted_ERA": 3.0405,
"predicted_WHIP": 1.2635
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.528,
"form_weight": 0.472,
"form_reliability": 0.5786,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.864,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5786,
"prior_weight": 0.4214
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.338,
"final": 0.1595,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.683,
"final": 0.8504,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.58,
"final": 0.2737,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.297,
"final": 0.6121,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.068,
"final": 0.0321,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0405,
"final": 3.0405,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2635,
"final": 1.2635,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brent Headrick |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1438 |
| ESPN Rank | 60 |
| 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 | 1 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 1.6579 |
| Season WHIP | 1.2368 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"opponent": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"edges": {
"quality_edge": 0.4526,
"offense_edge": 0.0727,
"opponent_offense_edge": -0.1579,
"defense_strength": 0.2297,
"opponent_defense_weakness": -0.1133,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0313,
"run_prevention": 0.9291,
"strikeout": 1.0262
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687396",
"profile": {
"available": true,
"pitcher_id": "687396",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 108.0,
"k_percent": 24.7,
"bb_percent": 9.5,
"woba": 0.281,
"xwoba": 0.289,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 37.5,
"avg_best_speed": 78.4673,
"avg_hyper_speed": 93.9228,
"whiff_percent": 30.7,
"swing_percent": 52.8
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4485,
"command_and_miss": 0.3511,
"regression_edge": -0.2286,
"xwoba_edge": 0.7286,
"barrel_edge": 0.5222,
"hard_hit_edge": 0.1143,
"whiff_edge": 0.6929,
"bb_edge": -0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687396",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1438,
"sample_weight": 0.45,
"run_prevention_factor": 0.9878,
"strikeout_factor": 1.0176,
"walk_factor": 1.0036,
"homer_factor": 0.9693,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687396",
"espn_id": 5116839,
"player_name": "Brent Headrick",
"team": "NYY",
"role": "pitcher",
"espn_rank": 60,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 60,
"gp_value": 39.0,
"gp_rank": 5,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.6578,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 8.0,
"hld_rank": 49,
"ip_value": 38.0,
"ip_rank": 188,
"h_value": 32.0,
"h_rank": 213,
"er_value": 7.0,
"er_rank": 450,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 15.0,
"bb_rank": 214,
"k_value": 39.0,
"k_rank": 180,
"k_per_9_value": 9.236842,
"k_per_9_rank": 25,
"whip_value": 1.2368,
"whip_rank": null,
"war_value": 1.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0016,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9862,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0079,
"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": 5,
"BB": 4,
"SO": 6,
"HR": 0,
"ERA": 0.9642857142857142,
"WHIP": 0.9642857142857142,
"K9": 5.785714285714286,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "687396",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.524,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6008,
"prior_weight": 0.3992
},
"role": "pitcher",
"player_id": "687396",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5625,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 4.0,
"SO": 6.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 138.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 3.5,
"Pitches": 13.8
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.9643,
"ER_per_IP": 0.10714,
"H_per_IP": 0.53571,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"season": {
"games": 39,
"totals": {
"IP": 38.0,
"ER": 7.0,
"R": 8.0,
"H": 32.0,
"BB": 15.0,
"SO": 39.0,
"HR": 2.0,
"BF": 158.0,
"Pitches": 598.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1795,
"R": 0.2051,
"H": 0.8205,
"BB": 0.3846,
"SO": 1.0,
"HR": 0.0513,
"BF": 4.0513,
"Pitches": 15.3333
},
"rates": {
"ERA": 1.6579,
"WHIP": 1.2368,
"ER_per_IP": 0.18421,
"H_per_IP": 0.84211,
"BB_per_IP": 0.39474,
"SO_per_IP": 1.02632,
"HR_per_IP": 0.05263
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.212,
"predicted_H": 0.609,
"predicted_BB": 0.288,
"predicted_SO": 0.684,
"predicted_HR": 0.056,
"predicted_ERA": 2.1971,
"predicted_WHIP": 1.0342
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5187,
"form_weight": 0.4813,
"form_reliability": 0.6008,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.524,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6008,
"prior_weight": 0.3992
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.212,
"final": 0.6207,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.609,
"final": 0.8118,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.288,
"final": 1.1759,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.684,
"final": 0.8479,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.056,
"final": 0.027,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1971,
"final": 2.1971,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0342,
"final": 1.0342,
"source": "form_only"
}
}
}{
"available": false,
"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.205 | 0.000 | 0.000 | Hitting_2B | 0.225 | 1.000 | -0.225 | -1.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_AB | 3.910 | 3.000 | 4.000 | Hitting_AB | 3.651 | 4.000 | -0.651 | -1.000 |
| predicted_AVG | 0.249 | 0.000 | 0.250 | Hitting_AVG | 0.273 | 0.250 | -0.273 | -0.250 |
| predicted_BB | 0.603 | 1.000 | 1.000 | Hitting_BB | 0.647 | 0.000 | 0.353 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 0.996 | 1.000 | -0.996 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_OBP | 0.355 | 0.250 | 0.400 | Hitting_OBP | 0.377 | 0.250 | -0.127 | 0.000 |
| predicted_R | 0.590 | 0.000 | 1.000 | Hitting_R | 0.632 | 0.000 | -0.632 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_SLG | 0.415 | 0.000 | 0.250 | Hitting_SLG | 0.488 | 0.500 | -0.488 | -0.500 |
| predicted_SO | 0.564 | 0.000 | 1.000 | Hitting_SO | 0.558 | 1.000 | -0.558 | -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.6030 -> 1.0000 (boost 0.3970, 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 | 4 | 3 | 1 | 2 | 2 | predicted_SO: 0.5640 -> 0.6228 (boost 0.0588, worse) | predicted_AB: 3.9100 -> 3.7656 (deboost -0.1444, worse) | Final model input calibrated with local 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.4186 -> 0.4249 (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 | 6 | 4 | 2 | 3 | 3 | predicted_RBI: 0.4967 -> 1.0000 (boost 0.5033, better) | predicted_2B: 0.2041 -> 0.0000 (deboost -0.2041, worse) | AB rounded to 4 (raw=3.91), rates preserved: AVG=0.252 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5739 -> 1.0000 (boost 0.4261, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3666 -> 0.4000 (boost 0.0334, better) | predicted_SLG: 0.4249 -> 0.2500 (deboost -0.1749, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4249 (boost 0.1749, better) | predicted_OBP: 0.4000 -> 0.3666 (deboost -0.0334, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "CF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.038,
"predicted_AB": 3.91,
"predicted_AVG": 0.249,
"predicted_BB": 0.603,
"predicted_H": 0.97,
"predicted_HR": 0.12,
"predicted_OBP": 0.355,
"predicted_R": 0.59,
"predicted_RBI": 0.49,
"predicted_SLG": 0.415,
"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.2041,
"predicted_3B": 0.0312,
"predicted_AB": 3.7656,
"predicted_AVG": 0.2566,
"predicted_BB": 0.6107,
"predicted_H": 0.9628,
"predicted_HBP": 0.003,
"predicted_HR": 0.1132,
"predicted_OBP": 0.3624,
"predicted_R": 0.547,
"predicted_RBI": 0.4734,
"predicted_SLG": 0.4186,
"predicted_SO": 0.6228
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.2041,
"delta": -0.0009,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0312,
"delta": -0.0068,
"percent_delta": -0.1789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 3.7656,
"delta": -0.1444,
"percent_delta": -0.0369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2566,
"delta": 0.0076,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.603,
"after": 0.6107,
"delta": 0.0077,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9628,
"delta": -0.0072,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1132,
"delta": -0.0068,
"percent_delta": -0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3624,
"delta": 0.0074,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.547,
"delta": -0.043,
"percent_delta": -0.0729,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4734,
"delta": -0.0166,
"percent_delta": -0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4186,
"delta": 0.0036,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 0.6228,
"delta": 0.0588,
"percent_delta": 0.1043,
"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.564,
"after": 0.6228,
"delta": 0.0588,
"percent_delta": 0.1043,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.91,
"after": 3.7656,
"delta": -0.1444,
"percent_delta": -0.0369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2041,
"predicted_3B": 0.0312,
"predicted_AB": 3.7656,
"predicted_AVG": 0.2622,
"predicted_BB": 0.6208,
"predicted_H": 0.9872,
"predicted_HBP": 0.003,
"predicted_HR": 0.1155,
"predicted_OBP": 0.3666,
"predicted_R": 0.5739,
"predicted_RBI": 0.4967,
"predicted_SLG": 0.4249,
"predicted_SO": 0.6125
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2041,
"after": 0.2041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0312,
"after": 0.0312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7656,
"after": 3.7656,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2566,
"after": 0.2622,
"delta": 0.0056,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6107,
"after": 0.6208,
"delta": 0.0101,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9628,
"after": 0.9872,
"delta": 0.0244,
"percent_delta": 0.0253,
"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.1132,
"after": 0.1155,
"delta": 0.0023,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3624,
"after": 0.3666,
"delta": 0.0042,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.547,
"after": 0.5739,
"delta": 0.0269,
"percent_delta": 0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4734,
"after": 0.4967,
"delta": 0.0233,
"percent_delta": 0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4186,
"after": 0.4249,
"delta": 0.0063,
"percent_delta": 0.0151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6228,
"after": 0.6125,
"delta": -0.0103,
"percent_delta": -0.0165,
"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.4186,
"after": 0.4249,
"delta": 0.0063,
"percent_delta": 0.0151,
"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.91), rates preserved: AVG=0.252 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.2041,
"after": 0.0,
"delta": -0.2041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0312,
"after": 0.0,
"delta": -0.0312,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7656,
"after": 4.0,
"delta": 0.2344,
"percent_delta": 0.0622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6208,
"after": 1.0,
"delta": 0.3792,
"percent_delta": 0.6108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9872,
"after": 1.0,
"delta": 0.0128,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1155,
"after": 0.0,
"delta": -0.1155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4967,
"after": 1.0,
"delta": 0.5033,
"percent_delta": 1.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6125,
"after": 1.0,
"delta": 0.3875,
"percent_delta": 0.6327,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4967,
"after": 1.0,
"delta": 0.5033,
"percent_delta": 1.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2041,
"after": 0.0,
"delta": -0.2041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5739,
"after": 1.0,
"delta": 0.4261,
"percent_delta": 0.7425,
"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.5739,
"after": 1.0,
"delta": 0.4261,
"percent_delta": 0.7425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2622,
"after": 0.25,
"delta": -0.0122,
"percent_delta": -0.0465,
"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.3666,
"after": 0.4,
"delta": 0.0334,
"percent_delta": 0.0911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4249,
"after": 0.25,
"delta": -0.1749,
"percent_delta": -0.4116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3666,
"after": 0.4,
"delta": 0.0334,
"percent_delta": 0.0911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4249,
"after": 0.25,
"delta": -0.1749,
"percent_delta": -0.4116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2622,
"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.3666,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4249,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2622,
"delta": 0.0122,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3666,
"delta": -0.0334,
"percent_delta": -0.0836,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4249,
"delta": 0.1749,
"percent_delta": 0.6997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4249,
"delta": 0.1749,
"percent_delta": 0.6997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3666,
"delta": -0.0334,
"percent_delta": -0.0836,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 3.0,
"delta": -0.91,
"percent_delta": -0.2327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2622,
"delta": 0.0132,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3666,
"delta": 0.0116,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"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.415,
"after": 0.4249,
"delta": 0.0099,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 0.0,
"delta": -0.564,
"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.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"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.205 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 3.910 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.603 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.590 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.415 | - |
| 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.204 | -0.001 |
| predicted_3B | 0.031 | -0.007 |
| predicted_AB | 3.766 | -0.144 |
| predicted_AVG | 0.257 | 0.008 |
| predicted_BB | 0.611 | 0.008 |
| predicted_H | 0.963 | -0.007 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.113 | -0.007 |
| predicted_OBP | 0.362 | 0.007 |
| predicted_R | 0.547 | -0.043 |
| predicted_RBI | 0.473 | -0.017 |
| predicted_SLG | 0.419 | 0.004 |
| predicted_SO | 0.623 | 0.059 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 3.766 | 0.000 |
| predicted_AVG | 0.262 | 0.006 |
| predicted_BB | 0.621 | 0.010 |
| predicted_H | 0.987 | 0.024 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.116 | 0.002 |
| predicted_OBP | 0.367 | 0.004 |
| predicted_R | 0.574 | 0.027 |
| predicted_RBI | 0.497 | 0.023 |
| predicted_SLG | 0.425 | 0.006 |
| predicted_SO | 0.613 | -0.010 |
AB rounded to 4 (raw=3.91), rates preserved: AVG=0.252 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 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.204 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 4.000 | 0.234 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 1.000 | 0.379 |
| predicted_H | 1.000 | 0.013 |
| predicted_HR | 0.000 | -0.116 |
| predicted_OBP | 0.400 | 0.033 |
| predicted_R | 1.000 | 0.426 |
| predicted_RBI | 1.000 | 0.503 |
| predicted_SLG | 0.250 | -0.175 |
| predicted_SO | 1.000 | 0.387 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 0.2500 | 0.4000 | 0.3125 | 0.2500 | 0.0000 | 0.0000 | 0.2500 | 0.3125 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 1.000 | 4.000 | 5.000 | 6.000 | 7.000 | 0.2778 | 0.3810 | 0.4167 | 0.2778 | 0.0278 | 0.1111 | 0.1667 | 0.1944 |
| season | 0.60 | 78 | - | 284.000 | 77.000 | 16.000 | 3.000 | 11.000 | 49.000 | 46.000 | 47.000 | 44.000 | 0.2711 | 0.3690 | 0.4648 | 0.2711 | 0.0387 | 0.1725 | 0.1655 | 0.1549 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2030 |
| predicted_3B | 0.0220 |
| predicted_AB | 3.5710 |
| predicted_AVG | 0.2668 |
| predicted_BB | 0.6210 |
| predicted_H | 0.9530 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1040 |
| predicted_OBP | 0.3723 |
| predicted_R | 0.4890 |
| predicted_RBI | 0.4510 |
| predicted_SLG | 0.4235 |
| predicted_SO | 0.7020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.2030 | 0.2041 | model_form_blend |
| predicted_3B | 0.0380 | 0.0220 | 0.0312 | model_form_blend |
| predicted_AB | 3.9100 | 3.5710 | 3.7656 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2668 | 0.2566 | model_form_blend |
| predicted_BB | 0.6030 | 0.6210 | 0.6107 | model_form_blend |
| predicted_H | 0.9700 | 0.9530 | 0.9628 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1200 | 0.1040 | 0.1132 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3723 | 0.3624 | model_form_blend |
| predicted_R | 0.5900 | 0.4890 | 0.5470 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4510 | 0.4734 | model_form_blend |
| predicted_SLG | 0.4150 | 0.4235 | 0.4186 | model_form_blend |
| predicted_SO | 0.5640 | 0.7020 | 0.6228 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260624_NYY@DET |
| game_type | full |
| mlbID | 641355 |
| playerID | 641355 |
| playerName | Cody Bellinger |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.364 |
| sl_xwoba | 0.369 |
| sl_xba | 0.287 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 36.9 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 18.9 |
| 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.154 | 0.000 | 0.000 | Hitting_2B | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 4.030 | 4.000 | 4.000 | Hitting_AB | 3.709 | 4.000 | 0.291 | 0.000 |
| predicted_AVG | 0.262 | 0.750 | 0.250 | Hitting_AVG | 0.292 | 0.500 | 0.458 | 0.250 |
| predicted_BB | 0.269 | 1.000 | 0.000 | Hitting_BB | 0.373 | 0.000 | 0.627 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.050 | 3.000 | 1.000 | Hitting_H | 1.082 | 2.000 | 1.918 | 1.000 |
| predicted_HR | 0.280 | 1.000 | 0.000 | Hitting_HR | 0.239 | 2.000 | 0.761 | -1.000 |
| predicted_OBP | 0.332 | 0.800 | 0.250 | Hitting_OBP | 0.366 | 0.500 | 0.434 | 0.300 |
| predicted_R | 0.558 | 1.000 | 1.000 | Hitting_R | 0.649 | 2.000 | 0.351 | -1.000 |
| predicted_RBI | 0.650 | 3.000 | 1.000 | Hitting_RBI | 0.642 | 2.000 | 2.358 | 1.000 |
| predicted_SLG | 0.538 | 1.500 | 0.250 | Hitting_SLG | 0.563 | 2.000 | 0.937 | -0.500 |
| predicted_SO | 0.827 | 0.000 | 1.000 | Hitting_SO | 0.806 | 2.000 | -0.806 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.6500 -> 3.0000 (boost 2.3500, better) |
| Biggest Deboost | predicted_SO: 0.8270 -> 0.0000 (deboost -0.8270, 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_SO: 0.8270 -> 0.8820 (boost 0.0550, worse) | predicted_AB: 4.0300 -> 3.9221 (deboost -0.1079, worse) | Final model input calibrated with local 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.2799 -> 0.2853 (boost 0.0054, better) | predicted_OBP: 0.3356 -> 0.3259 (deboost -0.0097, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.7045 -> 1.0000 (boost 0.2955, better) | predicted_HR: 0.3155 -> 0.0000 (deboost -0.3155, worse) | AB rounded to 4 (raw=4.03), rates preserved: AVG=0.278 HR/AB=0.078 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6050 -> 1.0000 (boost 0.3950, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5690 -> 0.2500 (deboost -0.3190, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5690 (boost 0.3190, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "502671",
"player_name": "Paul Goldschmidt",
"position": "DH",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.019,
"predicted_AB": 4.03,
"predicted_AVG": 0.262,
"predicted_BB": 0.269,
"predicted_H": 1.05,
"predicted_HR": 0.28,
"predicted_OBP": 0.332,
"predicted_R": 0.558,
"predicted_RBI": 0.65,
"predicted_SLG": 0.538,
"predicted_SO": 0.827
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1342,
"predicted_3B": 0.0161,
"predicted_AB": 3.9221,
"predicted_AVG": 0.2799,
"predicted_BB": 0.2322,
"predicted_H": 1.0913,
"predicted_HBP": 0.025,
"predicted_HR": 0.3093,
"predicted_OBP": 0.3356,
"predicted_R": 0.5766,
"predicted_RBI": 0.6715,
"predicted_SLG": 0.5714,
"predicted_SO": 0.882
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.1342,
"delta": -0.0198,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0161,
"delta": -0.0029,
"percent_delta": -0.1526,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9221,
"delta": -0.1079,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2799,
"delta": 0.0179,
"percent_delta": 0.0683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 0.2322,
"delta": -0.0368,
"percent_delta": -0.1368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0913,
"delta": 0.0413,
"percent_delta": 0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.3093,
"delta": 0.0293,
"percent_delta": 0.1046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3356,
"delta": 0.0036,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 0.5766,
"delta": 0.0186,
"percent_delta": 0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.6715,
"delta": 0.0215,
"percent_delta": 0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.538,
"after": 0.5714,
"delta": 0.0334,
"percent_delta": 0.0621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.827,
"after": 0.882,
"delta": 0.055,
"percent_delta": 0.0665,
"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.827,
"after": 0.882,
"delta": 0.055,
"percent_delta": 0.0665,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9221,
"delta": -0.1079,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1342,
"predicted_3B": 0.0161,
"predicted_AB": 3.9221,
"predicted_AVG": 0.2853,
"predicted_BB": 0.236,
"predicted_H": 1.1189,
"predicted_HBP": 0.025,
"predicted_HR": 0.3155,
"predicted_OBP": 0.3259,
"predicted_R": 0.605,
"predicted_RBI": 0.7045,
"predicted_SLG": 0.569,
"predicted_SO": 0.8674
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1342,
"after": 0.1342,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0161,
"after": 0.0161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9221,
"after": 3.9221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2799,
"after": 0.2853,
"delta": 0.0054,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2322,
"after": 0.236,
"delta": 0.0038,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0913,
"after": 1.1189,
"delta": 0.0276,
"percent_delta": 0.0253,
"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.3093,
"after": 0.3155,
"delta": 0.0062,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3356,
"after": 0.3259,
"delta": -0.0097,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5766,
"after": 0.605,
"delta": 0.0284,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6715,
"after": 0.7045,
"delta": 0.033,
"percent_delta": 0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5714,
"after": 0.569,
"delta": -0.0024,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 0.8674,
"delta": -0.0146,
"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_AVG",
"before": 0.2799,
"after": 0.2853,
"delta": 0.0054,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3356,
"after": 0.3259,
"delta": -0.0097,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.03), rates preserved: AVG=0.278 HR/AB=0.078",
"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.1342,
"after": 0.0,
"delta": -0.1342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0161,
"after": 0.0,
"delta": -0.0161,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9221,
"after": 4.0,
"delta": 0.0779,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.236,
"after": 0.0,
"delta": -0.236,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1189,
"after": 1.0,
"delta": -0.1189,
"percent_delta": -0.1063,
"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.3155,
"after": 0.0,
"delta": -0.3155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7045,
"after": 1.0,
"delta": 0.2955,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8674,
"after": 1.0,
"delta": 0.1326,
"percent_delta": 0.1529,
"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.7045,
"after": 1.0,
"delta": 0.2955,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3155,
"after": 0.0,
"delta": -0.3155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.605,
"after": 1.0,
"delta": 0.395,
"percent_delta": 0.6529,
"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.605,
"after": 1.0,
"delta": 0.395,
"percent_delta": 0.6529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2853,
"after": 0.25,
"delta": -0.0353,
"percent_delta": -0.1237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3259,
"after": 0.25,
"delta": -0.0759,
"percent_delta": -0.2329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.569,
"after": 0.25,
"delta": -0.319,
"percent_delta": -0.5606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.569,
"after": 0.25,
"delta": -0.319,
"percent_delta": -0.5606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2853,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3259,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.569,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2853,
"delta": 0.0353,
"percent_delta": 0.1411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3259,
"delta": 0.0759,
"percent_delta": 0.3034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.569,
"delta": 0.319,
"percent_delta": 1.2761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.569,
"delta": 0.319,
"percent_delta": 1.2761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 4.0,
"delta": -0.03,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2853,
"delta": 0.0233,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 1.0,
"delta": 0.731,
"percent_delta": 2.7175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 3.0,
"delta": 1.95,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"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.332,
"after": 0.3259,
"delta": -0.0061,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 1.0,
"delta": 0.442,
"percent_delta": 0.7921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 3.0,
"delta": 2.35,
"percent_delta": 3.6154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.538,
"after": 0.569,
"delta": 0.031,
"percent_delta": 0.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.827,
"after": 0.0,
"delta": -0.827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.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.827,
"after": 0.0,
"delta": -0.827,
"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.154 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.269 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.280 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.558 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.538 | - |
| predicted_SO | 0.827 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.020 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 3.922 | -0.108 |
| predicted_AVG | 0.280 | 0.018 |
| predicted_BB | 0.232 | -0.037 |
| predicted_H | 1.091 | 0.041 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.309 | 0.029 |
| predicted_OBP | 0.336 | 0.004 |
| predicted_R | 0.577 | 0.019 |
| predicted_RBI | 0.671 | 0.021 |
| predicted_SLG | 0.571 | 0.033 |
| predicted_SO | 0.882 | 0.055 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 3.922 | 0.000 |
| predicted_AVG | 0.285 | 0.005 |
| predicted_BB | 0.236 | 0.004 |
| predicted_H | 1.119 | 0.028 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.316 | 0.006 |
| predicted_OBP | 0.326 | -0.010 |
| predicted_R | 0.605 | 0.028 |
| predicted_RBI | 0.705 | 0.033 |
| predicted_SLG | 0.569 | -0.002 |
| predicted_SO | 0.867 | -0.015 |
AB rounded to 4 (raw=4.03), rates preserved: AVG=0.278 HR/AB=0.078
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.134 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | 0.078 |
| predicted_AVG | 0.250 | -0.035 |
| predicted_BB | 0.000 | -0.236 |
| predicted_H | 1.000 | -0.119 |
| predicted_HR | 0.000 | -0.316 |
| predicted_OBP | 0.250 | -0.076 |
| predicted_R | 1.000 | 0.395 |
| predicted_RBI | 1.000 | 0.295 |
| predicted_SLG | 0.250 | -0.319 |
| predicted_SO | 1.000 | 0.133 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 0.000 | 6.000 | 0.3333 | 0.3333 | 0.8333 | 0.3333 | 0.1667 | 0.1667 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 41.000 | 14.000 | 0.000 | 0.000 | 5.000 | 8.000 | 6.000 | 0.000 | 12.000 | 0.3415 | 0.3415 | 0.7073 | 0.3415 | 0.1220 | 0.1951 | 0.0000 | 0.2927 |
| season | 0.60 | 52 | - | 192.000 | 57.000 | 8.000 | 1.000 | 14.000 | 39.000 | 29.000 | 14.000 | 43.000 | 0.2969 | 0.3493 | 0.5677 | 0.2969 | 0.0729 | 0.2031 | 0.0729 | 0.2240 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7690 |
| predicted_AVG | 0.3052 |
| predicted_BB | 0.1800 |
| predicted_H | 1.1500 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.3510 |
| predicted_OBP | 0.3406 |
| predicted_R | 0.6030 |
| predicted_RBI | 0.7020 |
| predicted_SLG | 0.6188 |
| predicted_SO | 0.9600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1060 | 0.1342 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0161 | model_form_blend |
| predicted_AB | 4.0300 | 3.7690 | 3.9221 | model_form_blend |
| predicted_AVG | 0.2620 | 0.3052 | 0.2799 | model_form_blend |
| predicted_BB | 0.2690 | 0.1800 | 0.2322 | model_form_blend |
| predicted_H | 1.0500 | 1.1500 | 1.0913 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.2800 | 0.3510 | 0.3093 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3406 | 0.3356 | model_form_blend |
| predicted_R | 0.5580 | 0.6030 | 0.5766 | model_form_blend |
| predicted_RBI | 0.6500 | 0.7020 | 0.6715 | model_form_blend |
| predicted_SLG | 0.5380 | 0.6188 | 0.5714 | model_form_blend |
| predicted_SO | 0.8270 | 0.9600 | 0.8820 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 134 |
| Season rows before report date | 134 |
| 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 | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.297 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | 1B |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 502671 |
| playerID | 502671 |
| playerName | Paul Goldschmidt |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.395 |
| sl_xwoba | 0.344 |
| sl_xba | 0.259 |
| sl_xslg | 0.476 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 24.5 |
| 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.103 | 0.000 | 0.000 | Hitting_2B | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 3.020 | 5.000 | 3.000 | Hitting_AB | 3.275 | 5.000 | 1.725 | 0.000 |
| predicted_AVG | 0.245 | 0.200 | 0.333 | Hitting_AVG | 0.286 | 0.200 | -0.086 | 0.000 |
| predicted_BB | 0.179 | 0.000 | 0.000 | Hitting_BB | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 0.936 | 1.000 | 0.064 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.257 | 1.000 | -0.257 | -1.000 |
| predicted_OBP | 0.282 | 0.200 | 0.333 | Hitting_OBP | 0.330 | 0.200 | -0.130 | 0.000 |
| predicted_R | 0.410 | 1.000 | 0.000 | Hitting_R | 0.560 | 1.000 | 0.440 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.725 | 2.000 | -0.725 | -2.000 |
| predicted_SLG | 0.420 | 0.200 | 0.333 | Hitting_SLG | 0.571 | 0.800 | -0.371 | -0.600 |
| predicted_SO | 0.692 | 1.000 | 1.000 | Hitting_SO | 0.716 | 2.000 | 0.284 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.0200 -> 5.0000 (boost 1.9800, better) |
| Biggest Deboost | predicted_RBI: 0.4400 -> 0.0000 (deboost -0.4400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.0200 -> 3.0838 (boost 0.0638, better) | predicted_AVG: 0.2450 -> 0.2377 (deboost -0.0073, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4246 -> 0.4431 (boost 0.0185, 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.6949 -> 1.0000 (boost 0.3051, worse) | predicted_RBI: 0.4687 -> 0.0000 (deboost -0.4687, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.244 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4293 -> 0.0000 (deboost -0.4293, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2435 -> 0.3330 (boost 0.0895, better) | predicted_SLG: 0.4431 -> 0.3330 (deboost -0.1101, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4431 (boost 0.1101, better) | predicted_AVG: 0.3330 -> 0.2435 (deboost -0.0895, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642708",
"player_name": "Amed Rosario",
"position": "3B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.103,
"predicted_3B": 0.026,
"predicted_AB": 3.02,
"predicted_AVG": 0.245,
"predicted_BB": 0.179,
"predicted_H": 0.74,
"predicted_HR": 0.14,
"predicted_OBP": 0.282,
"predicted_R": 0.41,
"predicted_RBI": 0.44,
"predicted_SLG": 0.42,
"predicted_SO": 0.692
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1148,
"predicted_3B": 0.0221,
"predicted_AB": 3.0838,
"predicted_AVG": 0.2377,
"predicted_BB": 0.1829,
"predicted_H": 0.7325,
"predicted_HBP": 0.006,
"predicted_HR": 0.1491,
"predicted_OBP": 0.2769,
"predicted_R": 0.4092,
"predicted_RBI": 0.4467,
"predicted_SLG": 0.4246,
"predicted_SO": 0.7066
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.1148,
"delta": 0.0118,
"percent_delta": 0.1146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0221,
"delta": -0.0039,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.02,
"after": 3.0838,
"delta": 0.0638,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2377,
"delta": -0.0073,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.1829,
"delta": 0.0039,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7325,
"delta": -0.0075,
"percent_delta": -0.0101,
"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.282,
"after": 0.2769,
"delta": -0.0051,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.4092,
"delta": -0.0008,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4467,
"delta": 0.0067,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4246,
"delta": 0.0046,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.692,
"after": 0.7066,
"delta": 0.0146,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_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.02,
"after": 3.0838,
"delta": 0.0638,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2377,
"delta": -0.0073,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 39
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1148,
"predicted_3B": 0.0221,
"predicted_AB": 3.0838,
"predicted_AVG": 0.2435,
"predicted_BB": 0.1859,
"predicted_H": 0.751,
"predicted_HBP": 0.006,
"predicted_HR": 0.1521,
"predicted_OBP": 0.2866,
"predicted_R": 0.4293,
"predicted_RBI": 0.4687,
"predicted_SLG": 0.4431,
"predicted_SO": 0.6949
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1148,
"after": 0.1148,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0221,
"after": 0.0221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0838,
"after": 3.0838,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2377,
"after": 0.2435,
"delta": 0.0058,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1829,
"after": 0.1859,
"delta": 0.003,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7325,
"after": 0.751,
"delta": 0.0185,
"percent_delta": 0.0253,
"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.1491,
"after": 0.1521,
"delta": 0.003,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2769,
"after": 0.2866,
"delta": 0.0097,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4092,
"after": 0.4293,
"delta": 0.0201,
"percent_delta": 0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4467,
"after": 0.4687,
"delta": 0.022,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4246,
"after": 0.4431,
"delta": 0.0185,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7066,
"after": 0.6949,
"delta": -0.0117,
"percent_delta": -0.0166,
"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.4246,
"after": 0.4431,
"delta": 0.0185,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.08), rates preserved: AVG=0.244 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1148,
"after": 0.0,
"delta": -0.1148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0221,
"after": 0.0,
"delta": -0.0221,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0838,
"after": 3.0,
"delta": -0.0838,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1859,
"after": 0.0,
"delta": -0.1859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.751,
"after": 1.0,
"delta": 0.249,
"percent_delta": 0.3316,
"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.1521,
"after": 0.0,
"delta": -0.1521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4687,
"after": 0.0,
"delta": -0.4687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6949,
"after": 1.0,
"delta": 0.3051,
"percent_delta": 0.4391,
"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.6949,
"after": 1.0,
"delta": 0.3051,
"percent_delta": 0.4391,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4687,
"after": 0.0,
"delta": -0.4687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4293,
"after": 0.0,
"delta": -0.4293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4293,
"after": 0.0,
"delta": -0.4293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2435,
"after": 0.333,
"delta": 0.0895,
"percent_delta": 0.3676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0464,
"percent_delta": 0.1619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4431,
"after": 0.333,
"delta": -0.1101,
"percent_delta": -0.2485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2435,
"after": 0.333,
"delta": 0.0895,
"percent_delta": 0.3676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4431,
"after": 0.333,
"delta": -0.1101,
"percent_delta": -0.2485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2435,
"predicted_BB": 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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4431,
"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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2435,
"delta": -0.0895,
"percent_delta": -0.2686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2866,
"delta": -0.0464,
"percent_delta": -0.1395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4431,
"delta": 0.1101,
"percent_delta": 0.3305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4431,
"delta": 0.1101,
"percent_delta": 0.3305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2435,
"delta": -0.0895,
"percent_delta": -0.2686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.02,
"after": 5.0,
"delta": 1.98,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2435,
"delta": -0.0015,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"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.282,
"after": 0.2866,
"delta": 0.0046,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"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.42,
"after": 0.4431,
"delta": 0.0231,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.02,
"after": 5.0,
"delta": 1.98,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.103 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.020 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.179 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.410 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.692 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.115 | 0.012 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.084 | 0.064 |
| predicted_AVG | 0.238 | -0.007 |
| predicted_BB | 0.183 | 0.004 |
| predicted_H | 0.733 | -0.007 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.149 | 0.009 |
| predicted_OBP | 0.277 | -0.005 |
| predicted_R | 0.409 | -0.001 |
| predicted_RBI | 0.447 | 0.007 |
| predicted_SLG | 0.425 | 0.005 |
| predicted_SO | 0.707 | 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.115 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.084 | 0.000 |
| predicted_AVG | 0.243 | 0.006 |
| predicted_BB | 0.186 | 0.003 |
| predicted_H | 0.751 | 0.018 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.152 | 0.003 |
| predicted_OBP | 0.287 | 0.010 |
| predicted_R | 0.429 | 0.020 |
| predicted_RBI | 0.469 | 0.022 |
| predicted_SLG | 0.443 | 0.019 |
| predicted_SO | 0.695 | -0.012 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.244 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.115 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | -0.084 |
| predicted_AVG | 0.333 | 0.090 |
| predicted_BB | 0.000 | -0.186 |
| predicted_H | 1.000 | 0.249 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.333 | 0.046 |
| predicted_R | 0.000 | -0.429 |
| predicted_RBI | 0.000 | -0.469 |
| predicted_SLG | 0.333 | -0.110 |
| predicted_SO | 1.000 | 0.305 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 3.000 | 0.1875 | 0.2353 | 0.4375 | 0.1875 | 0.0625 | 0.1250 | 0.0625 | 0.1875 |
| last_10 | 0.20 | 10 | - | 29.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 8.000 | 0.1724 | 0.2000 | 0.3103 | 0.1724 | 0.0345 | 0.0690 | 0.0345 | 0.2759 |
| season | 0.60 | 39 | - | 117.000 | 29.000 | 4.000 | 1.000 | 7.000 | 21.000 | 16.000 | 7.000 | 27.000 | 0.2479 | 0.2857 | 0.4786 | 0.2479 | 0.0598 | 0.1795 | 0.0598 | 0.2308 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1330 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.1820 |
| predicted_AVG | 0.2265 |
| predicted_BB | 0.1890 |
| predicted_H | 0.7210 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1630 |
| predicted_OBP | 0.2690 |
| predicted_R | 0.4080 |
| predicted_RBI | 0.4570 |
| predicted_SLG | 0.4316 |
| predicted_SO | 0.7290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.1330 | 0.1148 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0221 | model_form_blend |
| predicted_AB | 3.0200 | 3.1820 | 3.0838 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2265 | 0.2377 | model_form_blend |
| predicted_BB | 0.1790 | 0.1890 | 0.1829 | model_form_blend |
| predicted_H | 0.7400 | 0.7210 | 0.7325 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1400 | 0.1630 | 0.1491 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2690 | 0.2769 | model_form_blend |
| predicted_R | 0.4100 | 0.4080 | 0.4092 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4570 | 0.4467 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4316 | 0.4246 | model_form_blend |
| predicted_SO | 0.6920 | 0.7290 | 0.7066 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 109 |
| Season rows before report date | 109 |
| Report year | 2026 |
| Profile rows used | 39 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.248 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | 3B |
| gameID | 20260622_NYY@DET |
| game_type | full |
| mlbID | 642708 |
| playerID | 642708 |
| playerName | Amed Rosario |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-22 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.326 |
| sl_xwoba | 0.329 |
| sl_xba | 0.253 |
| sl_xslg | 0.467 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 38.7 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 56.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.205 | 0.000 | 0.000 | Hitting_2B | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 4.150 | 5.000 | 4.000 | Hitting_AB | 3.785 | 4.000 | 1.215 | 1.000 |
| predicted_AVG | 0.243 | 0.400 | 0.250 | Hitting_AVG | 0.295 | 0.500 | 0.105 | -0.100 |
| predicted_BB | 0.548 | 0.000 | 0.000 | Hitting_BB | 0.603 | 0.000 | -0.603 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 2.000 | 1.000 | Hitting_H | 1.118 | 2.000 | 0.882 | 0.000 |
| predicted_HR | 0.240 | 1.000 | 0.000 | Hitting_HR | 0.316 | 0.000 | 0.684 | 1.000 |
| predicted_OBP | 0.330 | 0.400 | 0.250 | Hitting_OBP | 0.396 | 0.500 | 0.004 | -0.100 |
| predicted_R | 0.767 | 1.000 | 1.000 | Hitting_R | 0.835 | 1.000 | 0.165 | 0.000 |
| predicted_RBI | 0.600 | 1.000 | 1.000 | Hitting_RBI | 0.768 | 0.000 | 0.232 | 1.000 |
| predicted_SLG | 0.480 | 1.000 | 0.250 | Hitting_SLG | 0.621 | 0.500 | 0.379 | 0.500 |
| predicted_SO | 1.041 | 2.000 | 1.000 | Hitting_SO | 1.025 | 1.000 | 0.975 | 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_H: 1.0100 -> 2.0000 (boost 0.9900, 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 | 4 | 3 | 1 | 2 | 2 | predicted_SO: 1.0410 -> 1.0945 (boost 0.0535, worse) | predicted_AB: 4.1500 -> 4.0612 (deboost -0.0888, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4979 -> 0.5072 (boost 0.0093, better) | - | 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.6398 -> 1.0000 (boost 0.3602, better) | predicted_BB: 0.5113 -> 0.0000 (deboost -0.5113, worse) | AB rounded to 4 (raw=4.15), rates preserved: AVG=0.252 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7544 -> 1.0000 (boost 0.2456, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5072 -> 0.2500 (deboost -0.2572, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5072 (boost 0.2572, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "700250",
"player_name": "Ben Rice",
"position": "1B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.027,
"predicted_AB": 4.15,
"predicted_AVG": 0.243,
"predicted_BB": 0.548,
"predicted_H": 1.01,
"predicted_HR": 0.24,
"predicted_OBP": 0.33,
"predicted_R": 0.767,
"predicted_RBI": 0.6,
"predicted_SLG": 0.48,
"predicted_SO": 1.041
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1748,
"predicted_3B": 0.0228,
"predicted_AB": 4.0612,
"predicted_AVG": 0.2507,
"predicted_BB": 0.503,
"predicted_H": 1.0181,
"predicted_HBP": 0.019,
"predicted_HR": 0.26,
"predicted_OBP": 0.3326,
"predicted_R": 0.719,
"predicted_RBI": 0.6098,
"predicted_SLG": 0.4979,
"predicted_SO": 1.0945
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.1748,
"delta": -0.0302,
"percent_delta": -0.1473,
"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": 4.15,
"after": 4.0612,
"delta": -0.0888,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2507,
"delta": 0.0077,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.503,
"delta": -0.045,
"percent_delta": -0.0821,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0181,
"delta": 0.0081,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.26,
"delta": 0.02,
"percent_delta": 0.0833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3326,
"delta": 0.0026,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.767,
"after": 0.719,
"delta": -0.048,
"percent_delta": -0.0626,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.6098,
"delta": 0.0098,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4979,
"delta": 0.0179,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.041,
"after": 1.0945,
"delta": 0.0535,
"percent_delta": 0.0514,
"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.041,
"after": 1.0945,
"delta": 0.0535,
"percent_delta": 0.0514,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0612,
"delta": -0.0888,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1748,
"predicted_3B": 0.0228,
"predicted_AB": 4.0612,
"predicted_AVG": 0.257,
"predicted_BB": 0.5113,
"predicted_H": 1.0439,
"predicted_HBP": 0.019,
"predicted_HR": 0.2652,
"predicted_OBP": 0.3401,
"predicted_R": 0.7544,
"predicted_RBI": 0.6398,
"predicted_SLG": 0.5072,
"predicted_SO": 1.0764
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1748,
"after": 0.1748,
"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": 4.0612,
"after": 4.0612,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.257,
"delta": 0.0063,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.503,
"after": 0.5113,
"delta": 0.0083,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0181,
"after": 1.0439,
"delta": 0.0258,
"percent_delta": 0.0253,
"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.26,
"after": 0.2652,
"delta": 0.0052,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3326,
"after": 0.3401,
"delta": 0.0075,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.719,
"after": 0.7544,
"delta": 0.0354,
"percent_delta": 0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6098,
"after": 0.6398,
"delta": 0.03,
"percent_delta": 0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4979,
"after": 0.5072,
"delta": 0.0093,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0945,
"after": 1.0764,
"delta": -0.0181,
"percent_delta": -0.0165,
"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.4979,
"after": 0.5072,
"delta": 0.0093,
"percent_delta": 0.0187,
"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.15), rates preserved: AVG=0.252 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.1748,
"after": 0.0,
"delta": -0.1748,
"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": 4.0612,
"after": 4.0,
"delta": -0.0612,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5113,
"after": 0.0,
"delta": -0.5113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0439,
"after": 1.0,
"delta": -0.0439,
"percent_delta": -0.0421,
"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.2652,
"after": 0.0,
"delta": -0.2652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6398,
"after": 1.0,
"delta": 0.3602,
"percent_delta": 0.563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0764,
"after": 1.0,
"delta": -0.0764,
"percent_delta": -0.071,
"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.6398,
"after": 1.0,
"delta": 0.3602,
"percent_delta": 0.563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5113,
"after": 0.0,
"delta": -0.5113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.7544,
"after": 1.0,
"delta": 0.2456,
"percent_delta": 0.3256,
"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.7544,
"after": 1.0,
"delta": 0.2456,
"percent_delta": 0.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.25,
"delta": -0.007,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3401,
"after": 0.25,
"delta": -0.0901,
"percent_delta": -0.2649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5072,
"after": 0.25,
"delta": -0.2572,
"percent_delta": -0.5071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5072,
"after": 0.25,
"delta": -0.2572,
"percent_delta": -0.5071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 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": 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": 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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.257,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3401,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5072,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.257,
"delta": 0.007,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3401,
"delta": 0.0901,
"percent_delta": 0.3604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5072,
"delta": 0.2572,
"percent_delta": 1.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5072,
"delta": 0.2572,
"percent_delta": 1.0288,
"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.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 5.0,
"delta": 0.85,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.257,
"delta": 0.014,
"percent_delta": 0.0576,
"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": 1.01,
"after": 2.0,
"delta": 0.99,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3401,
"delta": 0.0101,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.767,
"after": 1.0,
"delta": 0.233,
"percent_delta": 0.3038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.5072,
"delta": 0.0272,
"percent_delta": 0.0567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.041,
"after": 2.0,
"delta": 0.959,
"percent_delta": 0.9212,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.01,
"after": 2.0,
"delta": 0.99,
"percent_delta": 0.9802,
"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.205 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.548 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.767 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.480 | - |
| predicted_SO | 1.041 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | -0.030 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 4.061 | -0.089 |
| predicted_AVG | 0.251 | 0.008 |
| predicted_BB | 0.503 | -0.045 |
| predicted_H | 1.018 | 0.008 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.260 | 0.020 |
| predicted_OBP | 0.333 | 0.003 |
| predicted_R | 0.719 | -0.048 |
| predicted_RBI | 0.610 | 0.010 |
| predicted_SLG | 0.498 | 0.018 |
| predicted_SO | 1.095 | 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.175 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 4.061 | 0.000 |
| predicted_AVG | 0.257 | 0.006 |
| predicted_BB | 0.511 | 0.008 |
| predicted_H | 1.044 | 0.026 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.265 | 0.005 |
| predicted_OBP | 0.340 | 0.008 |
| predicted_R | 0.754 | 0.035 |
| predicted_RBI | 0.640 | 0.030 |
| predicted_SLG | 0.507 | 0.009 |
| predicted_SO | 1.076 | -0.018 |
AB rounded to 4 (raw=4.15), rates preserved: AVG=0.252 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 | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.175 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | -0.061 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 0.000 | -0.511 |
| predicted_H | 1.000 | -0.044 |
| predicted_HR | 0.000 | -0.265 |
| predicted_OBP | 0.250 | -0.090 |
| predicted_R | 1.000 | 0.246 |
| predicted_RBI | 1.000 | 0.360 |
| predicted_SLG | 0.250 | -0.257 |
| 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 | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 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 | - | 21.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.1905 | 0.2273 | 0.3333 | 0.1905 | 0.0476 | 0.0476 | 0.0476 | 0.3810 |
| last_10 | 0.20 | 10 | - | 42.000 | 11.000 | 0.000 | 0.000 | 4.000 | 8.000 | 6.000 | 4.000 | 13.000 | 0.2619 | 0.3261 | 0.5476 | 0.2619 | 0.0952 | 0.1905 | 0.0952 | 0.3095 |
| season | 0.60 | 73 | - | 276.000 | 79.000 | 15.000 | 2.000 | 22.000 | 52.000 | 56.000 | 40.000 | 76.000 | 0.2862 | 0.3793 | 0.5942 | 0.2862 | 0.0797 | 0.1884 | 0.1449 | 0.2754 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.9410 |
| predicted_AVG | 0.2612 |
| predicted_BB | 0.4420 |
| predicted_H | 1.0290 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.2870 |
| predicted_OBP | 0.3361 |
| predicted_R | 0.6540 |
| predicted_RBI | 0.6230 |
| predicted_SLG | 0.5222 |
| predicted_SO | 1.1670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.1340 | 0.1748 | model_form_blend |
| predicted_3B | 0.0270 | 0.0170 | 0.0228 | model_form_blend |
| predicted_AB | 4.1500 | 3.9410 | 4.0612 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2612 | 0.2507 | model_form_blend |
| predicted_BB | 0.5480 | 0.4420 | 0.5030 | model_form_blend |
| predicted_H | 1.0100 | 1.0290 | 1.0181 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.2400 | 0.2870 | 0.2600 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3361 | 0.3326 | model_form_blend |
| predicted_R | 0.7670 | 0.6540 | 0.7190 | model_form_blend |
| predicted_RBI | 0.6000 | 0.6230 | 0.6098 | model_form_blend |
| predicted_SLG | 0.4800 | 0.5222 | 0.4979 | model_form_blend |
| predicted_SO | 1.0410 | 1.1670 | 1.0945 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 237 |
| Season rows before report date | 237 |
| Report year | 2026 |
| Profile rows used | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260624_NYY@DET |
| game_type | full |
| mlbID | 700250 |
| playerID | 700250 |
| playerName | Ben Rice |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.411 |
| sl_xwoba | 0.383 |
| sl_xba | 0.276 |
| sl_xslg | 0.518 |
| sl_sweet_spot_percent | 40.1 |
| sl_barrel_batted_rate | 14.9 |
| sl_hard_hit_percent | 47.0 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 42.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 0.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.640 | 4.000 | 4.000 | Hitting_AB | 3.741 | 4.000 | 0.259 | 0.000 |
| predicted_AVG | 0.228 | 0.000 | 0.250 | Hitting_AVG | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_BB | 0.400 | 0.000 | 0.000 | Hitting_BB | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.800 | 0.000 | 1.000 | Hitting_H | 0.912 | 0.000 | -0.912 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_OBP | 0.287 | 0.000 | 0.250 | Hitting_OBP | 0.327 | 0.000 | -0.327 | 0.000 |
| predicted_R | 0.533 | 0.000 | 1.000 | Hitting_R | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_SLG | 0.394 | 0.000 | 0.250 | Hitting_SLG | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_SO | 1.160 | 4.000 | 1.000 | Hitting_SO | 1.188 | 1.000 | 2.812 | 3.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.1600 -> 4.0000 (boost 2.8400, worse) |
| 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 | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2828 -> 0.2949 (boost 0.0121, 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.6731 -> 4.0000 (boost 0.3269, better) | predicted_RBI: 0.4460 -> 0.0000 (deboost -0.4460, worse) | AB rounded to 4 (raw=3.67), rates preserved: AVG=0.225 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5539 -> 1.0000 (boost 0.4461, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2247 -> 0.2500 (boost 0.0253, better) | predicted_SLG: 0.4077 -> 0.2500 (deboost -0.1577, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 4.0000 (boost 3.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4077 (boost 0.1577, better) | predicted_AVG: 0.2500 -> 0.2247 (deboost -0.0253, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665862",
"player_name": "Jazz Chisholm Jr.",
"position": "2B",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.027,
"predicted_AB": 3.64,
"predicted_AVG": 0.228,
"predicted_BB": 0.4,
"predicted_H": 0.8,
"predicted_HR": 0.15,
"predicted_OBP": 0.287,
"predicted_R": 0.533,
"predicted_RBI": 0.42,
"predicted_SLG": 0.394,
"predicted_SO": 1.16
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1152,
"predicted_3B": 0.0223,
"predicted_AB": 3.6731,
"predicted_AVG": 0.2239,
"predicted_BB": 0.3597,
"predicted_H": 0.8051,
"predicted_HBP": 0.01,
"predicted_HR": 0.1674,
"predicted_OBP": 0.2828,
"predicted_R": 0.5279,
"predicted_RBI": 0.4251,
"predicted_SLG": 0.3989,
"predicted_SO": 1.1477
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1152,
"delta": -0.0178,
"percent_delta": -0.1338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0223,
"delta": -0.0047,
"percent_delta": -0.1741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.64,
"after": 3.6731,
"delta": 0.0331,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2239,
"delta": -0.0041,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.3597,
"delta": -0.0403,
"percent_delta": -0.1008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.8051,
"delta": 0.0051,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1674,
"delta": 0.0174,
"percent_delta": 0.116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2828,
"delta": -0.0042,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 0.5279,
"delta": -0.0051,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4251,
"delta": 0.0051,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3989,
"delta": 0.0049,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.16,
"after": 1.1477,
"delta": -0.0123,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 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.1152,
"predicted_3B": 0.0223,
"predicted_AB": 3.6731,
"predicted_AVG": 0.2247,
"predicted_BB": 0.3656,
"predicted_H": 0.8255,
"predicted_HBP": 0.01,
"predicted_HR": 0.1707,
"predicted_OBP": 0.2949,
"predicted_R": 0.5539,
"predicted_RBI": 0.446,
"predicted_SLG": 0.4077,
"predicted_SO": 1.1288
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1152,
"after": 0.1152,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0223,
"after": 0.0223,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6731,
"after": 3.6731,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2239,
"after": 0.2247,
"delta": 0.0008,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3597,
"after": 0.3656,
"delta": 0.0059,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8051,
"after": 0.8255,
"delta": 0.0204,
"percent_delta": 0.0253,
"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.1674,
"after": 0.1707,
"delta": 0.0033,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2828,
"after": 0.2949,
"delta": 0.0121,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5279,
"after": 0.5539,
"delta": 0.026,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4251,
"after": 0.446,
"delta": 0.0209,
"percent_delta": 0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3989,
"after": 0.4077,
"delta": 0.0088,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1477,
"after": 1.1288,
"delta": -0.0189,
"percent_delta": -0.0165,
"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.2828,
"after": 0.2949,
"delta": 0.0121,
"percent_delta": 0.0428,
"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.67), rates preserved: AVG=0.225 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.1152,
"after": 0.0,
"delta": -0.1152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0223,
"after": 0.0,
"delta": -0.0223,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6731,
"after": 4.0,
"delta": 0.3269,
"percent_delta": 0.089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3656,
"after": 0.0,
"delta": -0.3656,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8255,
"after": 1.0,
"delta": 0.1745,
"percent_delta": 0.2114,
"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.1707,
"after": 0.0,
"delta": -0.1707,
"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_SO",
"before": 1.1288,
"after": 1.0,
"delta": -0.1288,
"percent_delta": -0.1141,
"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.6731,
"after": 4.0,
"delta": 0.3269,
"percent_delta": 0.089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5539,
"after": 1.0,
"delta": 0.4461,
"percent_delta": 0.8054,
"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.5539,
"after": 1.0,
"delta": 0.4461,
"percent_delta": 0.8054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2247,
"after": 0.25,
"delta": 0.0253,
"percent_delta": 0.1126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2949,
"after": 0.25,
"delta": -0.0449,
"percent_delta": -0.1523,
"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.4077,
"after": 0.25,
"delta": -0.1577,
"percent_delta": -0.3868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2247,
"after": 0.25,
"delta": 0.0253,
"percent_delta": 0.1126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4077,
"after": 0.25,
"delta": -0.1577,
"percent_delta": -0.3868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_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": 4.0,
"delta": 3.0,
"percent_delta": 3.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": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2247,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2949,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4077,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2247,
"delta": -0.0253,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2949,
"delta": 0.0449,
"percent_delta": 0.1797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4077,
"delta": 0.1577,
"percent_delta": 0.6308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4077,
"delta": 0.1577,
"percent_delta": 0.6308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2247,
"delta": -0.0253,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.64,
"after": 4.0,
"delta": 0.36,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2247,
"delta": -0.0033,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2949,
"delta": 0.0079,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 0.0,
"delta": -0.533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.4077,
"delta": 0.0137,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.16,
"after": 4.0,
"delta": 2.84,
"percent_delta": 2.4483,
"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.16,
"after": 4.0,
"delta": 2.84,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "worse",
"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.133 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.640 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.533 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 1.160 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.115 | -0.018 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 3.673 | 0.033 |
| predicted_AVG | 0.224 | -0.004 |
| predicted_BB | 0.360 | -0.040 |
| predicted_H | 0.805 | 0.005 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.167 | 0.017 |
| predicted_OBP | 0.283 | -0.004 |
| predicted_R | 0.528 | -0.005 |
| predicted_RBI | 0.425 | 0.005 |
| predicted_SLG | 0.399 | 0.005 |
| predicted_SO | 1.148 | -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.115 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.673 | 0.000 |
| predicted_AVG | 0.225 | 0.001 |
| predicted_BB | 0.366 | 0.006 |
| predicted_H | 0.826 | 0.020 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.171 | 0.003 |
| predicted_OBP | 0.295 | 0.012 |
| predicted_R | 0.554 | 0.026 |
| predicted_RBI | 0.446 | 0.021 |
| predicted_SLG | 0.408 | 0.009 |
| predicted_SO | 1.129 | -0.019 |
AB rounded to 4 (raw=3.67), rates preserved: AVG=0.225 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.115 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | 0.327 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 0.000 | -0.366 |
| predicted_H | 1.000 | 0.174 |
| predicted_HR | 0.000 | -0.171 |
| predicted_OBP | 0.250 | -0.045 |
| predicted_R | 1.000 | 0.446 |
| predicted_RBI | 0.000 | -0.446 |
| predicted_SLG | 0.250 | -0.158 |
| predicted_SO | 1.000 | -0.129 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 4.000 | 3.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 6.000 | 0.2000 | 0.2000 | 0.3500 | 0.2000 | 0.0500 | 0.1000 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 0.000 | 0.000 | 3.000 | 4.000 | 6.000 | 3.000 | 11.000 | 0.1944 | 0.2564 | 0.4444 | 0.1944 | 0.0833 | 0.1111 | 0.0833 | 0.3056 |
| season | 0.60 | 75 | - | 273.000 | 62.000 | 10.000 | 2.000 | 12.000 | 33.000 | 40.000 | 30.000 | 87.000 | 0.2271 | 0.3039 | 0.4103 | 0.2271 | 0.0440 | 0.1209 | 0.1099 | 0.3187 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0910 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.7180 |
| predicted_AVG | 0.2183 |
| predicted_BB | 0.3050 |
| predicted_H | 0.8120 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1910 |
| predicted_OBP | 0.2772 |
| predicted_R | 0.5210 |
| predicted_RBI | 0.4320 |
| predicted_SLG | 0.4055 |
| predicted_SO | 1.1310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.0910 | 0.1152 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0223 | model_form_blend |
| predicted_AB | 3.6400 | 3.7180 | 3.6731 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2183 | 0.2239 | model_form_blend |
| predicted_BB | 0.4000 | 0.3050 | 0.3597 | model_form_blend |
| predicted_H | 0.8000 | 0.8120 | 0.8051 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1500 | 0.1910 | 0.1674 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2772 | 0.2828 | model_form_blend |
| predicted_R | 0.5330 | 0.5210 | 0.5279 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4320 | 0.4251 | model_form_blend |
| predicted_SLG | 0.3940 | 0.4055 | 0.3989 | model_form_blend |
| predicted_SO | 1.1600 | 1.1310 | 1.1477 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 665862 |
| playerID | 665862 |
| playerName | Jazz Chisholm Jr. |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 28.2 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.318 |
| sl_xwoba | 0.298 |
| sl_xba | 0.211 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 39.9 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 43.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.333 | 0.000 | 0.000 | Hitting_2B | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.900 | 4.000 | 4.000 | Hitting_AB | 3.884 | 4.000 | 0.116 | 0.000 |
| predicted_AVG | 0.236 | 0.000 | 0.250 | Hitting_AVG | 0.228 | 0.250 | -0.228 | -0.250 |
| predicted_BB | 0.111 | 0.000 | 0.000 | Hitting_BB | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.920 | 0.000 | 1.000 | Hitting_H | 0.884 | 1.000 | -0.884 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.163 | 1.000 | -0.163 | -1.000 |
| predicted_OBP | 0.287 | 0.000 | 0.250 | Hitting_OBP | 0.263 | 0.250 | -0.263 | -0.250 |
| predicted_R | 0.389 | 0.000 | 0.000 | Hitting_R | 0.442 | 1.000 | -0.442 | -1.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.535 | 2.000 | -0.535 | -2.000 |
| predicted_SLG | 0.424 | 0.000 | 0.250 | Hitting_SLG | 0.437 | 1.000 | -0.437 | -1.000 |
| predicted_SO | 0.889 | 0.000 | 1.000 | Hitting_SO | 0.651 | 3.000 | -0.651 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.9000 -> 4.0000 (boost 0.1000, better) |
| Biggest Deboost | predicted_H: 0.9200 -> 0.0000 (deboost -0.9200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4240 -> 0.4320 (boost 0.0080, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4320 -> 0.4483 (boost 0.0163, better) | predicted_OBP: 0.2835 -> 0.2683 (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 | 6 | 2 | 4 | 1 | 5 | predicted_AB: 3.8945 -> 4.0000 (boost 0.1055, better) | predicted_RBI: 0.4447 -> 0.0000 (deboost -0.4447, worse) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.244 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4109 -> 0.0000 (deboost -0.4109, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2445 -> 0.2500 (boost 0.0055, better) | predicted_SLG: 0.4483 -> 0.2500 (deboost -0.1983, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4483 (boost 0.1983, better) | predicted_AVG: 0.2500 -> 0.2445 (deboost -0.0055, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691176",
"player_name": "Jasson Domínguez",
"position": "RF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.333,
"predicted_3B": 0.0,
"predicted_AB": 3.9,
"predicted_AVG": 0.236,
"predicted_BB": 0.111,
"predicted_H": 0.92,
"predicted_HR": 0.15,
"predicted_OBP": 0.287,
"predicted_R": 0.389,
"predicted_RBI": 0.43,
"predicted_SLG": 0.424,
"predicted_SO": 0.889
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.314,
"predicted_3B": 0.0015,
"predicted_AB": 3.8945,
"predicted_AVG": 0.2385,
"predicted_BB": 0.1245,
"predicted_H": 0.9288,
"predicted_HBP": 0.034,
"predicted_HR": 0.1558,
"predicted_OBP": 0.2835,
"predicted_R": 0.3916,
"predicted_RBI": 0.4238,
"predicted_SLG": 0.432,
"predicted_SO": 0.928
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.333,
"after": 0.314,
"delta": -0.019,
"percent_delta": -0.0571,
"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.9,
"after": 3.8945,
"delta": -0.0055,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2385,
"delta": 0.0025,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.111,
"after": 0.1245,
"delta": 0.0135,
"percent_delta": 0.1216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9288,
"delta": 0.0088,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1558,
"delta": 0.0058,
"percent_delta": 0.0387,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2835,
"delta": -0.0035,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.389,
"after": 0.3916,
"delta": 0.0026,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4238,
"delta": -0.0062,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.432,
"delta": 0.008,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 0.928,
"delta": 0.039,
"percent_delta": 0.0439,
"direction": "no_change",
"projection_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.424,
"after": 0.432,
"delta": 0.008,
"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": 18
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.314,
"predicted_3B": 0.0015,
"predicted_AB": 3.8945,
"predicted_AVG": 0.2445,
"predicted_BB": 0.1266,
"predicted_H": 0.9523,
"predicted_HBP": 0.034,
"predicted_HR": 0.1589,
"predicted_OBP": 0.2683,
"predicted_R": 0.4109,
"predicted_RBI": 0.4447,
"predicted_SLG": 0.4483,
"predicted_SO": 0.9127
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.314,
"after": 0.314,
"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.8945,
"after": 3.8945,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2385,
"after": 0.2445,
"delta": 0.006,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1245,
"after": 0.1266,
"delta": 0.0021,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9288,
"after": 0.9523,
"delta": 0.0235,
"percent_delta": 0.0253,
"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.1558,
"after": 0.1589,
"delta": 0.0031,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2835,
"after": 0.2683,
"delta": -0.0152,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3916,
"after": 0.4109,
"delta": 0.0193,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4238,
"after": 0.4447,
"delta": 0.0209,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4483,
"delta": 0.0163,
"percent_delta": 0.0377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.928,
"after": 0.9127,
"delta": -0.0153,
"percent_delta": -0.0165,
"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.4483,
"delta": 0.0163,
"percent_delta": 0.0377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2835,
"after": 0.2683,
"delta": -0.0152,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.90), rates preserved: AVG=0.244 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"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.8945,
"after": 4.0,
"delta": 0.1055,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1266,
"after": 0.0,
"delta": -0.1266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9523,
"after": 1.0,
"delta": 0.0477,
"percent_delta": 0.0501,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1589,
"after": 0.0,
"delta": -0.1589,
"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": 0.9127,
"after": 1.0,
"delta": 0.0873,
"percent_delta": 0.0957,
"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.8945,
"after": 4.0,
"delta": 0.1055,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4109,
"after": 0.0,
"delta": -0.4109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4109,
"after": 0.0,
"delta": -0.4109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2445,
"after": 0.25,
"delta": 0.0055,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2683,
"after": 0.25,
"delta": -0.0183,
"percent_delta": -0.0682,
"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.4483,
"after": 0.25,
"delta": -0.1983,
"percent_delta": -0.4423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2445,
"after": 0.25,
"delta": 0.0055,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4483,
"after": 0.25,
"delta": -0.1983,
"percent_delta": -0.4423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2445,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2683,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4483,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2445,
"delta": -0.0055,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2683,
"delta": 0.0183,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4483,
"delta": 0.1983,
"percent_delta": 0.7933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4483,
"delta": 0.1983,
"percent_delta": 0.7933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2445,
"delta": -0.0055,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2445,
"delta": 0.0085,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2683,
"delta": -0.0187,
"percent_delta": -0.0652,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.389,
"after": 0.0,
"delta": -0.389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4483,
"delta": 0.0243,
"percent_delta": 0.0573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 0.0,
"delta": -0.889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.333 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.111 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.389 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.424 | - |
| predicted_SO | 0.889 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.314 | -0.019 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.894 | -0.006 |
| predicted_AVG | 0.238 | 0.003 |
| predicted_BB | 0.124 | 0.013 |
| predicted_H | 0.929 | 0.009 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.156 | 0.006 |
| predicted_OBP | 0.283 | -0.004 |
| predicted_R | 0.392 | 0.003 |
| predicted_RBI | 0.424 | -0.006 |
| predicted_SLG | 0.432 | 0.008 |
| predicted_SO | 0.928 | 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.314 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.894 | 0.000 |
| predicted_AVG | 0.244 | 0.006 |
| predicted_BB | 0.127 | 0.002 |
| predicted_H | 0.952 | 0.024 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.159 | 0.003 |
| predicted_OBP | 0.268 | -0.015 |
| predicted_R | 0.411 | 0.019 |
| predicted_RBI | 0.445 | 0.021 |
| predicted_SLG | 0.448 | 0.016 |
| predicted_SO | 0.913 | -0.015 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.244 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.314 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.106 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 0.000 | -0.127 |
| predicted_H | 1.000 | 0.048 |
| predicted_HR | 0.000 | -0.159 |
| predicted_OBP | 0.250 | -0.018 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 0.000 | -0.445 |
| predicted_SLG | 0.250 | -0.198 |
| predicted_SO | 1.000 | 0.087 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 7.000 | 0.2632 | 0.2632 | 0.4737 | 0.2632 | 0.0526 | 0.1053 | 0.0000 | 0.3684 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 4.000 | 0.000 | 2.000 | 3.000 | 4.000 | 1.000 | 12.000 | 0.2500 | 0.2683 | 0.5000 | 0.2500 | 0.0500 | 0.0750 | 0.0250 | 0.3000 |
| season | 0.60 | 18 | - | 70.000 | 16.000 | 6.000 | 0.000 | 3.000 | 7.000 | 7.000 | 2.000 | 16.000 | 0.2286 | 0.2603 | 0.4429 | 0.2286 | 0.0429 | 0.1000 | 0.0286 | 0.2286 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2810 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.8850 |
| predicted_AVG | 0.2429 |
| predicted_BB | 0.1480 |
| predicted_H | 0.9440 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.1660 |
| predicted_OBP | 0.2773 |
| predicted_R | 0.3960 |
| predicted_RBI | 0.4130 |
| predicted_SLG | 0.4458 |
| predicted_SO | 0.9960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3330 | 0.2810 | 0.3140 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 3.9000 | 3.8850 | 3.8945 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2429 | 0.2385 | model_form_blend |
| predicted_BB | 0.1110 | 0.1480 | 0.1245 | model_form_blend |
| predicted_H | 0.9200 | 0.9440 | 0.9288 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.1500 | 0.1660 | 0.1558 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2773 | 0.2835 | model_form_blend |
| predicted_R | 0.3890 | 0.3960 | 0.3916 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4130 | 0.4238 | model_form_blend |
| predicted_SLG | 0.4240 | 0.4458 | 0.4320 | model_form_blend |
| predicted_SO | 0.8890 | 0.9960 | 0.9280 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 18 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 691176 |
| playerID | 691176 |
| playerName | Jasson Domínguez |
| pos | DH |
| started | True |
| startingPosition | RF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 2.7 |
| sl_woba | 0.303 |
| sl_xwoba | 0.295 |
| sl_xba | 0.275 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 38.9 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 9.7 |
| sl_whiff_percent | 31.5 |
| 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.167 | 0.000 | 0.000 | Hitting_2B | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.367 | 3.000 | 3.000 | Hitting_AB | 3.270 | 4.000 | -0.270 | -1.000 |
| predicted_AVG | 0.266 | 0.333 | 0.333 | Hitting_AVG | 0.301 | 0.000 | 0.032 | 0.333 |
| predicted_BB | 0.533 | 1.000 | 0.000 | Hitting_BB | 0.714 | 0.000 | 0.286 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_H | 0.860 | 1.000 | 1.000 | Hitting_H | 0.984 | 0.000 | 0.016 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_OBP | 0.354 | 0.500 | 0.333 | Hitting_OBP | 0.426 | 0.000 | 0.074 | 0.500 |
| predicted_R | 0.533 | 1.000 | 1.000 | Hitting_R | 0.698 | 0.000 | 0.302 | 1.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.651 | 0.000 | -0.651 | 0.000 |
| predicted_SLG | 0.382 | 0.333 | 0.333 | Hitting_SLG | 0.481 | 0.000 | -0.147 | 0.333 |
| predicted_SO | 0.833 | 0.000 | 1.000 | Hitting_SO | 0.825 | 1.000 | -0.825 | -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_BB: 0.5330 -> 1.0000 (boost 0.4670, better) |
| Biggest Deboost | predicted_SO: 0.8330 -> 0.0000 (deboost -0.8330, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.8600 -> 0.9197 (boost 0.0597, 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.3822 -> 0.3929 (boost 0.0107, 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.8296 -> 1.0000 (boost 0.1704, worse) | predicted_BB: 0.5149 -> 0.0000 (deboost -0.5149, worse) | AB rounded to 3 (raw=3.42), rates preserved: AVG=0.275 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5216 -> 1.0000 (boost 0.4784, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2755 -> 0.3330 (boost 0.0575, better) | predicted_SLG: 0.3929 -> 0.3330 (deboost -0.0599, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3929 (boost 0.0599, better) | predicted_AVG: 0.3330 -> 0.2755 (deboost -0.0575, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683011",
"player_name": "Anthony Volpe",
"position": "SS",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.033,
"predicted_AB": 3.367,
"predicted_AVG": 0.266,
"predicted_BB": 0.533,
"predicted_H": 0.86,
"predicted_HR": 0.07,
"predicted_OBP": 0.354,
"predicted_R": 0.533,
"predicted_RBI": 0.38,
"predicted_SLG": 0.382,
"predicted_SO": 0.833
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1541,
"predicted_3B": 0.0342,
"predicted_AB": 3.4232,
"predicted_AVG": 0.2748,
"predicted_BB": 0.5065,
"predicted_H": 0.9197,
"predicted_HBP": 0.007,
"predicted_HR": 0.0587,
"predicted_OBP": 0.3613,
"predicted_R": 0.4971,
"predicted_RBI": 0.3784,
"predicted_SLG": 0.3822,
"predicted_SO": 0.8435
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1541,
"delta": -0.0129,
"percent_delta": -0.0772,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0342,
"delta": 0.0012,
"percent_delta": 0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.367,
"after": 3.4232,
"delta": 0.0562,
"percent_delta": 0.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2748,
"delta": 0.0088,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.533,
"after": 0.5065,
"delta": -0.0265,
"percent_delta": -0.0497,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.9197,
"delta": 0.0597,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0587,
"delta": -0.0113,
"percent_delta": -0.1614,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3613,
"delta": 0.0073,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 0.4971,
"delta": -0.0359,
"percent_delta": -0.0674,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3784,
"delta": -0.0016,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3822,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8435,
"delta": 0.0105,
"percent_delta": 0.0126,
"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.86,
"after": 0.9197,
"delta": 0.0597,
"percent_delta": 0.0694,
"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.1541,
"predicted_3B": 0.0342,
"predicted_AB": 3.4232,
"predicted_AVG": 0.2755,
"predicted_BB": 0.5149,
"predicted_H": 0.943,
"predicted_HBP": 0.007,
"predicted_HR": 0.0599,
"predicted_OBP": 0.3702,
"predicted_R": 0.5216,
"predicted_RBI": 0.397,
"predicted_SLG": 0.3929,
"predicted_SO": 0.8296
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1541,
"after": 0.1541,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0342,
"after": 0.0342,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4232,
"after": 3.4232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2748,
"after": 0.2755,
"delta": 0.0007,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5065,
"after": 0.5149,
"delta": 0.0084,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9197,
"after": 0.943,
"delta": 0.0233,
"percent_delta": 0.0253,
"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.0587,
"after": 0.0599,
"delta": 0.0012,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3613,
"after": 0.3702,
"delta": 0.0089,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4971,
"after": 0.5216,
"delta": 0.0245,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3784,
"after": 0.397,
"delta": 0.0186,
"percent_delta": 0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3822,
"after": 0.3929,
"delta": 0.0107,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8435,
"after": 0.8296,
"delta": -0.0139,
"percent_delta": -0.0165,
"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.3822,
"after": 0.3929,
"delta": 0.0107,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.42), rates preserved: AVG=0.275 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.1541,
"after": 0.0,
"delta": -0.1541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0342,
"after": 0.0,
"delta": -0.0342,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4232,
"after": 3.0,
"delta": -0.4232,
"percent_delta": -0.1236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5149,
"after": 0.0,
"delta": -0.5149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.943,
"after": 1.0,
"delta": 0.057,
"percent_delta": 0.0604,
"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.0599,
"after": 0.0,
"delta": -0.0599,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8296,
"after": 1.0,
"delta": 0.1704,
"percent_delta": 0.2054,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5149,
"after": 0.0,
"delta": -0.5149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5216,
"after": 1.0,
"delta": 0.4784,
"percent_delta": 0.9172,
"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.5216,
"after": 1.0,
"delta": 0.4784,
"percent_delta": 0.9172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2755,
"after": 0.333,
"delta": 0.0575,
"percent_delta": 0.2087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3702,
"after": 0.333,
"delta": -0.0372,
"percent_delta": -0.1005,
"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.3929,
"after": 0.333,
"delta": -0.0599,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2755,
"after": 0.333,
"delta": 0.0575,
"percent_delta": 0.2087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3929,
"after": 0.333,
"delta": -0.0599,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2755,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3702,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3929,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2755,
"delta": -0.0575,
"percent_delta": -0.1728,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3702,
"delta": 0.0372,
"percent_delta": 0.1117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3929,
"delta": 0.0599,
"percent_delta": 0.18,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3929,
"delta": 0.0599,
"percent_delta": 0.18,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2755,
"delta": -0.0575,
"percent_delta": -0.1728,
"direction": "deboost",
"projection_effect": "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.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.367,
"after": 3.0,
"delta": -0.367,
"percent_delta": -0.109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2755,
"delta": 0.0095,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"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.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3702,
"delta": 0.0162,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"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.382,
"after": 0.3929,
"delta": 0.0109,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.0,
"delta": -0.833,
"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_BB",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.833,
"after": 0.0,
"delta": -0.833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 3.367 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.533 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.533 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.382 | - |
| predicted_SO | 0.833 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | -0.013 |
| predicted_3B | 0.034 | 0.001 |
| predicted_AB | 3.423 | 0.056 |
| predicted_AVG | 0.275 | 0.009 |
| predicted_BB | 0.506 | -0.027 |
| predicted_H | 0.920 | 0.060 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.059 | -0.011 |
| predicted_OBP | 0.361 | 0.007 |
| predicted_R | 0.497 | -0.036 |
| predicted_RBI | 0.378 | -0.002 |
| predicted_SLG | 0.382 | 0.000 |
| predicted_SO | 0.844 | 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.154 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 3.423 | 0.000 |
| predicted_AVG | 0.276 | 0.001 |
| predicted_BB | 0.515 | 0.008 |
| predicted_H | 0.943 | 0.023 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.060 | 0.001 |
| predicted_OBP | 0.370 | 0.009 |
| predicted_R | 0.522 | 0.024 |
| predicted_RBI | 0.397 | 0.019 |
| predicted_SLG | 0.393 | 0.011 |
| predicted_SO | 0.830 | -0.014 |
AB rounded to 3 (raw=3.42), rates preserved: AVG=0.275 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 |
Player 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.034 |
| predicted_AB | 3.000 | -0.423 |
| predicted_AVG | 0.333 | 0.057 |
| predicted_BB | 0.000 | -0.515 |
| predicted_H | 1.000 | 0.057 |
| predicted_HR | 0.000 | -0.060 |
| predicted_OBP | 0.333 | -0.037 |
| predicted_R | 1.000 | 0.478 |
| predicted_RBI | 0.000 | -0.397 |
| predicted_SLG | 0.333 | -0.060 |
| 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 | 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 | 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 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 0.2778 | 0.3500 | 0.2778 | 0.2778 | 0.0000 | 0.0000 | 0.1111 | 0.2778 |
| last_10 | 0.20 | 10 | - | 34.000 | 14.000 | 1.000 | 1.000 | 0.000 | 4.000 | 5.000 | 5.000 | 8.000 | 0.4118 | 0.4872 | 0.5000 | 0.4118 | 0.0000 | 0.1177 | 0.1471 | 0.2353 |
| season | 0.60 | 30 | - | 101.000 | 27.000 | 5.000 | 1.000 | 1.000 | 13.000 | 16.000 | 16.000 | 25.000 | 0.2673 | 0.3675 | 0.3663 | 0.2673 | 0.0099 | 0.1287 | 0.1584 | 0.2475 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0360 |
| predicted_AB | 3.5110 |
| predicted_AVG | 0.2885 |
| predicted_BB | 0.4650 |
| predicted_H | 1.0130 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0410 |
| predicted_OBP | 0.3727 |
| predicted_R | 0.4410 |
| predicted_RBI | 0.3760 |
| predicted_SLG | 0.3824 |
| predicted_SO | 0.8600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1340 | 0.1541 | model_form_blend |
| predicted_3B | 0.0330 | 0.0360 | 0.0342 | model_form_blend |
| predicted_AB | 3.3670 | 3.5110 | 3.4232 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2885 | 0.2748 | model_form_blend |
| predicted_BB | 0.5330 | 0.4650 | 0.5065 | model_form_blend |
| predicted_H | 0.8600 | 1.0130 | 0.9197 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0700 | 0.0410 | 0.0587 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3727 | 0.3613 | model_form_blend |
| predicted_R | 0.5330 | 0.4410 | 0.4971 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3760 | 0.3784 | model_form_blend |
| predicted_SLG | 0.3820 | 0.3824 | 0.3822 | model_form_blend |
| predicted_SO | 0.8330 | 0.8600 | 0.8435 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 63 |
| Season rows before report date | 63 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 20260624_NYY@DET |
| game_type | full |
| mlbID | 683011 |
| playerID | 683011 |
| playerName | Anthony Volpe |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.333 |
| sl_xwoba | 0.319 |
| sl_xba | 0.251 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 36.8 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.152 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.333 | 4.000 | 3.000 | Hitting_AB | 3.468 | 3.000 | 0.532 | 1.000 |
| predicted_AVG | 0.238 | 0.250 | 0.333 | Hitting_AVG | 0.271 | 0.000 | -0.021 | 0.250 |
| predicted_BB | 0.227 | 0.000 | 0.000 | Hitting_BB | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.941 | 0.000 | 0.059 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.300 | 0.250 | 0.333 | Hitting_OBP | 0.326 | 0.000 | -0.076 | 0.250 |
| predicted_R | 0.455 | 0.000 | 0.000 | Hitting_R | 0.468 | 0.000 | -0.468 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.403 | 0.000 | -0.403 | 0.000 |
| predicted_SLG | 0.353 | 0.250 | 0.333 | Hitting_SLG | 0.420 | 0.000 | -0.170 | 0.250 |
| predicted_SO | 0.758 | 2.000 | 1.000 | Hitting_SO | 0.694 | 2.000 | 1.306 | 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_SO: 0.7580 -> 2.0000 (boost 1.2420, worse) |
| Biggest Deboost | predicted_R: 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 | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.7580 -> 0.8207 (boost 0.0627, worse) | predicted_AVG: 0.2380 -> 0.2310 (deboost -0.0070, worse) | Final model input calibrated with local 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.2991 -> 0.2814 (deboost -0.0177, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.7520 -> 1.0000 (boost 0.2480, better) | predicted_RBI: 0.4832 -> 0.0000 (deboost -0.4832, worse) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.224 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4787 -> 0.0000 (deboost -0.4787, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2238 -> 0.3330 (boost 0.1092, better) | predicted_SLG: 0.3506 -> 0.3330 (deboost -0.0176, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3506 (boost 0.0176, better) | predicted_AVG: 0.3330 -> 0.2238 (deboost -0.1092, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676609",
"player_name": "José Caballero",
"position": "LF",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.152,
"predicted_3B": 0.0,
"predicted_AB": 3.333,
"predicted_AVG": 0.238,
"predicted_BB": 0.227,
"predicted_H": 0.72,
"predicted_HR": 0.09,
"predicted_OBP": 0.3,
"predicted_R": 0.455,
"predicted_RBI": 0.43,
"predicted_SLG": 0.353,
"predicted_SO": 0.758
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1307,
"predicted_3B": 0.0004,
"predicted_AB": 3.3602,
"predicted_AVG": 0.231,
"predicted_BB": 0.265,
"predicted_H": 0.7334,
"predicted_HBP": 0.062,
"predicted_HR": 0.0963,
"predicted_OBP": 0.2991,
"predicted_R": 0.4563,
"predicted_RBI": 0.4605,
"predicted_SLG": 0.3495,
"predicted_SO": 0.8207
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1307,
"delta": -0.0213,
"percent_delta": -0.1401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.3602,
"delta": 0.0272,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.231,
"delta": -0.007,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.265,
"delta": 0.038,
"percent_delta": 0.1674,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7334,
"delta": 0.0134,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0963,
"delta": 0.0063,
"percent_delta": 0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2991,
"delta": -0.0009,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.4563,
"delta": 0.0013,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4605,
"delta": 0.0305,
"percent_delta": 0.0709,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3495,
"delta": -0.0035,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.758,
"after": 0.8207,
"delta": 0.0627,
"percent_delta": 0.0827,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.758,
"after": 0.8207,
"delta": 0.0627,
"percent_delta": 0.0827,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.231,
"delta": -0.007,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1307,
"predicted_3B": 0.0004,
"predicted_AB": 3.3602,
"predicted_AVG": 0.2238,
"predicted_BB": 0.2694,
"predicted_H": 0.752,
"predicted_HBP": 0.062,
"predicted_HR": 0.0982,
"predicted_OBP": 0.2814,
"predicted_R": 0.4787,
"predicted_RBI": 0.4832,
"predicted_SLG": 0.3506,
"predicted_SO": 0.8072
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1307,
"after": 0.1307,
"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.3602,
"after": 3.3602,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2238,
"delta": -0.0072,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.265,
"after": 0.2694,
"delta": 0.0044,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7334,
"after": 0.752,
"delta": 0.0186,
"percent_delta": 0.0254,
"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.0963,
"after": 0.0982,
"delta": 0.0019,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2991,
"after": 0.2814,
"delta": -0.0177,
"percent_delta": -0.0592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4563,
"after": 0.4787,
"delta": 0.0224,
"percent_delta": 0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4605,
"after": 0.4832,
"delta": 0.0227,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3495,
"after": 0.3506,
"delta": 0.0011,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8207,
"after": 0.8072,
"delta": -0.0135,
"percent_delta": -0.0164,
"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.2991,
"after": 0.2814,
"delta": -0.0177,
"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 3 (raw=3.36), rates preserved: AVG=0.224 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1307,
"after": 0.0,
"delta": -0.1307,
"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.3602,
"after": 3.0,
"delta": -0.3602,
"percent_delta": -0.1072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2694,
"after": 0.0,
"delta": -0.2694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.752,
"after": 1.0,
"delta": 0.248,
"percent_delta": 0.3298,
"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.0982,
"after": 0.0,
"delta": -0.0982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4832,
"after": 0.0,
"delta": -0.4832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8072,
"after": 1.0,
"delta": 0.1928,
"percent_delta": 0.2389,
"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.752,
"after": 1.0,
"delta": 0.248,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4832,
"after": 0.0,
"delta": -0.4832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4787,
"after": 0.0,
"delta": -0.4787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4787,
"after": 0.0,
"delta": -0.4787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2238,
"after": 0.333,
"delta": 0.1092,
"percent_delta": 0.4879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2814,
"after": 0.333,
"delta": 0.0516,
"percent_delta": 0.1834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3506,
"after": 0.333,
"delta": -0.0176,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2238,
"after": 0.333,
"delta": 0.1092,
"percent_delta": 0.4879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3506,
"after": 0.333,
"delta": -0.0176,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2238,
"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.2814,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3506,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2238,
"delta": -0.1092,
"percent_delta": -0.328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2814,
"delta": -0.0516,
"percent_delta": -0.155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3506,
"delta": 0.0176,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3506,
"delta": 0.0176,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2238,
"delta": -0.1092,
"percent_delta": -0.328,
"direction": "deboost",
"projection_effect": "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": 3.333,
"after": 4.0,
"delta": 0.667,
"percent_delta": 0.2001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2238,
"delta": -0.0142,
"percent_delta": -0.0597,
"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.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"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.3,
"after": 0.2814,
"delta": -0.0186,
"percent_delta": -0.062,
"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.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3506,
"delta": -0.0024,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.758,
"after": 2.0,
"delta": 1.242,
"percent_delta": 1.6385,
"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.758,
"after": 2.0,
"delta": 1.242,
"percent_delta": 1.6385,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"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.152 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.227 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 0.758 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | -0.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.360 | 0.027 |
| predicted_AVG | 0.231 | -0.007 |
| predicted_BB | 0.265 | 0.038 |
| predicted_H | 0.733 | 0.013 |
| predicted_HBP | 0.062 | - |
| predicted_HR | 0.096 | 0.006 |
| predicted_OBP | 0.299 | -0.001 |
| predicted_R | 0.456 | 0.001 |
| predicted_RBI | 0.461 | 0.031 |
| predicted_SLG | 0.349 | -0.004 |
| predicted_SO | 0.821 | 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.131 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.360 | 0.000 |
| predicted_AVG | 0.224 | -0.007 |
| predicted_BB | 0.269 | 0.004 |
| predicted_H | 0.752 | 0.019 |
| predicted_HBP | 0.062 | 0.000 |
| predicted_HR | 0.098 | 0.002 |
| predicted_OBP | 0.281 | -0.018 |
| predicted_R | 0.479 | 0.022 |
| predicted_RBI | 0.483 | 0.023 |
| predicted_SLG | 0.351 | 0.001 |
| predicted_SO | 0.807 | -0.013 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.224 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.131 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.360 |
| predicted_AVG | 0.333 | 0.109 |
| predicted_BB | 0.000 | -0.269 |
| predicted_H | 1.000 | 0.248 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.333 | 0.052 |
| predicted_R | 0.000 | -0.479 |
| predicted_RBI | 0.000 | -0.483 |
| predicted_SLG | 0.333 | -0.018 |
| predicted_SO | 1.000 | 0.193 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 5.000 | 0.1250 | 0.2632 | 0.1250 | 0.1250 | 0.0000 | 0.1250 | 0.1875 | 0.3125 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 0.000 | 0.000 | 2.000 | 9.000 | 5.000 | 3.000 | 13.000 | 0.2000 | 0.2750 | 0.3714 | 0.2000 | 0.0571 | 0.2571 | 0.0857 | 0.3714 |
| season | 0.60 | 66 | - | 220.000 | 56.000 | 10.000 | 0.000 | 7.000 | 27.000 | 30.000 | 15.000 | 50.000 | 0.2545 | 0.3140 | 0.3955 | 0.2545 | 0.0318 | 0.1227 | 0.0682 | 0.2273 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1010 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3980 |
| predicted_AVG | 0.2213 |
| predicted_BB | 0.3180 |
| predicted_H | 0.7520 |
| predicted_HBP | 0.0620 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.2979 |
| predicted_R | 0.4580 |
| predicted_RBI | 0.5030 |
| predicted_SLG | 0.3447 |
| predicted_SO | 0.9080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.1010 | 0.1307 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3330 | 3.3980 | 3.3602 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2213 | 0.2310 | model_form_blend |
| predicted_BB | 0.2270 | 0.3180 | 0.2650 | model_form_blend |
| predicted_H | 0.7200 | 0.7520 | 0.7334 | model_form_blend |
| predicted_HBP | - | 0.0620 | 0.0620 | form_only |
| predicted_HR | 0.0900 | 0.1050 | 0.0963 | model_form_blend |
| predicted_OBP | 0.3000 | 0.2979 | 0.2991 | model_form_blend |
| predicted_R | 0.4550 | 0.4580 | 0.4563 | model_form_blend |
| predicted_RBI | 0.4300 | 0.5030 | 0.4605 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3447 | 0.3495 | model_form_blend |
| predicted_SO | 0.7580 | 0.9080 | 0.8207 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 186 |
| Season rows before report date | 186 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.255 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260624_NYY@DET |
| game_type | full |
| mlbID | 676609 |
| playerID | 676609 |
| playerName | José Caballero |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.314 |
| sl_xwoba | 0.285 |
| sl_xba | 0.237 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 25.1 |
| sl_exit_velocity_avg | 83.9 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 49.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.039 | 0.000 | 0.000 | Hitting_2B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.039 | 3.000 | 3.000 | Hitting_AB | 3.242 | 3.000 | -0.242 | 0.000 |
| predicted_AVG | 0.211 | 0.000 | 0.333 | Hitting_AVG | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_BB | 0.451 | 1.000 | 0.000 | Hitting_BB | 0.547 | 0.000 | 0.453 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.580 | 0.000 | 1.000 | Hitting_H | 0.609 | 0.000 | -0.609 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.248 | 0.250 | 0.333 | Hitting_OBP | 0.303 | 0.000 | -0.053 | 0.250 |
| predicted_R | 0.314 | 0.000 | 0.000 | Hitting_R | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_SLG | 0.287 | 0.000 | 0.333 | Hitting_SLG | 0.295 | 0.000 | -0.295 | 0.000 |
| predicted_SO | 0.941 | 1.000 | 1.000 | Hitting_SO | 0.988 | 1.000 | 0.012 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4510 -> 1.0000 (boost 0.5490, better) |
| Biggest Deboost | predicted_H: 0.5800 -> 0.0000 (deboost -0.5800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_BB: 0.4510 -> 0.3906 (deboost -0.0604, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2361 -> 0.2714 (boost 0.0353, better) | predicted_AVG: 0.1837 -> 0.1762 (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 | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.5357 -> 1.0000 (boost 0.4643, better) | predicted_BB: 0.3970 -> 0.0000 (deboost -0.3970, worse) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.176 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3294 -> 0.0000 (deboost -0.3294, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1762 -> 0.3330 (boost 0.1568, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1762 (deboost -0.1568, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669224",
"player_name": "Austin Wells",
"position": "C",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.039,
"predicted_3B": 0.0,
"predicted_AB": 3.039,
"predicted_AVG": 0.211,
"predicted_BB": 0.451,
"predicted_H": 0.58,
"predicted_HR": 0.07,
"predicted_OBP": 0.248,
"predicted_R": 0.314,
"predicted_RBI": 0.26,
"predicted_SLG": 0.287,
"predicted_SO": 0.941
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0639,
"predicted_3B": 0.0008,
"predicted_AB": 3.0398,
"predicted_AVG": 0.1837,
"predicted_BB": 0.3906,
"predicted_H": 0.5225,
"predicted_HBP": 0.004,
"predicted_HR": 0.0639,
"predicted_OBP": 0.2361,
"predicted_R": 0.314,
"predicted_RBI": 0.2343,
"predicted_SLG": 0.2649,
"predicted_SO": 0.9353
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.039,
"after": 0.0639,
"delta": 0.0249,
"percent_delta": 0.6385,
"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.039,
"after": 3.0398,
"delta": 0.0008,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.1837,
"delta": -0.0273,
"percent_delta": -0.1294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.451,
"after": 0.3906,
"delta": -0.0604,
"percent_delta": -0.1339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.5225,
"delta": -0.0575,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0639,
"delta": -0.0061,
"percent_delta": -0.0871,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.2361,
"delta": -0.0119,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.314,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2343,
"delta": -0.0257,
"percent_delta": -0.0988,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.287,
"after": 0.2649,
"delta": -0.0221,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.941,
"after": 0.9353,
"delta": -0.0057,
"percent_delta": -0.0061,
"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": 0.451,
"after": 0.3906,
"delta": -0.0604,
"percent_delta": -0.1339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0639,
"predicted_3B": 0.0008,
"predicted_AB": 3.0398,
"predicted_AVG": 0.1762,
"predicted_BB": 0.397,
"predicted_H": 0.5357,
"predicted_HBP": 0.004,
"predicted_HR": 0.0652,
"predicted_OBP": 0.2714,
"predicted_R": 0.3294,
"predicted_RBI": 0.2458,
"predicted_SLG": 0.2621,
"predicted_SO": 0.9199
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0639,
"after": 0.0639,
"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.0398,
"after": 3.0398,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1837,
"after": 0.1762,
"delta": -0.0075,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3906,
"after": 0.397,
"delta": 0.0064,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5225,
"after": 0.5357,
"delta": 0.0132,
"percent_delta": 0.0253,
"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.0639,
"after": 0.0652,
"delta": 0.0013,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2361,
"after": 0.2714,
"delta": 0.0353,
"percent_delta": 0.1495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.3294,
"delta": 0.0154,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2343,
"after": 0.2458,
"delta": 0.0115,
"percent_delta": 0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2649,
"after": 0.2621,
"delta": -0.0028,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9353,
"after": 0.9199,
"delta": -0.0154,
"percent_delta": -0.0165,
"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.2361,
"after": 0.2714,
"delta": 0.0353,
"percent_delta": 0.1495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1837,
"after": 0.1762,
"delta": -0.0075,
"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 3 (raw=3.04), rates preserved: AVG=0.176 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.0639,
"after": 0.0,
"delta": -0.0639,
"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.0398,
"after": 3.0,
"delta": -0.0398,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5357,
"after": 1.0,
"delta": 0.4643,
"percent_delta": 0.8667,
"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.0652,
"after": 0.0,
"delta": -0.0652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2458,
"after": 0.0,
"delta": -0.2458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9199,
"after": 1.0,
"delta": 0.0801,
"percent_delta": 0.0871,
"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.5357,
"after": 1.0,
"delta": 0.4643,
"percent_delta": 0.8667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3294,
"after": 0.0,
"delta": -0.3294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3294,
"after": 0.0,
"delta": -0.3294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1762,
"after": 0.333,
"delta": 0.1568,
"percent_delta": 0.8899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2714,
"after": 0.333,
"delta": 0.0616,
"percent_delta": 0.227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2621,
"after": 0.333,
"delta": 0.0709,
"percent_delta": 0.2705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1762,
"after": 0.333,
"delta": 0.1568,
"percent_delta": 0.8899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1762,
"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.2714,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2621,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1762,
"delta": -0.1568,
"percent_delta": -0.4708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2714,
"delta": -0.0616,
"percent_delta": -0.185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2621,
"delta": -0.0709,
"percent_delta": -0.2129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1762,
"delta": -0.1568,
"percent_delta": -0.4708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.039,
"after": 3.0,
"delta": -0.039,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.1762,
"delta": -0.0348,
"percent_delta": -0.1649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.451,
"after": 1.0,
"delta": 0.549,
"percent_delta": 1.2173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.2714,
"delta": 0.0234,
"percent_delta": 0.0944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.287,
"after": 0.2621,
"delta": -0.0249,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.941,
"after": 1.0,
"delta": 0.059,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.451,
"after": 1.0,
"delta": 0.549,
"percent_delta": 1.2173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.039 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.039 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.451 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.248 | - |
| predicted_R | 0.314 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.287 | - |
| predicted_SO | 0.941 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.064 | 0.025 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.040 | 0.001 |
| predicted_AVG | 0.184 | -0.027 |
| predicted_BB | 0.391 | -0.060 |
| predicted_H | 0.522 | -0.057 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.064 | -0.006 |
| predicted_OBP | 0.236 | -0.012 |
| predicted_R | 0.314 | 0.000 |
| predicted_RBI | 0.234 | -0.026 |
| predicted_SLG | 0.265 | -0.022 |
| predicted_SO | 0.935 | -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.064 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.040 | 0.000 |
| predicted_AVG | 0.176 | -0.008 |
| predicted_BB | 0.397 | 0.006 |
| predicted_H | 0.536 | 0.013 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.065 | 0.001 |
| predicted_OBP | 0.271 | 0.035 |
| predicted_R | 0.329 | 0.015 |
| predicted_RBI | 0.246 | 0.011 |
| predicted_SLG | 0.262 | -0.003 |
| predicted_SO | 0.920 | -0.015 |
AB rounded to 3 (raw=3.04), rates preserved: AVG=0.176 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.064 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.040 |
| predicted_AVG | 0.333 | 0.157 |
| predicted_BB | 0.000 | -0.397 |
| predicted_H | 1.000 | 0.464 |
| predicted_HR | 0.000 | -0.065 |
| predicted_OBP | 0.333 | 0.062 |
| predicted_R | 0.000 | -0.329 |
| predicted_RBI | 0.000 | -0.246 |
| predicted_SLG | 0.333 | 0.071 |
| predicted_SO | 1.000 | 0.080 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 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 | - | 13.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 4.000 | 0.0769 | 0.0769 | 0.1538 | 0.0769 | 0.0000 | 0.0769 | 0.0000 | 0.3077 |
| last_10 | 0.20 | 10 | - | 28.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 10.000 | 0.0714 | 0.1333 | 0.1071 | 0.0714 | 0.0000 | 0.0357 | 0.0714 | 0.3571 |
| season | 0.60 | 51 | - | 155.000 | 25.000 | 2.000 | 0.000 | 4.000 | 8.000 | 16.000 | 23.000 | 48.000 | 0.1613 | 0.2682 | 0.2516 | 0.1613 | 0.0258 | 0.0516 | 0.1484 | 0.3097 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1000 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0410 |
| predicted_AVG | 0.1442 |
| predicted_BB | 0.3030 |
| predicted_H | 0.4390 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0550 |
| predicted_OBP | 0.2188 |
| predicted_R | 0.3140 |
| predicted_RBI | 0.1970 |
| predicted_SLG | 0.2328 |
| predicted_SO | 0.9270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0390 | 0.1000 | 0.0639 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0390 | 3.0410 | 3.0398 | model_form_blend |
| predicted_AVG | 0.2110 | 0.1442 | 0.1837 | model_form_blend |
| predicted_BB | 0.4510 | 0.3030 | 0.3906 | model_form_blend |
| predicted_H | 0.5800 | 0.4390 | 0.5225 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0700 | 0.0550 | 0.0639 | model_form_blend |
| predicted_OBP | 0.2480 | 0.2188 | 0.2361 | model_form_blend |
| predicted_R | 0.3140 | 0.3140 | 0.3140 | model_form_blend |
| predicted_RBI | 0.2600 | 0.1970 | 0.2343 | model_form_blend |
| predicted_SLG | 0.2870 | 0.2328 | 0.2649 | model_form_blend |
| predicted_SO | 0.9410 | 0.9270 | 0.9353 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 51 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.161 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 669224 |
| playerID | 669224 |
| playerName | Austin Wells |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.239 |
| sl_xwoba | 0.291 |
| sl_xba | 0.208 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 28.9 |
| 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 | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.125 | 0.000 | -1.125 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.125 | 0.000 | -1.125 | 0.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 4.188 | 4.000 | -0.188 | 0.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 5.806 | 6.000 | 0.294 | 0.100 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 6.812 | 13.000 | 0.188 | -6.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: 6.0000 -> 7.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 6.0000 -> 7.0000 (boost 1.0000, better) | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "693645",
"player_name": "Cam Schlittler",
"position": "Starter",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"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": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.1,
"after": 6.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"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": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.333 | - |
| 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 | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| 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 | 29.000 | 7.000 | 23.000 | 5.000 | 34.000 | 3.000 | 2.1724 | 0.9655 | 0.2414 | 0.7931 | 0.1724 | 1.1724 | 0.1035 |
| last_10 | 0.35 | 10 | 59.100 | 11.000 | 45.000 | 14.000 | 68.000 | 4.000 | 1.6685 | 0.9944 | 0.1854 | 0.7584 | 0.2360 | 1.1461 | 0.0674 |
| season | 0.20 | 16 | 95.000 | 18.000 | 67.000 | 18.000 | 109.000 | 5.000 | 1.7053 | 0.8947 | 0.1895 | 0.7053 | 0.1895 | 1.1474 | 0.0526 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4120 |
| predicted_ER | 1.6700 |
| predicted_ERA | 2.5203 |
| predicted_H | 4.8460 |
| predicted_HR | 0.5740 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.6090 |
| predicted_WHIP | 1.0491 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.4120 | 0.7758 | model_form_blend |
| predicted_ER | 0.0000 | 1.6700 | 0.9175 | model_form_blend |
| predicted_ERA | - | 2.5203 | 2.5203 | form_only |
| predicted_H | 4.0000 | 4.8460 | 4.4648 | model_form_blend |
| predicted_HR | 0.0000 | 0.5740 | 0.3154 | model_form_blend |
| predicted_IP | 6.1000 | 6.0000 | 6.2000 | model_form_blend |
| predicted_SO | 6.0000 | 6.6090 | 6.3346 | model_form_blend |
| predicted_WHIP | - | 1.0491 | 1.0491 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 4 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 7 |
| HR | 0 |
| 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 | 23 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.71 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 2 |
| Pitching_H | 4 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 0 |
| Pitching_SO | 13 |
| Pitching_Strikes | 66 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_CIN@NYY |
| game_type | full |
| mlbID | 693645 |
| playerID | 693645 |
| playerName | Cam Schlittler |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-19 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.235 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 39.2 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 53.7 |
| sl_avg_best_speed | 76.235532203 |
| sl_avg_hyper_speed | 93.909673957 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.938 | 1.000 | -0.938 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.966 | 1.000 | 0.034 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.219 | 1.000 | -1.219 | -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": "670280",
"player_name": "David Bednar",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 3.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.5625 | 0.0000 | 0.5625 | 0.0000 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 0.000 | 4.000 | 3.000 | 11.000 | 0.000 | 0.0000 | 0.6364 | 0.0000 | 0.3636 | 0.2727 | 1.0000 | 0.0000 |
| season | 0.20 | 32 | 33.000 | 12.000 | 30.000 | 12.000 | 39.000 | 2.000 | 3.2727 | 1.2727 | 0.3636 | 0.9091 | 0.3636 | 1.1818 | 0.0606 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2510 |
| predicted_ER | 0.2580 |
| predicted_ERA | 2.3201 |
| predicted_H | 0.7390 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0300 |
| predicted_WHIP | 0.9901 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2510 | 0.1172 | model_form_blend |
| predicted_ER | 0.0000 | 0.2580 | 0.1204 | model_form_blend |
| predicted_ERA | - | 2.3201 | 2.3201 | form_only |
| predicted_H | 0.0000 | 0.7390 | 0.3450 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0327 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0300 | 1.0140 | model_form_blend |
| predicted_WHIP | - | 0.9901 | 0.9901 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.27 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 670280 |
| playerID | 670280 |
| playerName | David Bednar |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 27.5 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.287 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 24.4 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 38.9 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 53.1 |
| sl_avg_best_speed | 76.261949318 |
| sl_avg_hyper_speed | 93.480457159 |
| 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.526 | 0.000 | -0.526 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.579 | 1.000 | 0.421 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.661 | 1.100 | 0.339 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.211 | 4.000 | -1.211 | -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": "518585",
"player_name": "Fernando Cruz",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 1.000 | 2.000 | 4.000 | 7.000 | 0.000 | 2.0769 | 1.3846 | 0.2308 | 0.4615 | 0.9231 | 1.6154 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 4.000 | 6.000 | 16.000 | 0.000 | 1.8000 | 1.0000 | 0.2000 | 0.4000 | 0.6000 | 1.6000 | 0.0000 |
| season | 0.20 | 38 | 34.200 | 8.000 | 22.000 | 20.000 | 46.000 | 2.000 | 2.0769 | 1.2115 | 0.2308 | 0.6346 | 0.5769 | 1.3269 | 0.0577 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5800 |
| predicted_ER | 0.3380 |
| predicted_ERA | 3.0405 |
| predicted_H | 0.6830 |
| predicted_HR | 0.0680 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2970 |
| predicted_WHIP | 1.2635 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5800 | 0.2737 | model_form_blend |
| predicted_ER | 0.0000 | 0.3380 | 0.1595 | model_form_blend |
| predicted_ERA | - | 3.0405 | 3.0405 | form_only |
| predicted_H | 1.0000 | 0.6830 | 0.8504 | model_form_blend |
| predicted_HR | 0.0000 | 0.0680 | 0.0321 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2970 | 0.6121 | model_form_blend |
| predicted_WHIP | - | 1.2635 | 1.2635 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 38 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 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.08 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 4 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_NYY@DET |
| game_type | full |
| mlbID | 518585 |
| playerID | 518585 |
| playerName | Fernando Cruz |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-24 |
| sl_k_percent | 31.9 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.27 |
| sl_xwoba | 0.263 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 22.4 |
| sl_whiff_percent | 41.7 |
| sl_swing_percent | 43.5 |
| sl_avg_best_speed | 74.428638919 |
| sl_avg_hyper_speed | 92.312803243 |
| 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.385 | 0.000 | 1.615 | 2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.179 | 0.000 | 0.821 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.821 | 2.000 | 0.179 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.759 | 1.200 | -0.559 | -1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 1.000 | 0.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "687396",
"player_name": "Brent Headrick",
"position": "Middle Reliever",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.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": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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 | 2.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 | 5.100 | 0.000 | 2.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.5625 | 0.0000 | 0.3750 | 0.1875 | 0.5625 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 5.000 | 4.000 | 6.000 | 0.000 | 0.9643 | 0.9643 | 0.1071 | 0.5357 | 0.4286 | 0.6429 | 0.0000 |
| season | 0.20 | 39 | 38.000 | 7.000 | 32.000 | 15.000 | 39.000 | 2.000 | 1.6579 | 1.2368 | 0.1842 | 0.8421 | 0.3947 | 1.0263 | 0.0526 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2880 |
| predicted_ER | 0.2120 |
| predicted_ERA | 2.1971 |
| predicted_H | 0.6090 |
| predicted_HR | 0.0560 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6840 |
| predicted_WHIP | 1.0342 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.2880 | 1.1759 | model_form_blend |
| predicted_ER | 1.0000 | 0.2120 | 0.6207 | model_form_blend |
| predicted_ERA | - | 2.1971 | 2.1971 | form_only |
| predicted_H | 1.0000 | 0.6090 | 0.8118 | model_form_blend |
| predicted_HR | 0.0000 | 0.0560 | 0.0270 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6840 | 0.8479 | model_form_blend |
| predicted_WHIP | - | 1.0342 | 1.0342 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 39 |
| Season rows before report date | 39 |
| Report year | 2026 |
| Profile rows used | 39 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 1 |
| 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.66 |
| 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.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_NYY@DET |
| game_type | full |
| mlbID | 687396 |
| playerID | 687396 |
| playerName | Brent Headrick |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-06-23 |
| sl_k_percent | 24.7 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.281 |
| sl_xwoba | 0.289 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 37.5 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 52.8 |
| sl_avg_best_speed | 78.4673418 |
| sl_avg_hyper_speed | 93.9228333 |
| Field | Value |
|---|---|
| Pitcher | Connelly Early |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2704 |
| ESPN Rank | 84 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0798 |
| Avg Velo | 88.3258 |
| Avg Spin | 2071.0800 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 3.6367 |
| Season WHIP | 1.2735 |
| Role Avg IP | 5.4440 |
| Recent Avg IP | 5.5330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"opponent": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"edges": {
"quality_edge": -0.4526,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.0727,
"defense_strength": 0.1133,
"opponent_defense_weakness": -0.2297,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9824,
"run_prevention": 1.0229,
"strikeout": 0.9806
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "813349",
"profile": {
"available": true,
"pitcher_id": "813349",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 226.0,
"k_percent": 22.5,
"bb_percent": 8.8,
"woba": 0.325,
"xwoba": 0.326,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 41.4,
"avg_best_speed": 80.5327,
"avg_hyper_speed": 94.4656,
"whiff_percent": 23.0,
"swing_percent": 46.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.4525,
"command_and_miss": -0.1404,
"regression_edge": -0.0286,
"xwoba_edge": -0.3286,
"barrel_edge": -0.8111,
"hard_hit_edge": -0.4429,
"whiff_edge": -0.4071,
"bb_edge": 0.075,
"pitch_design_score": -0.0798
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "813349",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 97,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.32584587648121,
"release_spin_rate": 2071.080031201101,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.32584587648121,
"release_spin_rate": 2071.080031201101,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3258,
"release_spin_rate": 2071.08,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0798,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5702,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2704,
"sample_weight": 0.904,
"run_prevention_factor": 1.023,
"strikeout_factor": 0.9842,
"walk_factor": 0.9946,
"homer_factor": 1.0836,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "813349",
"espn_id": 4863321,
"player_name": "Connelly Early",
"team": "BOS",
"role": "pitcher",
"espn_rank": 84,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 84,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 15.0,
"gs_rank": 41,
"qs_value": 6.0,
"qs_rank": 42,
"era_value": 3.6367,
"era_rank": 30.0,
"w_value": 6.0,
"w_rank": 28,
"l_value": 5.0,
"l_rank": 45,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 81.2,
"ip_rank": 58,
"h_value": 73.0,
"h_rank": 64,
"er_value": 33.0,
"er_rank": 83,
"hr_value": 14.0,
"hr_rank": 20,
"bb_value": 31.0,
"bb_rank": 28,
"k_value": 79.0,
"k_rank": 47,
"k_per_9_value": 8.706122,
"k_per_9_rank": 21,
"whip_value": 1.2734,
"whip_rank": 44.0,
"war_value": 1.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0208,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0208,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9951,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0756,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9857,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 56.2,
"ER": 25,
"H": 53,
"BB": 18,
"SO": 55,
"HR": 12,
"ERA": 3.9705882352941178,
"WHIP": 1.2529411764705882,
"K9": 8.73529411764706,
"HR9": 1.9058823529411766,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-20T00:00:00"
}{
"available": true,
"pitcher_id": "813349",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 97,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.32584587648121,
"release_spin_rate": 2071.080031201101,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.32584587648121,
"release_spin_rate": 2071.080031201101,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3258,
"release_spin_rate": 2071.08,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0798,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5702,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "813349",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.2,
"ER": 13.0,
"R": 13.0,
"H": 28.0,
"BB": 12.0,
"SO": 29.0,
"HR": 5.0,
"BF": 125.0,
"Pitches": 478.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6,
"R": 2.6,
"H": 5.6,
"BB": 2.4,
"SO": 5.8,
"HR": 1.0,
"BF": 25.0,
"Pitches": 95.6
},
"rates": {
"ERA": 4.2289,
"WHIP": 1.4458,
"ER_per_IP": 0.46988,
"H_per_IP": 1.01205,
"BB_per_IP": 0.43373,
"SO_per_IP": 1.04819,
"HR_per_IP": 0.18072
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.2,
"ER": 25.0,
"R": 25.0,
"H": 53.0,
"BB": 18.0,
"SO": 55.0,
"HR": 12.0,
"BF": 244.0,
"Pitches": 922.0
},
"per_game": {
"IP": 5.2,
"ER": 2.5,
"R": 2.5,
"H": 5.3,
"BB": 1.8,
"SO": 5.5,
"HR": 1.2,
"BF": 24.4,
"Pitches": 92.2
},
"rates": {
"ERA": 3.9706,
"WHIP": 1.2529,
"ER_per_IP": 0.44118,
"H_per_IP": 0.93529,
"BB_per_IP": 0.31765,
"SO_per_IP": 0.97059,
"HR_per_IP": 0.21176
}
},
"season": {
"games": 15,
"totals": {
"IP": 81.2,
"ER": 33.0,
"R": 33.0,
"H": 73.0,
"BB": 31.0,
"SO": 79.0,
"HR": 14.0,
"BF": 351.0,
"Pitches": 1369.0
},
"per_game": {
"IP": 5.1,
"ER": 2.2,
"R": 2.2,
"H": 4.8667,
"BB": 2.0667,
"SO": 5.2667,
"HR": 0.9333,
"BF": 23.4,
"Pitches": 91.2667
},
"rates": {
"ERA": 3.6367,
"WHIP": 1.2735,
"ER_per_IP": 0.40408,
"H_per_IP": 0.89388,
"BB_per_IP": 0.37959,
"SO_per_IP": 0.96735,
"HR_per_IP": 0.17143
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.545,
"predicted_H": 5.331,
"predicted_BB": 2.085,
"predicted_SO": 5.48,
"predicted_HR": 0.99,
"predicted_ERA": 4.1392,
"predicted_WHIP": 1.3403
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.545,
"final": 2.2967,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.331,
"final": 5.1802,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.085,
"final": 2.0463,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.48,
"final": 5.2613,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.99,
"final": 1.4502,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1392,
"final": 4.1392,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3403,
"final": 1.3403,
"source": "form_only"
}
}
}{
"available": false,
"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 | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3296 |
| ESPN Rank | 145 |
| 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 | 2 |
| Pre SO | 2 |
| Season ERA | 0.8308 |
| Season WHIP | 0.9692 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"opponent": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"edges": {
"quality_edge": -0.4526,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.0727,
"defense_strength": 0.1133,
"opponent_defense_weakness": -0.2297,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9824,
"run_prevention": 1.0229,
"strikeout": 0.9806
},
"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": 64.0,
"k_percent": 32.2,
"bb_percent": 10.0,
"woba": 0.265,
"xwoba": 0.258,
"sweet_spot_percent": 19.6,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 41.2,
"avg_best_speed": 75.7317,
"avg_hyper_speed": 95.3744,
"whiff_percent": 30.4,
"swing_percent": 50.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9041,
"command_and_miss": 0.7932,
"regression_edge": 0.2,
"xwoba_edge": 1.6143,
"barrel_edge": -0.5889,
"hard_hit_edge": -0.4143,
"whiff_edge": 0.65,
"bb_edge": -0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "547973",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3296,
"sample_weight": 0.45,
"run_prevention_factor": 0.972,
"strikeout_factor": 1.0361,
"walk_factor": 1.0081,
"homer_factor": 1.0069,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "547973",
"espn_id": 30442,
"player_name": "Aroldis Chapman",
"team": "BOS",
"role": "pitcher",
"espn_rank": 145,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 145,
"gp_value": 23.0,
"gp_rank": 166,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.0769,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 14.0,
"sv_rank": 10,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 21.2,
"ip_rank": 380,
"h_value": 16.0,
"h_rank": 414,
"er_value": 5.0,
"er_rank": 508,
"hr_value": 0.0,
"hr_rank": 599,
"bb_value": 9.0,
"bb_rank": 355,
"k_value": 29.0,
"k_rank": 285,
"k_per_9_value": 12.046153,
"k_per_9_rank": 20,
"whip_value": 1.1538,
"whip_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0031,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0162,
"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": 5,
"BB": 6,
"SO": 13,
"HR": 0,
"ERA": 1.0,
"WHIP": 1.2222222222222223,
"K9": 13.0,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "547973",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.29,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4618,
"prior_weight": 0.5382
},
"role": "pitcher",
"player_id": "547973",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 4.4,
"Pitches": 16.0
},
"rates": {
"ERA": 1.8,
"WHIP": 1.4,
"ER_per_IP": 0.2,
"H_per_IP": 1.0,
"BB_per_IP": 0.4,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 6.0,
"SO": 15.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 164.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.6,
"SO": 1.5,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 0.9,
"WHIP": 1.1,
"ER_per_IP": 0.1,
"H_per_IP": 0.5,
"BB_per_IP": 0.6,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 22,
"totals": {
"IP": 21.2,
"ER": 2.0,
"R": 2.0,
"H": 12.0,
"BB": 9.0,
"SO": 29.0,
"HR": 0.0,
"BF": 86.0,
"Pitches": 332.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0909,
"R": 0.0909,
"H": 0.5455,
"BB": 0.4091,
"SO": 1.3182,
"HR": 0.0,
"BF": 3.9091,
"Pitches": 15.0909
},
"rates": {
"ERA": 0.8308,
"WHIP": 0.9692,
"ER_per_IP": 0.09231,
"H_per_IP": 0.55385,
"BB_per_IP": 0.41538,
"SO_per_IP": 1.33846,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.335,
"predicted_H": 0.861,
"predicted_BB": 0.412,
"predicted_SO": 1.167,
"predicted_HR": 0.079,
"predicted_ERA": 3.0164,
"predicted_WHIP": 1.2738
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5774,
"form_weight": 0.4226,
"form_reliability": 0.4618,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.29,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4618,
"prior_weight": 0.5382
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.335,
"final": 1.2964,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.861,
"final": 1.5186,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.412,
"final": 1.3289,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.167,
"final": 1.648,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.079,
"final": 0.0334,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0164,
"final": 3.0164,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2738,
"final": 1.2738,
"source": "form_only"
}
}
}{
"available": false,
"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 |
| Projection Source | - |
| Savant Quality Score | 0.1195 |
| ESPN Rank | 219 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0211 |
| Avg Velo | 90.1279 |
| Avg Spin | 2107.6779 |
| 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.9189 |
| Season WHIP | 1.1351 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"opponent": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"edges": {
"quality_edge": -0.4526,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.0727,
"defense_strength": 0.1133,
"opponent_defense_weakness": -0.2297,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9824,
"run_prevention": 1.0229,
"strikeout": 0.9806
},
"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": 80.0,
"k_percent": 29.0,
"bb_percent": 6.0,
"woba": 0.291,
"xwoba": 0.312,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 32.3,
"avg_best_speed": 76.1019,
"avg_hyper_speed": 93.3437,
"whiff_percent": 29.4,
"swing_percent": 55.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2359,
"command_and_miss": 0.7375,
"regression_edge": -0.6,
"xwoba_edge": 0.0714,
"barrel_edge": 0.2111,
"hard_hit_edge": 0.8571,
"whiff_edge": 0.5071,
"bb_edge": 0.775,
"pitch_design_score": 0.0211
},
"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": 90.12792508309943,
"release_spin_rate": 2107.6778829395935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 90.12792508309943,
"release_spin_rate": 2107.6778829395935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1279,
"release_spin_rate": 2107.6779,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0211,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1507,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1195,
"sample_weight": 0.45,
"run_prevention_factor": 0.9898,
"strikeout_factor": 1.0253,
"walk_factor": 0.9721,
"homer_factor": 0.976,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676477",
"espn_id": 39674,
"player_name": "Garrett Whitlock",
"team": "BOS",
"role": "pitcher",
"espn_rank": 219,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 219,
"gp_value": 25.0,
"gp_rank": 147,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.9189,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 10.0,
"hld_rank": 25,
"ip_value": 24.2,
"ip_rank": 348,
"h_value": 22.0,
"h_rank": 325,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 3.0,
"hr_rank": 288,
"bb_value": 6.0,
"bb_rank": 452,
"k_value": 29.0,
"k_rank": 285,
"k_per_9_value": 10.581081,
"k_per_9_rank": 22,
"whip_value": 1.1351,
"whip_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9954,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9954,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9892,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0114,
"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": 9,
"BB": 0,
"SO": 10,
"HR": 1,
"ERA": 1.9285714285714288,
"WHIP": 0.9642857142857144,
"K9": 9.642857142857144,
"HR9": 0.9642857142857144,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00: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": 90.12792508309943,
"release_spin_rate": 2107.6778829395935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 90.12792508309943,
"release_spin_rate": 2107.6778829395935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1279,
"release_spin_rate": 2107.6779,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0211,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1507,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.884,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4941,
"prior_weight": 0.5059
},
"role": "pitcher",
"player_id": "676477",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 0.0,
"SO": 4.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.2,
"BB": 0.0,
"SO": 0.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 13.6
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 1.2,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 0.0,
"SO": 10.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 123.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.0,
"SO": 1.0,
"HR": 0.1,
"BF": 3.5,
"Pitches": 12.3
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.9643,
"ER_per_IP": 0.21429,
"H_per_IP": 0.96429,
"BB_per_IP": 0.0,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 25,
"totals": {
"IP": 24.2,
"ER": 8.0,
"R": 9.0,
"H": 22.0,
"BB": 6.0,
"SO": 29.0,
"HR": 3.0,
"BF": 100.0,
"Pitches": 387.0
},
"per_game": {
"IP": 1.0,
"ER": 0.32,
"R": 0.36,
"H": 0.88,
"BB": 0.24,
"SO": 1.16,
"HR": 0.12,
"BF": 4.0,
"Pitches": 15.48
},
"rates": {
"ERA": 2.9189,
"WHIP": 1.1351,
"ER_per_IP": 0.32432,
"H_per_IP": 0.89189,
"BB_per_IP": 0.24324,
"SO_per_IP": 1.17568,
"HR_per_IP": 0.12162
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.366,
"predicted_H": 1.012,
"predicted_BB": 0.206,
"predicted_SO": 0.959,
"predicted_HR": 0.149,
"predicted_ERA": 3.2971,
"predicted_WHIP": 1.2184
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5637,
"form_weight": 0.4363,
"form_reliability": 0.4941,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.884,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4941,
"prior_weight": 0.5059
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.366,
"final": 0.1597,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.012,
"final": 0.4415,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.206,
"final": 0.0899,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.959,
"final": 0.4184,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.149,
"final": 0.065,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2971,
"final": 3.2971,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2184,
"final": 1.2184,
"source": "form_only"
}
}
}{
"available": false,
"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 Slaten |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0231 |
| ESPN Rank | 679 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 6.4800 |
| Season WHIP | 1.6800 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"opponent": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"edges": {
"quality_edge": -0.4526,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.0727,
"defense_strength": 0.1133,
"opponent_defense_weakness": -0.2297,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9824,
"run_prevention": 1.0229,
"strikeout": 0.9806
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686580",
"profile": {
"available": true,
"pitcher_id": "686580",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 37.0,
"k_percent": 26.3,
"bb_percent": 6.6,
"woba": 0.397,
"xwoba": 0.308,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 43.1,
"avg_best_speed": 78.2983,
"avg_hyper_speed": 94.7928,
"whiff_percent": 26.8,
"swing_percent": 48.9
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.4531,
"command_and_miss": 0.4039,
"regression_edge": 2.0,
"xwoba_edge": 0.1857,
"barrel_edge": -0.1444,
"hard_hit_edge": -0.6857,
"whiff_edge": 0.1357,
"bb_edge": 0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "686580",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0231,
"sample_weight": 0.45,
"run_prevention_factor": 0.998,
"strikeout_factor": 1.0117,
"walk_factor": 0.9775,
"homer_factor": 1.015,
"woba_minus_xwoba": 0.089,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "686580",
"espn_id": 4917925,
"player_name": "Justin Slaten",
"team": "BOS",
"role": "pitcher",
"espn_rank": 679,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 679,
"gp_value": 19.0,
"gp_rank": 209,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 6.48,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 8.0,
"hld_rank": 49,
"ip_value": 16.2,
"ip_rank": 434,
"h_value": 23.0,
"h_rank": 317,
"er_value": 12.0,
"er_rank": 294,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 5.0,
"bb_rank": 488,
"k_value": 20.0,
"k_rank": 368,
"k_per_9_value": 10.8,
"k_per_9_rank": 22,
"whip_value": 1.68,
"whip_rank": null,
"war_value": -0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9991,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0068,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0053,
"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": 12,
"H": 19,
"BB": 3,
"SO": 9,
"HR": 4,
"ERA": 12.461538461538462,
"WHIP": 2.5384615384615388,
"K9": 9.346153846153847,
"HR9": 4.153846153846154,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "686580",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.3,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3976,
"prior_weight": 0.6024
},
"role": "pitcher",
"player_id": "686580",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 8.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 63.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.6,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.6
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.8462,
"ER_per_IP": 0.46154,
"H_per_IP": 1.84615,
"BB_per_IP": 0.0,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 12.0,
"R": 12.0,
"H": 19.0,
"BB": 3.0,
"SO": 9.0,
"HR": 4.0,
"BF": 46.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.9,
"BB": 0.3,
"SO": 0.9,
"HR": 0.4,
"BF": 4.6,
"Pitches": 16.0
},
"rates": {
"ERA": 12.4615,
"WHIP": 2.5385,
"ER_per_IP": 1.38462,
"H_per_IP": 2.19231,
"BB_per_IP": 0.34615,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.46154
}
},
"season": {
"games": 19,
"totals": {
"IP": 16.2,
"ER": 12.0,
"R": 13.0,
"H": 23.0,
"BB": 5.0,
"SO": 20.0,
"HR": 4.0,
"BF": 76.0,
"Pitches": 282.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6316,
"R": 0.6842,
"H": 1.2105,
"BB": 0.2632,
"SO": 1.0526,
"HR": 0.2105,
"BF": 4.0,
"Pitches": 14.8421
},
"rates": {
"ERA": 6.48,
"WHIP": 1.68,
"ER_per_IP": 0.72,
"H_per_IP": 1.38,
"BB_per_IP": 0.3,
"SO_per_IP": 1.2,
"HR_per_IP": 0.24
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.633,
"predicted_H": 1.329,
"predicted_BB": 0.289,
"predicted_SO": 0.976,
"predicted_HR": 0.171,
"predicted_ERA": 5.7014,
"predicted_WHIP": 1.6181
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6045,
"form_weight": 0.3955,
"form_reliability": 0.3976,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.3,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3976,
"prior_weight": 0.6024
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.633,
"final": 0.2503,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.329,
"final": 0.5256,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.289,
"final": 0.1143,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.976,
"final": 1.595,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.171,
"final": 0.0676,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.7014,
"final": 5.7014,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6181,
"final": 1.6181,
"source": "form_only"
}
}
}{
"available": false,
"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 | Greg Weissert |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2276 |
| ESPN Rank | 363 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.3000 |
| Season WHIP | 1.1667 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 87,
"wins": 34,
"losses": 53,
"win_pct": 0.3908,
"runs_scored": 330.0,
"runs_allowed": 352.0,
"run_differential": -22.0,
"run_differential_per_game": -0.2529,
"avg_runs_scored": 3.7931,
"avg_runs_allowed": 4.046,
"offense_index": 0.8421,
"defense_index": 1.1133,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.3,
"avg_runs_allowed": 3.8,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.1937
},
"opponent": {
"team": "NYY",
"games": 89,
"wins": 53,
"losses": 36,
"win_pct": 0.5955,
"runs_scored": 430.0,
"runs_allowed": 326.0,
"run_differential": 104.0,
"run_differential_per_game": 1.1685,
"avg_runs_scored": 4.8315,
"avg_runs_allowed": 3.6629,
"offense_index": 1.0727,
"defense_index": 1.2297,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.9,
"run_differential": 11.0
},
"available": true,
"quality_score": 0.2589
},
"edges": {
"quality_edge": -0.4526,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.0727,
"defense_strength": 0.1133,
"opponent_defense_weakness": -0.2297,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9824,
"run_prevention": 1.0229,
"strikeout": 0.9806
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669711",
"profile": {
"available": true,
"pitcher_id": "669711",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 23.4,
"bb_percent": 7.0,
"woba": 0.313,
"xwoba": 0.278,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 29.9,
"avg_best_speed": 75.8382,
"avg_hyper_speed": 92.8929,
"whiff_percent": 22.5,
"swing_percent": 47.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.7326,
"command_and_miss": -0.0175,
"regression_edge": 1.0,
"xwoba_edge": 1.0429,
"barrel_edge": 0.5667,
"hard_hit_edge": 1.2,
"whiff_edge": -0.4786,
"bb_edge": 0.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "669711",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2276,
"sample_weight": 0.45,
"run_prevention_factor": 0.9807,
"strikeout_factor": 0.9932,
"walk_factor": 0.9811,
"homer_factor": 0.9439,
"woba_minus_xwoba": 0.035,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669711",
"espn_id": 41485,
"player_name": "Greg Weissert",
"team": "BOS",
"role": "pitcher",
"espn_rank": 363,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 363,
"gp_value": 32.0,
"gp_rank": 66,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.6,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 4.0,
"hld_rank": 130,
"ip_value": 30.0,
"ip_rank": 288,
"h_value": 29.0,
"h_rank": 247,
"er_value": 12.0,
"er_rank": 294,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 9.0,
"bb_rank": 355,
"k_value": 30.0,
"k_rank": 277,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 1.2666,
"whip_rank": null,
"war_value": 0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9748,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9969,
"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": 7,
"BB": 2,
"SO": 10,
"HR": 1,
"ERA": 2.793103448275862,
"WHIP": 0.9310344827586208,
"K9": 9.310344827586208,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": false,
"pitcher_id": "669711",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.94,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"role": "pitcher",
"player_id": "669711",
"report_date": "20260625_N",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 59.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.4,
"Pitches": 11.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.6429,
"ER_per_IP": 0.21429,
"H_per_IP": 0.64286,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 151.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.2,
"SO": 1.0,
"HR": 0.1,
"BF": 3.8,
"Pitches": 15.1
},
"rates": {
"ERA": 2.7931,
"WHIP": 0.931,
"ER_per_IP": 0.31034,
"H_per_IP": 0.72414,
"BB_per_IP": 0.2069,
"SO_per_IP": 1.03448,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 31,
"totals": {
"IP": 30.0,
"ER": 11.0,
"R": 12.0,
"H": 27.0,
"BB": 8.0,
"SO": 30.0,
"HR": 5.0,
"BF": 125.0,
"Pitches": 486.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3548,
"R": 0.3871,
"H": 0.871,
"BB": 0.2581,
"SO": 0.9677,
"HR": 0.1613,
"BF": 4.0323,
"Pitches": 15.6774
},
"rates": {
"ERA": 3.3,
"WHIP": 1.1667,
"ER_per_IP": 0.36667,
"H_per_IP": 0.9,
"BB_per_IP": 0.26667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.16667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.322,
"predicted_H": 0.708,
"predicted_BB": 0.197,
"predicted_SO": 0.803,
"predicted_HR": 0.089,
"predicted_ERA": 3.4155,
"predicted_WHIP": 1.0683
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5431,
"form_weight": 0.4569,
"form_reliability": 0.543,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.94,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.322,
"final": 0.1471,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.708,
"final": 0.8666,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.197,
"final": 0.09,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.803,
"final": 0.91,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.0407,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4155,
"final": 3.4155,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0683,
"final": 1.0683,
"source": "form_only"
}
}
}{
"available": false,
"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.211 | 0.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.230 | 4.000 | 4.000 | Hitting_AB | 3.917 | 4.000 | 0.083 | 0.000 |
| predicted_AVG | 0.244 | 0.500 | 0.250 | Hitting_AVG | 0.280 | 0.000 | 0.220 | 0.500 |
| predicted_BB | 0.395 | 0.000 | 0.000 | Hitting_BB | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 1.030 | 2.000 | 1.000 | Hitting_H | 1.095 | 0.000 | 0.905 | 2.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.343 | 0.500 | 0.250 | Hitting_OBP | 0.345 | 0.000 | 0.155 | 0.500 |
| predicted_R | 0.461 | 0.000 | 0.000 | Hitting_R | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_RBI | 0.590 | 0.000 | 0.000 | Hitting_RBI | 0.451 | 0.000 | -0.451 | 0.000 |
| predicted_SLG | 0.464 | 0.500 | 0.250 | Hitting_SLG | 0.432 | 0.000 | 0.068 | 0.500 |
| predicted_SO | 0.816 | 1.000 | 1.000 | Hitting_SO | 0.802 | 1.000 | 0.198 | 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_H: 1.0300 -> 2.0000 (boost 0.9700, better) |
| Biggest Deboost | predicted_RBI: 0.5900 -> 0.0000 (deboost -0.5900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_SLG: 0.4640 -> 0.4830 (boost 0.0190, better) | predicted_AB: 4.2300 -> 4.0262 (deboost -0.2038, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.0240 -> 0.9612 (deboost -0.0628, 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.7628 -> 1.0000 (boost 0.2372, worse) | predicted_RBI: 0.5252 -> 0.0000 (deboost -0.5252, worse) | AB rounded to 4 (raw=4.23), rates preserved: AVG=0.227 HR/AB=0.043 |
| 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.4364 -> 0.0000 (deboost -0.4364, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2387 -> 0.2500 (boost 0.0113, better) | predicted_SLG: 0.4424 -> 0.2500 (deboost -0.1924, 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_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4424 (boost 0.1924, better) | predicted_AVG: 0.2500 -> 0.2387 (deboost -0.0113, worse) | 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.211,
"predicted_3B": 0.026,
"predicted_AB": 4.23,
"predicted_AVG": 0.244,
"predicted_BB": 0.395,
"predicted_H": 1.03,
"predicted_HR": 0.19,
"predicted_OBP": 0.343,
"predicted_R": 0.461,
"predicted_RBI": 0.59,
"predicted_SLG": 0.464,
"predicted_SO": 0.816
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1833,
"predicted_3B": 0.0464,
"predicted_AB": 4.0262,
"predicted_AVG": 0.2554,
"predicted_BB": 0.4431,
"predicted_H": 1.024,
"predicted_HBP": 0.003,
"predicted_HR": 0.1938,
"predicted_OBP": 0.3482,
"predicted_R": 0.487,
"predicted_RBI": 0.5862,
"predicted_SLG": 0.483,
"predicted_SO": 0.7479
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.1833,
"delta": -0.0277,
"percent_delta": -0.1313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0464,
"delta": 0.0204,
"percent_delta": 0.7846,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.23,
"after": 4.0262,
"delta": -0.2038,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2554,
"delta": 0.0114,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.4431,
"delta": 0.0481,
"percent_delta": 0.1218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.024,
"delta": -0.006,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1938,
"delta": 0.0038,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3482,
"delta": 0.0052,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.461,
"after": 0.487,
"delta": 0.026,
"percent_delta": 0.0564,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.5862,
"delta": -0.0038,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.483,
"delta": 0.019,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.816,
"after": 0.7479,
"delta": -0.0681,
"percent_delta": -0.0835,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.483,
"delta": 0.019,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.23,
"after": 4.0262,
"delta": -0.2038,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1833,
"predicted_3B": 0.0464,
"predicted_AB": 4.0262,
"predicted_AVG": 0.2387,
"predicted_BB": 0.4343,
"predicted_H": 0.9612,
"predicted_HBP": 0.003,
"predicted_HR": 0.1813,
"predicted_OBP": 0.3129,
"predicted_R": 0.4364,
"predicted_RBI": 0.5252,
"predicted_SLG": 0.4424,
"predicted_SO": 0.7628
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1833,
"after": 0.1833,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0464,
"after": 0.0464,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0262,
"after": 4.0262,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2554,
"after": 0.2387,
"delta": -0.0167,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4431,
"after": 0.4343,
"delta": -0.0088,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.024,
"after": 0.9612,
"delta": -0.0628,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1938,
"after": 0.1813,
"delta": -0.0125,
"percent_delta": -0.0645,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3482,
"after": 0.3129,
"delta": -0.0353,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.487,
"after": 0.4364,
"delta": -0.0506,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5862,
"after": 0.5252,
"delta": -0.061,
"percent_delta": -0.1041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.4424,
"delta": -0.0406,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7479,
"after": 0.7628,
"delta": 0.0149,
"percent_delta": 0.0199,
"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_H",
"before": 1.024,
"after": 0.9612,
"delta": -0.0628,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.23), rates preserved: AVG=0.227 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.1833,
"after": 0.0,
"delta": -0.1833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0464,
"after": 0.0,
"delta": -0.0464,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0262,
"after": 4.0,
"delta": -0.0262,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.9612,
"after": 1.0,
"delta": 0.0388,
"percent_delta": 0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1813,
"after": 0.0,
"delta": -0.1813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5252,
"after": 0.0,
"delta": -0.5252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7628,
"after": 1.0,
"delta": 0.2372,
"percent_delta": 0.311,
"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.7628,
"after": 1.0,
"delta": 0.2372,
"percent_delta": 0.311,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5252,
"after": 0.0,
"delta": -0.5252,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4364,
"after": 0.0,
"delta": -0.4364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4364,
"after": 0.0,
"delta": -0.4364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.25,
"delta": 0.0113,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3129,
"after": 0.25,
"delta": -0.0629,
"percent_delta": -0.201,
"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.4424,
"after": 0.25,
"delta": -0.1924,
"percent_delta": -0.4349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.25,
"delta": 0.0113,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4424,
"after": 0.25,
"delta": -0.1924,
"percent_delta": -0.4349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2387,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3129,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4424,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2387,
"delta": -0.0113,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3129,
"delta": 0.0629,
"percent_delta": 0.2514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4424,
"delta": 0.1924,
"percent_delta": 0.7696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4424,
"delta": 0.1924,
"percent_delta": 0.7696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2387,
"delta": -0.0113,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.23,
"after": 4.0,
"delta": -0.23,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2387,
"delta": -0.0053,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"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.343,
"after": 0.3129,
"delta": -0.0301,
"percent_delta": -0.0878,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.461,
"after": 0.0,
"delta": -0.461,
"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.464,
"after": 0.4424,
"delta": -0.0216,
"percent_delta": -0.0466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.816,
"after": 1.0,
"delta": 0.184,
"percent_delta": 0.2255,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.211 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 4.230 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.395 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.461 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.464 | - |
| predicted_SO | 0.816 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | -0.028 |
| predicted_3B | 0.046 | 0.020 |
| predicted_AB | 4.026 | -0.204 |
| predicted_AVG | 0.255 | 0.011 |
| predicted_BB | 0.443 | 0.048 |
| predicted_H | 1.024 | -0.006 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.194 | 0.004 |
| predicted_OBP | 0.348 | 0.005 |
| predicted_R | 0.487 | 0.026 |
| predicted_RBI | 0.586 | -0.004 |
| predicted_SLG | 0.483 | 0.019 |
| predicted_SO | 0.748 | -0.068 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.000 |
| predicted_3B | 0.046 | 0.000 |
| predicted_AB | 4.026 | 0.000 |
| predicted_AVG | 0.239 | -0.017 |
| predicted_BB | 0.434 | -0.009 |
| predicted_H | 0.961 | -0.063 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.181 | -0.013 |
| predicted_OBP | 0.313 | -0.035 |
| predicted_R | 0.436 | -0.051 |
| predicted_RBI | 0.525 | -0.061 |
| predicted_SLG | 0.442 | -0.041 |
| predicted_SO | 0.763 | 0.015 |
AB rounded to 4 (raw=4.23), rates preserved: AVG=0.227 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 | - |
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 | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.183 |
| predicted_3B | 0.000 | -0.046 |
| predicted_AB | 4.000 | -0.026 |
| predicted_AVG | 0.250 | 0.011 |
| predicted_BB | 0.000 | -0.434 |
| predicted_H | 1.000 | 0.039 |
| predicted_HR | 0.000 | -0.181 |
| predicted_OBP | 0.250 | -0.063 |
| predicted_R | 0.000 | -0.436 |
| predicted_RBI | 0.000 | -0.525 |
| predicted_SLG | 0.250 | -0.192 |
| predicted_SO | 1.000 | 0.237 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 4.000 | 1.000 | 0.2941 | 0.4286 | 0.7647 | 0.2941 | 0.1177 | 0.2353 | 0.2353 | 0.0588 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 1.000 | 2.000 | 6.000 | 4.000 | 6.000 | 6.000 | 0.2432 | 0.3488 | 0.4865 | 0.2432 | 0.0541 | 0.1622 | 0.1622 | 0.1622 |
| season | 0.60 | 76 | - | 294.000 | 81.000 | 16.000 | 2.000 | 10.000 | 38.000 | 35.000 | 30.000 | 62.000 | 0.2755 | 0.3394 | 0.4456 | 0.2755 | 0.0340 | 0.1293 | 0.1020 | 0.2109 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0740 |
| predicted_AB | 3.7510 |
| predicted_AVG | 0.2709 |
| predicted_BB | 0.5080 |
| predicted_H | 1.0160 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1990 |
| predicted_OBP | 0.3553 |
| predicted_R | 0.5220 |
| predicted_RBI | 0.5810 |
| predicted_SLG | 0.5086 |
| predicted_SO | 0.6560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.1460 | 0.1833 | model_form_blend |
| predicted_3B | 0.0260 | 0.0740 | 0.0464 | model_form_blend |
| predicted_AB | 4.2300 | 3.7510 | 4.0262 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2709 | 0.2554 | model_form_blend |
| predicted_BB | 0.3950 | 0.5080 | 0.4431 | model_form_blend |
| predicted_H | 1.0300 | 1.0160 | 1.0240 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1900 | 0.1990 | 0.1938 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3553 | 0.3482 | model_form_blend |
| predicted_R | 0.4610 | 0.5220 | 0.4870 | model_form_blend |
| predicted_RBI | 0.5900 | 0.5810 | 0.5862 | model_form_blend |
| predicted_SLG | 0.4640 | 0.5086 | 0.4830 | model_form_blend |
| predicted_SO | 0.8160 | 0.6560 | 0.7479 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 253 |
| Season rows before report date | 253 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.276 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_BOS@COL |
| game_type | full |
| mlbID | 677800 |
| playerID | 677800 |
| playerName | Wilyer Abreu |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-24 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.342 |
| sl_xwoba | 0.34 |
| sl_xba | 0.26 |
| sl_xslg | 0.462 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 17.7 |
| sl_whiff_percent | 22.4 |
| sl_swing_percent | 49.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.250 | 0.000 | 0.000 | Hitting_2B | 0.206 | 1.000 | -0.206 | -1.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.049 | 1.000 | -0.049 | -1.000 |
| predicted_AB | 4.120 | 5.000 | 4.000 | Hitting_AB | 3.785 | 5.000 | 1.215 | 0.000 |
| predicted_AVG | 0.247 | 0.200 | 0.250 | Hitting_AVG | 0.284 | 0.600 | -0.084 | -0.400 |
| predicted_BB | 0.194 | 0.000 | 0.000 | Hitting_BB | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_H | 1.010 | 1.000 | 1.000 | Hitting_H | 1.076 | 3.000 | -0.076 | -2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_OBP | 0.311 | 0.200 | 0.250 | Hitting_OBP | 0.346 | 0.600 | -0.146 | -0.400 |
| predicted_R | 0.444 | 0.000 | 0.000 | Hitting_R | 0.466 | 1.000 | -0.466 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.448 | 1.000 | -0.448 | -1.000 |
| predicted_SLG | 0.413 | 0.200 | 0.250 | Hitting_SLG | 0.436 | 1.200 | -0.236 | -1.000 |
| predicted_SO | 0.833 | 1.000 | 1.000 | Hitting_SO | 0.865 | 2.000 | 0.135 | -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: 4.1200 -> 5.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_RBI: 0.4500 -> 0.0000 (deboost -0.4500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2470 -> 0.2605 (boost 0.0135, better) | predicted_AB: 4.1200 -> 4.0697 (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 | 4 | 0 | 4 | 0 | 4 | - | predicted_H: 1.0548 -> 0.9901 (deboost -0.0647, 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.8690 -> 1.0000 (boost 0.1310, worse) | predicted_RBI: 0.4047 -> 0.0000 (deboost -0.4047, worse) | AB rounded to 4 (raw=4.12), rates preserved: AVG=0.240 HR/AB=0.018 |
| 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.3888 -> 0.0000 (deboost -0.3888, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2433 -> 0.2500 (boost 0.0067, better) | predicted_SLG: 0.3928 -> 0.2500 (deboost -0.1428, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3928 (boost 0.1428, better) | predicted_AVG: 0.2500 -> 0.2433 (deboost -0.0067, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"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.25,
"predicted_3B": 0.042,
"predicted_AB": 4.12,
"predicted_AVG": 0.247,
"predicted_BB": 0.194,
"predicted_H": 1.01,
"predicted_HR": 0.09,
"predicted_OBP": 0.311,
"predicted_R": 0.444,
"predicted_RBI": 0.45,
"predicted_SLG": 0.413,
"predicted_SO": 0.833
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.269,
"predicted_3B": 0.056,
"predicted_AB": 4.0697,
"predicted_AVG": 0.2605,
"predicted_BB": 0.1712,
"predicted_H": 1.0548,
"predicted_HBP": 0.051,
"predicted_HR": 0.0811,
"predicted_OBP": 0.3111,
"predicted_R": 0.4339,
"predicted_RBI": 0.4517,
"predicted_SLG": 0.4251,
"predicted_SO": 0.852
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.269,
"delta": 0.019,
"percent_delta": 0.076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.056,
"delta": 0.014,
"percent_delta": 0.3333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0697,
"delta": -0.0503,
"percent_delta": -0.0122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2605,
"delta": 0.0135,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.194,
"after": 0.1712,
"delta": -0.0228,
"percent_delta": -0.1175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0548,
"delta": 0.0448,
"percent_delta": 0.0444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0811,
"delta": -0.0089,
"percent_delta": -0.0989,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3111,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.4339,
"delta": -0.0101,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4517,
"delta": 0.0017,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4251,
"delta": 0.0121,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.852,
"delta": 0.019,
"percent_delta": 0.0228,
"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.247,
"after": 0.2605,
"delta": 0.0135,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0697,
"delta": -0.0503,
"percent_delta": -0.0122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.269,
"predicted_3B": 0.056,
"predicted_AB": 4.0697,
"predicted_AVG": 0.2433,
"predicted_BB": 0.1678,
"predicted_H": 0.9901,
"predicted_HBP": 0.051,
"predicted_HR": 0.0759,
"predicted_OBP": 0.2733,
"predicted_R": 0.3888,
"predicted_RBI": 0.4047,
"predicted_SLG": 0.3928,
"predicted_SO": 0.869
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.269,
"after": 0.269,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.056,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0697,
"after": 4.0697,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2605,
"after": 0.2433,
"delta": -0.0172,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1712,
"after": 0.1678,
"delta": -0.0034,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0548,
"after": 0.9901,
"delta": -0.0647,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.0811,
"after": 0.0759,
"delta": -0.0052,
"percent_delta": -0.0641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3111,
"after": 0.2733,
"delta": -0.0378,
"percent_delta": -0.1215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4339,
"after": 0.3888,
"delta": -0.0451,
"percent_delta": -0.1039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4517,
"after": 0.4047,
"delta": -0.047,
"percent_delta": -0.1041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4251,
"after": 0.3928,
"delta": -0.0323,
"percent_delta": -0.076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 0.869,
"delta": 0.017,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0548,
"after": 0.9901,
"delta": -0.0647,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.12), rates preserved: AVG=0.240 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0697,
"after": 4.0,
"delta": -0.0697,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1678,
"after": 0.0,
"delta": -0.1678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9901,
"after": 1.0,
"delta": 0.0099,
"percent_delta": 0.01,
"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.0759,
"after": 0.0,
"delta": -0.0759,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4047,
"after": 0.0,
"delta": -0.4047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.869,
"after": 1.0,
"delta": 0.131,
"percent_delta": 0.1507,
"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.869,
"after": 1.0,
"delta": 0.131,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4047,
"after": 0.0,
"delta": -0.4047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3888,
"after": 0.0,
"delta": -0.3888,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3888,
"after": 0.0,
"delta": -0.3888,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2433,
"after": 0.25,
"delta": 0.0067,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2733,
"after": 0.25,
"delta": -0.0233,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3928,
"after": 0.25,
"delta": -0.1428,
"percent_delta": -0.3635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2433,
"after": 0.25,
"delta": 0.0067,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3928,
"after": 0.25,
"delta": -0.1428,
"percent_delta": -0.3635,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2433,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2733,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3928,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2433,
"delta": -0.0067,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2733,
"delta": 0.0233,
"percent_delta": 0.093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3928,
"delta": 0.1428,
"percent_delta": 0.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3928,
"delta": 0.1428,
"percent_delta": 0.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2433,
"delta": -0.0067,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 4.12,
"after": 5.0,
"delta": 0.88,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2433,
"delta": -0.0037,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.194,
"after": 0.0,
"delta": -0.194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0,
"delta": -0.01,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.2733,
"delta": -0.0377,
"percent_delta": -0.1212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.3928,
"delta": -0.0202,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 5.0,
"delta": 0.88,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 4.120 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.194 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.444 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.833 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.269 | 0.019 |
| predicted_3B | 0.056 | 0.014 |
| predicted_AB | 4.070 | -0.050 |
| predicted_AVG | 0.261 | 0.014 |
| predicted_BB | 0.171 | -0.023 |
| predicted_H | 1.055 | 0.045 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.081 | -0.009 |
| predicted_OBP | 0.311 | 0.000 |
| predicted_R | 0.434 | -0.010 |
| predicted_RBI | 0.452 | 0.002 |
| predicted_SLG | 0.425 | 0.012 |
| predicted_SO | 0.852 | 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.269 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 4.070 | 0.000 |
| predicted_AVG | 0.243 | -0.017 |
| predicted_BB | 0.168 | -0.003 |
| predicted_H | 0.990 | -0.065 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.076 | -0.005 |
| predicted_OBP | 0.273 | -0.038 |
| predicted_R | 0.389 | -0.045 |
| predicted_RBI | 0.405 | -0.047 |
| predicted_SLG | 0.393 | -0.032 |
| predicted_SO | 0.869 | 0.017 |
AB rounded to 4 (raw=4.12), rates preserved: AVG=0.240 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.269 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 4.000 | -0.070 |
| predicted_AVG | 0.250 | 0.007 |
| predicted_BB | 0.000 | -0.168 |
| predicted_H | 1.000 | 0.010 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.250 | -0.023 |
| predicted_R | 0.000 | -0.389 |
| predicted_RBI | 0.000 | -0.405 |
| predicted_SLG | 0.250 | -0.143 |
| predicted_SO | 1.000 | 0.131 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 2.000 | 1.000 | 0.000 | 2.000 | 2.000 | 0.000 | 5.000 | 0.2727 | 0.2727 | 0.4545 | 0.2727 | 0.0000 | 0.0909 | 0.0000 | 0.2273 |
| last_10 | 0.20 | 10 | - | 43.000 | 12.000 | 4.000 | 1.000 | 0.000 | 4.000 | 3.000 | 0.000 | 9.000 | 0.2791 | 0.2791 | 0.4186 | 0.2791 | 0.0000 | 0.0930 | 0.0000 | 0.2093 |
| season | 0.60 | 72 | - | 273.000 | 78.000 | 18.000 | 3.000 | 7.000 | 34.000 | 32.000 | 14.000 | 60.000 | 0.2857 | 0.3345 | 0.4505 | 0.2857 | 0.0256 | 0.1245 | 0.0513 | 0.2198 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2950 |
| predicted_3B | 0.0750 |
| predicted_AB | 4.0010 |
| predicted_AVG | 0.2789 |
| predicted_BB | 0.1400 |
| predicted_H | 1.1160 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.0690 |
| predicted_OBP | 0.3113 |
| predicted_R | 0.4200 |
| predicted_RBI | 0.4540 |
| predicted_SLG | 0.4417 |
| predicted_SO | 0.8780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2950 | 0.2690 | model_form_blend |
| predicted_3B | 0.0420 | 0.0750 | 0.0560 | model_form_blend |
| predicted_AB | 4.1200 | 4.0010 | 4.0697 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2789 | 0.2605 | model_form_blend |
| predicted_BB | 0.1940 | 0.1400 | 0.1712 | model_form_blend |
| predicted_H | 1.0100 | 1.1160 | 1.0548 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.0900 | 0.0690 | 0.0811 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3113 | 0.3111 | model_form_blend |
| predicted_R | 0.4440 | 0.4200 | 0.4339 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4540 | 0.4517 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4417 | 0.4251 | model_form_blend |
| predicted_SO | 0.8330 | 0.8780 | 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 | 223 |
| Season rows before report date | 223 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 1 |
| 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 | 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 | CF |
| gameID | 20260624_BOS@COL |
| game_type | full |
| mlbID | 678882 |
| playerID | 678882 |
| playerName | Ceddanne Rafaela |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.344 |
| sl_xwoba | 0.29 |
| sl_xba | 0.244 |
| sl_xslg | 0.36 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 53.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 0.000 | 0.000 | Hitting_2B | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.041 | 4.000 | 3.000 | Hitting_AB | 3.217 | 3.000 | 0.783 | 1.000 |
| predicted_AVG | 0.233 | 0.250 | 0.333 | Hitting_AVG | 0.255 | 0.000 | -0.005 | 0.250 |
| predicted_BB | 0.265 | 1.000 | 0.000 | Hitting_BB | 0.380 | 1.000 | 0.620 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.330 | 1.000 | 1.000 | Hitting_H | 0.822 | 0.000 | 0.178 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_OBP | 0.279 | 0.400 | 0.333 | Hitting_OBP | 0.344 | 0.250 | 0.056 | 0.150 |
| predicted_R | 0.306 | 1.000 | 0.000 | Hitting_R | 0.403 | 0.000 | 0.597 | 1.000 |
| predicted_RBI | 0.130 | 1.000 | 0.000 | Hitting_RBI | 0.225 | 0.000 | 0.775 | 1.000 |
| predicted_SLG | 0.320 | 0.250 | 0.333 | Hitting_SLG | 0.364 | 0.000 | -0.114 | 0.250 |
| predicted_SO | 0.408 | 1.000 | 0.000 | Hitting_SO | 0.341 | 0.000 | 0.659 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.0410 -> 4.0000 (boost 0.9590, better) |
| Biggest Deboost | predicted_2B: 0.1430 -> 0.0000 (deboost -0.1430, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.3300 -> 0.4961 (boost 0.1661, better) | predicted_SLG: 0.3200 -> 0.3125 (deboost -0.0075, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3125 -> 0.2300 (deboost -0.0825, 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_H: 0.4657 -> 0.0000 (deboost -0.4657, worse) | AB rounded to 3 (raw=3.11), rates preserved: AVG=0.150 HR/AB=0.009 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2575 -> 0.0000 (deboost -0.2575, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1499 -> 0.3330 (boost 0.1831, better) | - | 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1499 (deboost -0.1831, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807799",
"player_name": "Masataka Yoshida",
"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.143,
"predicted_3B": 0.02,
"predicted_AB": 3.041,
"predicted_AVG": 0.233,
"predicted_BB": 0.265,
"predicted_H": 0.33,
"predicted_HR": 0.03,
"predicted_OBP": 0.279,
"predicted_R": 0.306,
"predicted_RBI": 0.13,
"predicted_SLG": 0.32,
"predicted_SO": 0.408
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1325,
"predicted_3B": 0.0172,
"predicted_AB": 3.1071,
"predicted_AVG": 0.2321,
"predicted_BB": 0.2585,
"predicted_H": 0.4961,
"predicted_HBP": 0.054,
"predicted_HR": 0.0292,
"predicted_OBP": 0.2861,
"predicted_R": 0.2874,
"predicted_RBI": 0.1478,
"predicted_SLG": 0.3125,
"predicted_SO": 0.4299
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1325,
"delta": -0.0105,
"percent_delta": -0.0734,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0172,
"delta": -0.0028,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.041,
"after": 3.1071,
"delta": 0.0661,
"percent_delta": 0.0217,
"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.265,
"after": 0.2585,
"delta": -0.0065,
"percent_delta": -0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.4961,
"delta": 0.1661,
"percent_delta": 0.5033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0292,
"delta": -0.0008,
"percent_delta": -0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2861,
"delta": 0.0071,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.306,
"after": 0.2874,
"delta": -0.0186,
"percent_delta": -0.0608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.1478,
"delta": 0.0178,
"percent_delta": 0.1369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3125,
"delta": -0.0075,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.408,
"after": 0.4299,
"delta": 0.0219,
"percent_delta": 0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.33,
"after": 0.4961,
"delta": 0.1661,
"percent_delta": 0.5033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3125,
"delta": -0.0075,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 49
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1325,
"predicted_3B": 0.0172,
"predicted_AB": 3.1071,
"predicted_AVG": 0.1499,
"predicted_BB": 0.2534,
"predicted_H": 0.4657,
"predicted_HBP": 0.054,
"predicted_HR": 0.0273,
"predicted_OBP": 0.214,
"predicted_R": 0.2575,
"predicted_RBI": 0.1324,
"predicted_SLG": 0.23,
"predicted_SO": 0.4385
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1325,
"after": 0.1325,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0172,
"after": 0.0172,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1071,
"after": 3.1071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2321,
"after": 0.1499,
"delta": -0.0822,
"percent_delta": -0.3542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2585,
"after": 0.2534,
"delta": -0.0051,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4961,
"after": 0.4657,
"delta": -0.0304,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0292,
"after": 0.0273,
"delta": -0.0019,
"percent_delta": -0.0651,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2861,
"after": 0.214,
"delta": -0.0721,
"percent_delta": -0.252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2874,
"after": 0.2575,
"delta": -0.0299,
"percent_delta": -0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1478,
"after": 0.1324,
"delta": -0.0154,
"percent_delta": -0.1042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3125,
"after": 0.23,
"delta": -0.0825,
"percent_delta": -0.264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4299,
"after": 0.4385,
"delta": 0.0086,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3125,
"after": 0.23,
"delta": -0.0825,
"percent_delta": -0.264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.11), rates preserved: AVG=0.150 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1325,
"after": 0.0,
"delta": -0.1325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0172,
"after": 0.0,
"delta": -0.0172,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1071,
"after": 3.0,
"delta": -0.1071,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2534,
"after": 0.0,
"delta": -0.2534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4657,
"after": 0.0,
"delta": -0.4657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0273,
"after": 0.0,
"delta": -0.0273,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1324,
"after": 0.0,
"delta": -0.1324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4385,
"after": 0.0,
"delta": -0.4385,
"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_H",
"before": 0.4657,
"after": 0.0,
"delta": -0.4657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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.2575,
"after": 0.0,
"delta": -0.2575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2575,
"after": 0.0,
"delta": -0.2575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1499,
"after": 0.333,
"delta": 0.1831,
"percent_delta": 1.2215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.119,
"percent_delta": 0.5561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.23,
"after": 0.333,
"delta": 0.103,
"percent_delta": 0.4478,
"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.1499,
"after": 0.333,
"delta": 0.1831,
"percent_delta": 1.2215,
"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": 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": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"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": 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.1499,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.214,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.23,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1499,
"delta": -0.1831,
"percent_delta": -0.5499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.214,
"delta": -0.119,
"percent_delta": -0.3574,
"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.23,
"delta": -0.103,
"percent_delta": -0.3094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1499,
"delta": -0.1831,
"percent_delta": -0.5499,
"direction": "deboost",
"projection_effect": "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.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.041,
"after": 4.0,
"delta": 0.959,
"percent_delta": 0.3154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.1499,
"delta": -0.0831,
"percent_delta": -0.3567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.265,
"after": 1.0,
"delta": 0.735,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.214,
"delta": -0.065,
"percent_delta": -0.233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.306,
"after": 1.0,
"delta": 0.694,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.23,
"delta": -0.09,
"percent_delta": -0.2812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.408,
"after": 1.0,
"delta": 0.592,
"percent_delta": 1.451,
"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.041,
"after": 4.0,
"delta": 0.959,
"percent_delta": 0.3154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"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.143 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.041 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.265 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.306 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.320 | - |
| predicted_SO | 0.408 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.010 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.107 | 0.066 |
| predicted_AVG | 0.232 | -0.001 |
| predicted_BB | 0.259 | -0.007 |
| predicted_H | 0.496 | 0.166 |
| predicted_HBP | 0.054 | - |
| predicted_HR | 0.029 | -0.001 |
| predicted_OBP | 0.286 | 0.007 |
| predicted_R | 0.287 | -0.019 |
| predicted_RBI | 0.148 | 0.018 |
| predicted_SLG | 0.312 | -0.008 |
| predicted_SO | 0.430 | 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.133 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.107 | 0.000 |
| predicted_AVG | 0.150 | -0.082 |
| predicted_BB | 0.253 | -0.005 |
| predicted_H | 0.466 | -0.030 |
| predicted_HBP | 0.054 | 0.000 |
| predicted_HR | 0.027 | -0.002 |
| predicted_OBP | 0.214 | -0.072 |
| predicted_R | 0.258 | -0.030 |
| predicted_RBI | 0.132 | -0.015 |
| predicted_SLG | 0.230 | -0.082 |
| predicted_SO | 0.439 | 0.009 |
AB rounded to 3 (raw=3.11), rates preserved: AVG=0.150 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.133 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 3.000 | -0.107 |
| predicted_AVG | 0.333 | 0.183 |
| predicted_BB | 0.000 | -0.253 |
| predicted_H | 1.000 | 0.534 |
| predicted_HR | 0.000 | -0.027 |
| predicted_OBP | 0.333 | 0.119 |
| predicted_R | 0.000 | -0.258 |
| predicted_RBI | 0.000 | -0.132 |
| predicted_SLG | 0.333 | 0.103 |
| predicted_SO | 0.000 | -0.439 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 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 | 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 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.2000 | 0.2500 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0667 | 0.0667 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 6.000 | 0.2121 | 0.2778 | 0.2424 | 0.2121 | 0.0000 | 0.0000 | 0.0606 | 0.1818 |
| season | 0.60 | 49 | - | 149.000 | 36.000 | 7.000 | 1.000 | 1.000 | 10.000 | 15.000 | 13.000 | 20.000 | 0.2416 | 0.3133 | 0.3221 | 0.2416 | 0.0067 | 0.0671 | 0.0872 | 0.1342 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1170 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.2040 |
| predicted_AVG | 0.2309 |
| predicted_BB | 0.2490 |
| predicted_H | 0.7400 |
| predicted_HBP | 0.0540 |
| predicted_HR | 0.0280 |
| predicted_OBP | 0.2966 |
| predicted_R | 0.2600 |
| predicted_RBI | 0.1740 |
| predicted_SLG | 0.3014 |
| predicted_SO | 0.4620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1170 | 0.1325 | model_form_blend |
| predicted_3B | 0.0200 | 0.0130 | 0.0172 | model_form_blend |
| predicted_AB | 3.0410 | 3.2040 | 3.1071 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2309 | 0.2321 | model_form_blend |
| predicted_BB | 0.2650 | 0.2490 | 0.2585 | model_form_blend |
| predicted_H | 0.3300 | 0.7400 | 0.4961 | model_form_blend |
| predicted_HBP | - | 0.0540 | 0.0540 | form_only |
| predicted_HR | 0.0300 | 0.0280 | 0.0292 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2966 | 0.2861 | model_form_blend |
| predicted_R | 0.3060 | 0.2600 | 0.2874 | model_form_blend |
| predicted_RBI | 0.1300 | 0.1740 | 0.1478 | model_form_blend |
| predicted_SLG | 0.3200 | 0.3014 | 0.3125 | model_form_blend |
| predicted_SO | 0.4080 | 0.4620 | 0.4299 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 129 |
| Season rows before report date | 129 |
| Report year | 2026 |
| Profile rows used | 49 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 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 | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260622_BOS@COL |
| game_type | full |
| mlbID | 807799 |
| playerID | 807799 |
| playerName | Masataka Yoshida |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-22 |
| sl_k_percent | 11.8 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.296 |
| sl_xwoba | 0.304 |
| sl_xba | 0.248 |
| sl_xslg | 0.339 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 1.5 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 8.1 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 40.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.135 | 1.000 | -0.135 | -1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.760 | 4.000 | 4.000 | Hitting_AB | 3.649 | 4.000 | 0.351 | 0.000 |
| predicted_AVG | 0.240 | 0.000 | 0.250 | Hitting_AVG | 0.281 | 0.250 | -0.281 | -0.250 |
| predicted_BB | 0.392 | 0.000 | 0.000 | Hitting_BB | 0.437 | 0.000 | -0.437 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 1.024 | 1.000 | -1.024 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_OBP | 0.331 | 0.000 | 0.250 | Hitting_OBP | 0.377 | 0.250 | -0.377 | -0.250 |
| predicted_R | 0.500 | 0.000 | 0.000 | Hitting_R | 0.494 | 0.000 | -0.494 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.694 | 1.000 | -0.694 | -1.000 |
| predicted_SLG | 0.434 | 0.000 | 0.250 | Hitting_SLG | 0.510 | 0.500 | -0.510 | -0.500 |
| predicted_SO | 1.108 | 1.000 | 1.000 | Hitting_SO | 1.102 | 1.000 | -0.102 | 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.7600 -> 4.0000 (boost 0.2400, better) |
| 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 | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4340 -> 0.4401 (boost 0.0061, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_RBI: 0.5381 -> 0.4821 (deboost -0.0560, 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.4821 -> 1.0000 (boost 0.5179, better) | predicted_BB: 0.3821 -> 0.0000 (deboost -0.3821, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.225 HR/AB=0.040 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4412 -> 0.0000 (deboost -0.4412, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2266 -> 0.2500 (boost 0.0234, better) | predicted_SLG: 0.4133 -> 0.2500 (deboost -0.1633, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4133 (boost 0.1633, better) | predicted_AVG: 0.2500 -> 0.2266 (deboost -0.0234, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "575929",
"player_name": "Willson Contreras",
"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.176,
"predicted_3B": 0.027,
"predicted_AB": 3.76,
"predicted_AVG": 0.24,
"predicted_BB": 0.392,
"predicted_H": 0.9,
"predicted_HR": 0.16,
"predicted_OBP": 0.331,
"predicted_R": 0.5,
"predicted_RBI": 0.53,
"predicted_SLG": 0.434,
"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.196,
"predicted_3B": 0.0223,
"predicted_AB": 3.7315,
"predicted_AVG": 0.2418,
"predicted_BB": 0.3899,
"predicted_H": 0.9008,
"predicted_HBP": 0.155,
"predicted_HR": 0.1625,
"predicted_OBP": 0.3345,
"predicted_R": 0.4924,
"predicted_RBI": 0.5381,
"predicted_SLG": 0.4401,
"predicted_SO": 1.1127
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.196,
"delta": 0.02,
"percent_delta": 0.1136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0223,
"delta": -0.0047,
"percent_delta": -0.1741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.76,
"after": 3.7315,
"delta": -0.0285,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2418,
"delta": 0.0018,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.392,
"after": 0.3899,
"delta": -0.0021,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9008,
"delta": 0.0008,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1625,
"delta": 0.0025,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3345,
"delta": 0.0035,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4924,
"delta": -0.0076,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5381,
"delta": 0.0081,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4401,
"delta": 0.0061,
"percent_delta": 0.0141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.108,
"after": 1.1127,
"delta": 0.0047,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_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.434,
"after": 0.4401,
"delta": 0.0061,
"percent_delta": 0.0141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.196,
"predicted_3B": 0.0223,
"predicted_AB": 3.7315,
"predicted_AVG": 0.2266,
"predicted_BB": 0.3821,
"predicted_H": 0.8456,
"predicted_HBP": 0.155,
"predicted_HR": 0.152,
"predicted_OBP": 0.2985,
"predicted_R": 0.4412,
"predicted_RBI": 0.4821,
"predicted_SLG": 0.4133,
"predicted_SO": 1.1348
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.196,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0223,
"after": 0.0223,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7315,
"after": 3.7315,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2418,
"after": 0.2266,
"delta": -0.0152,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3899,
"after": 0.3821,
"delta": -0.0078,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9008,
"after": 0.8456,
"delta": -0.0552,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.155,
"after": 0.155,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1625,
"after": 0.152,
"delta": -0.0105,
"percent_delta": -0.0646,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3345,
"after": 0.2985,
"delta": -0.036,
"percent_delta": -0.1076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4924,
"after": 0.4412,
"delta": -0.0512,
"percent_delta": -0.104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5381,
"after": 0.4821,
"delta": -0.056,
"percent_delta": -0.1041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4401,
"after": 0.4133,
"delta": -0.0268,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1127,
"after": 1.1348,
"delta": 0.0221,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5381,
"after": 0.4821,
"delta": -0.056,
"percent_delta": -0.1041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.76), rates preserved: AVG=0.225 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0223,
"after": 0.0,
"delta": -0.0223,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7315,
"after": 4.0,
"delta": 0.2685,
"percent_delta": 0.072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3821,
"after": 0.0,
"delta": -0.3821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8456,
"after": 1.0,
"delta": 0.1544,
"percent_delta": 0.1826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4821,
"after": 1.0,
"delta": 0.5179,
"percent_delta": 1.0743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1348,
"after": 1.0,
"delta": -0.1348,
"percent_delta": -0.1188,
"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.4821,
"after": 1.0,
"delta": 0.5179,
"percent_delta": 1.0743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3821,
"after": 0.0,
"delta": -0.3821,
"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.4412,
"after": 0.0,
"delta": -0.4412,
"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.4412,
"after": 0.0,
"delta": -0.4412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2266,
"after": 0.25,
"delta": 0.0234,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2985,
"after": 0.25,
"delta": -0.0485,
"percent_delta": -0.1625,
"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.4133,
"after": 0.25,
"delta": -0.1633,
"percent_delta": -0.3951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2266,
"after": 0.25,
"delta": 0.0234,
"percent_delta": 0.1033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4133,
"after": 0.25,
"delta": -0.1633,
"percent_delta": -0.3951,
"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.2266,
"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.2985,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4133,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2266,
"delta": -0.0234,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2985,
"delta": 0.0485,
"percent_delta": 0.1938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4133,
"delta": 0.1633,
"percent_delta": 0.6532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4133,
"delta": 0.1633,
"percent_delta": 0.6532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2266,
"delta": -0.0234,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.76,
"after": 4.0,
"delta": 0.24,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2266,
"delta": -0.0134,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.2985,
"delta": -0.0325,
"percent_delta": -0.0982,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4133,
"delta": -0.0207,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"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": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.76,
"after": 4.0,
"delta": 0.24,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"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.027 | - |
| predicted_AB | 3.760 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.392 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.434 | - |
| 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.196 | 0.020 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 3.732 | -0.028 |
| predicted_AVG | 0.242 | 0.002 |
| predicted_BB | 0.390 | -0.002 |
| predicted_H | 0.901 | 0.001 |
| predicted_HBP | 0.155 | - |
| predicted_HR | 0.163 | 0.003 |
| predicted_OBP | 0.335 | 0.004 |
| predicted_R | 0.492 | -0.008 |
| predicted_RBI | 0.538 | 0.008 |
| predicted_SLG | 0.440 | 0.006 |
| predicted_SO | 1.113 | 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.196 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.732 | 0.000 |
| predicted_AVG | 0.227 | -0.015 |
| predicted_BB | 0.382 | -0.008 |
| predicted_H | 0.846 | -0.055 |
| predicted_HBP | 0.155 | 0.000 |
| predicted_HR | 0.152 | -0.011 |
| predicted_OBP | 0.298 | -0.036 |
| predicted_R | 0.441 | -0.051 |
| predicted_RBI | 0.482 | -0.056 |
| predicted_SLG | 0.413 | -0.027 |
| predicted_SO | 1.135 | 0.022 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.225 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=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 |
Player 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.022 |
| predicted_AB | 4.000 | 0.268 |
| predicted_AVG | 0.250 | 0.023 |
| predicted_BB | 0.000 | -0.382 |
| predicted_H | 1.000 | 0.154 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.250 | -0.048 |
| predicted_R | 0.000 | -0.441 |
| predicted_RBI | 1.000 | 0.518 |
| predicted_SLG | 0.250 | -0.163 |
| predicted_SO | 1.000 | -0.135 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 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 | 3.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 5.000 | 0.1667 | 0.2857 | 0.2778 | 0.1667 | 0.0000 | 0.1111 | 0.1111 | 0.2778 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 4.000 | 14.000 | 0.2105 | 0.3023 | 0.4211 | 0.2105 | 0.0526 | 0.1316 | 0.1053 | 0.3684 |
| season | 0.60 | 74 | - | 271.000 | 76.000 | 13.000 | 2.000 | 16.000 | 46.000 | 37.000 | 29.000 | 82.000 | 0.2804 | 0.3734 | 0.5203 | 0.2804 | 0.0590 | 0.1697 | 0.1070 | 0.3026 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2230 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.6930 |
| predicted_AVG | 0.2443 |
| predicted_BB | 0.3870 |
| predicted_H | 0.9020 |
| predicted_HBP | 0.1550 |
| predicted_HR | 0.1660 |
| predicted_OBP | 0.3392 |
| predicted_R | 0.4820 |
| predicted_RBI | 0.5490 |
| predicted_SLG | 0.4483 |
| predicted_SO | 1.1190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.2230 | 0.1960 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0223 | model_form_blend |
| predicted_AB | 3.7600 | 3.6930 | 3.7315 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2443 | 0.2418 | model_form_blend |
| predicted_BB | 0.3920 | 0.3870 | 0.3899 | model_form_blend |
| predicted_H | 0.9000 | 0.9020 | 0.9008 | model_form_blend |
| predicted_HBP | - | 0.1550 | 0.1550 | form_only |
| predicted_HR | 0.1600 | 0.1660 | 0.1625 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3392 | 0.3345 | model_form_blend |
| predicted_R | 0.5000 | 0.4820 | 0.4924 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5490 | 0.5381 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4483 | 0.4401 | model_form_blend |
| predicted_SO | 1.1080 | 1.1190 | 1.1127 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 245 |
| Season rows before report date | 245 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.28 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260624_BOS@COL |
| game_type | full |
| mlbID | 575929 |
| playerID | 575929 |
| playerName | Willson Contreras |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-24 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.387 |
| sl_xwoba | 0.37 |
| sl_xba | 0.257 |
| sl_xslg | 0.481 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 13.2 |
| sl_hard_hit_percent | 44.3 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 49.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.125 | 0.000 | 0.000 | Hitting_2B | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 4.220 | 4.000 | 4.000 | Hitting_AB | 4.144 | 5.000 | -0.144 | -1.000 |
| predicted_AVG | 0.201 | 0.000 | 0.250 | Hitting_AVG | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_BB | 0.292 | 0.000 | 0.000 | Hitting_BB | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.850 | 0.000 | 1.000 | Hitting_H | 0.872 | 0.000 | -0.872 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_OBP | 0.251 | 0.000 | 0.250 | Hitting_OBP | 0.280 | 0.000 | -0.280 | 0.000 |
| predicted_R | 0.514 | 0.000 | 0.000 | Hitting_R | 0.551 | 0.000 | -0.551 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.576 | 0.000 | -0.576 | 0.000 |
| predicted_SLG | 0.335 | 0.000 | 0.250 | Hitting_SLG | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_SO | 1.333 | 1.000 | 1.000 | Hitting_SO | 1.251 | 3.000 | -0.251 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 0.8500 -> 0.0000 (deboost -0.8500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.2200 -> 4.1265 (deboost -0.0935, worse) | Final model input calibrated with local 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_R: 0.4957 -> 0.4441 (deboost -0.0516, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.7190 -> 1.0000 (boost 0.2810, better) | predicted_SO: 1.3994 -> 1.0000 (deboost -0.3994, better) | AB rounded to 4 (raw=4.22), rates preserved: AVG=0.170 HR/AB=0.031 |
| 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.4441 -> 0.0000 (deboost -0.4441, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1742 -> 0.2500 (boost 0.0758, better) | predicted_SLG: 0.3063 -> 0.2500 (deboost -0.0563, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3063 (boost 0.0563, better) | predicted_AVG: 0.2500 -> 0.1742 (deboost -0.0758, worse) | 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.125,
"predicted_3B": 0.028,
"predicted_AB": 4.22,
"predicted_AVG": 0.201,
"predicted_BB": 0.292,
"predicted_H": 0.85,
"predicted_HR": 0.14,
"predicted_OBP": 0.251,
"predicted_R": 0.514,
"predicted_RBI": 0.42,
"predicted_SLG": 0.335,
"predicted_SO": 1.333
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1076,
"predicted_3B": 0.0229,
"predicted_AB": 4.1265,
"predicted_AVG": 0.1849,
"predicted_BB": 0.2856,
"predicted_H": 0.7659,
"predicted_HBP": 0.026,
"predicted_HR": 0.1396,
"predicted_OBP": 0.2381,
"predicted_R": 0.4957,
"predicted_RBI": 0.4026,
"predicted_SLG": 0.3188,
"predicted_SO": 1.3721
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1076,
"delta": -0.0174,
"percent_delta": -0.1392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0229,
"delta": -0.0051,
"percent_delta": -0.1821,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.22,
"after": 4.1265,
"delta": -0.0935,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.1849,
"delta": -0.0161,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.2856,
"delta": -0.0064,
"percent_delta": -0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.7659,
"delta": -0.0841,
"percent_delta": -0.0989,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1396,
"delta": -0.0004,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.2381,
"delta": -0.0129,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.4957,
"delta": -0.0183,
"percent_delta": -0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4026,
"delta": -0.0174,
"percent_delta": -0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3188,
"delta": -0.0162,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.333,
"after": 1.3721,
"delta": 0.0391,
"percent_delta": 0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.22,
"after": 4.1265,
"delta": -0.0935,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1076,
"predicted_3B": 0.0229,
"predicted_AB": 4.1265,
"predicted_AVG": 0.1742,
"predicted_BB": 0.2799,
"predicted_H": 0.719,
"predicted_HBP": 0.026,
"predicted_HR": 0.1306,
"predicted_OBP": 0.2267,
"predicted_R": 0.4441,
"predicted_RBI": 0.3607,
"predicted_SLG": 0.3063,
"predicted_SO": 1.3994
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1076,
"after": 0.1076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0229,
"after": 0.0229,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1265,
"after": 4.1265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1849,
"after": 0.1742,
"delta": -0.0107,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2856,
"after": 0.2799,
"delta": -0.0057,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7659,
"after": 0.719,
"delta": -0.0469,
"percent_delta": -0.0612,
"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.1396,
"after": 0.1306,
"delta": -0.009,
"percent_delta": -0.0645,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2381,
"after": 0.2267,
"delta": -0.0114,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4957,
"after": 0.4441,
"delta": -0.0516,
"percent_delta": -0.1041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4026,
"after": 0.3607,
"delta": -0.0419,
"percent_delta": -0.1041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3188,
"after": 0.3063,
"delta": -0.0125,
"percent_delta": -0.0392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3721,
"after": 1.3994,
"delta": 0.0273,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4957,
"after": 0.4441,
"delta": -0.0516,
"percent_delta": -0.1041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.22), rates preserved: AVG=0.170 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.1076,
"after": 0.0,
"delta": -0.1076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0229,
"after": 0.0,
"delta": -0.0229,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1265,
"after": 4.0,
"delta": -0.1265,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2799,
"after": 0.0,
"delta": -0.2799,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.719,
"after": 1.0,
"delta": 0.281,
"percent_delta": 0.3908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1306,
"after": 0.0,
"delta": -0.1306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3607,
"after": 0.0,
"delta": -0.3607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3994,
"after": 1.0,
"delta": -0.3994,
"percent_delta": -0.2854,
"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.719,
"after": 1.0,
"delta": 0.281,
"percent_delta": 0.3908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3994,
"after": 1.0,
"delta": -0.3994,
"percent_delta": -0.2854,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4441,
"after": 0.0,
"delta": -0.4441,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4441,
"after": 0.0,
"delta": -0.4441,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1742,
"after": 0.25,
"delta": 0.0758,
"percent_delta": 0.4351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2267,
"after": 0.25,
"delta": 0.0233,
"percent_delta": 0.1028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3063,
"after": 0.25,
"delta": -0.0563,
"percent_delta": -0.1838,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1742,
"after": 0.25,
"delta": 0.0758,
"percent_delta": 0.4351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3063,
"after": 0.25,
"delta": -0.0563,
"percent_delta": -0.1838,
"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.1742,
"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.2267,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3063,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1742,
"delta": -0.0758,
"percent_delta": -0.3031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2267,
"delta": -0.0233,
"percent_delta": -0.0933,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3063,
"delta": 0.0563,
"percent_delta": 0.2254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3063,
"delta": 0.0563,
"percent_delta": 0.2254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1742,
"delta": -0.0758,
"percent_delta": -0.3031,
"direction": "deboost",
"projection_effect": "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.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.22,
"after": 4.0,
"delta": -0.22,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.1742,
"delta": -0.0268,
"percent_delta": -0.1333,
"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.85,
"after": 0.0,
"delta": -0.85,
"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.251,
"after": 0.2267,
"delta": -0.0243,
"percent_delta": -0.0968,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3063,
"delta": -0.0287,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.333,
"after": 1.0,
"delta": -0.333,
"percent_delta": -0.2498,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 0,
"deboosted_metrics": 11,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 4.220 | - |
| predicted_AVG | 0.201 | - |
| predicted_BB | 0.292 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.251 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.335 | - |
| predicted_SO | 1.333 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | -0.017 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 4.127 | -0.093 |
| predicted_AVG | 0.185 | -0.016 |
| predicted_BB | 0.286 | -0.006 |
| predicted_H | 0.766 | -0.084 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.140 | -0.000 |
| predicted_OBP | 0.238 | -0.013 |
| predicted_R | 0.496 | -0.018 |
| predicted_RBI | 0.403 | -0.017 |
| predicted_SLG | 0.319 | -0.016 |
| predicted_SO | 1.372 | 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.108 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 4.127 | 0.000 |
| predicted_AVG | 0.174 | -0.011 |
| predicted_BB | 0.280 | -0.006 |
| predicted_H | 0.719 | -0.047 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.131 | -0.009 |
| predicted_OBP | 0.227 | -0.011 |
| predicted_R | 0.444 | -0.052 |
| predicted_RBI | 0.361 | -0.042 |
| predicted_SLG | 0.306 | -0.012 |
| predicted_SO | 1.399 | 0.027 |
AB rounded to 4 (raw=4.22), rates preserved: AVG=0.170 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.108 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | -0.127 |
| predicted_AVG | 0.250 | 0.076 |
| predicted_BB | 0.000 | -0.280 |
| predicted_H | 1.000 | 0.281 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.250 | 0.023 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 0.000 | -0.361 |
| predicted_SLG | 0.250 | -0.056 |
| predicted_SO | 1.000 | -0.399 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 10.000 | 0.0500 | 0.0952 | 0.0500 | 0.0500 | 0.0000 | 0.0000 | 0.0500 | 0.5000 |
| last_10 | 0.20 | 10 | - | 39.000 | 5.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 3.000 | 14.000 | 0.1282 | 0.1905 | 0.2821 | 0.1282 | 0.0513 | 0.0769 | 0.0769 | 0.3590 |
| season | 0.60 | 72 | - | 292.000 | 58.000 | 9.000 | 2.000 | 12.000 | 37.000 | 37.000 | 21.000 | 96.000 | 0.1986 | 0.2579 | 0.3664 | 0.1986 | 0.0411 | 0.1267 | 0.0719 | 0.3288 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0840 |
| predicted_3B | 0.0160 |
| predicted_AB | 4.0000 |
| predicted_AVG | 0.1631 |
| predicted_BB | 0.2770 |
| predicted_H | 0.6520 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.1390 |
| predicted_OBP | 0.2206 |
| predicted_R | 0.4710 |
| predicted_RBI | 0.3790 |
| predicted_SLG | 0.2969 |
| predicted_SO | 1.4250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.0840 | 0.1076 | model_form_blend |
| predicted_3B | 0.0280 | 0.0160 | 0.0229 | model_form_blend |
| predicted_AB | 4.2200 | 4.0000 | 4.1265 | model_form_blend |
| predicted_AVG | 0.2010 | 0.1631 | 0.1849 | model_form_blend |
| predicted_BB | 0.2920 | 0.2770 | 0.2856 | model_form_blend |
| predicted_H | 0.8500 | 0.6520 | 0.7659 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.1400 | 0.1390 | 0.1396 | model_form_blend |
| predicted_OBP | 0.2510 | 0.2206 | 0.2381 | model_form_blend |
| predicted_R | 0.5140 | 0.4710 | 0.4957 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3790 | 0.4026 | model_form_blend |
| predicted_SLG | 0.3350 | 0.2969 | 0.3188 | model_form_blend |
| predicted_SO | 1.3330 | 1.4250 | 1.3721 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.199 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260623_BOS@COL |
| game_type | full |
| mlbID | 680776 |
| playerID | 680776 |
| playerName | Jarren Duran |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-23 |
| sl_k_percent | 30.2 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.275 |
| sl_xwoba | 0.29 |
| sl_xba | 0.225 |
| sl_xslg | 0.379 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 39.4 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 35.5 |
| 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.232 | 0.000 | 0.000 | Hitting_2B | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 3.319 | 2.000 | 3.000 | Hitting_AB | 3.389 | 2.000 | -1.389 | 0.000 |
| predicted_AVG | 0.256 | 0.000 | 0.333 | Hitting_AVG | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_BB | 0.203 | 0.000 | 0.000 | Hitting_BB | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.679 | 0.000 | -0.679 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_OBP | 0.318 | 0.500 | 0.333 | Hitting_OBP | 0.272 | 0.000 | 0.228 | 0.500 |
| predicted_R | 0.362 | 0.000 | 0.000 | Hitting_R | 0.409 | 0.000 | -0.409 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.425 | 0.000 | -0.425 | 0.000 |
| predicted_SLG | 0.408 | 0.000 | 0.333 | Hitting_SLG | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_SO | 0.507 | 1.000 | 0.000 | Hitting_SO | 0.534 | 0.000 | 0.466 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.5070 -> 1.0000 (boost 0.4930, worse) |
| Biggest Deboost | predicted_AB: 3.3190 -> 2.0000 (deboost -1.3190, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4080 -> 0.4191 (boost 0.0111, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_H: 0.8802 -> 0.8262 (deboost -0.0540, 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.8262 -> 1.0000 (boost 0.1738, better) | predicted_SO: 0.5231 -> 0.0000 (deboost -0.5231, better) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.246 HR/AB=0.025 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3142 -> 0.0000 (deboost -0.3142, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2457 -> 0.3330 (boost 0.0873, better) | predicted_SLG: 0.4009 -> 0.3330 (deboost -0.0679, worse) | 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_HBP: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4009 (boost 0.0679, better) | predicted_AVG: 0.3330 -> 0.2457 (deboost -0.0873, worse) | 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.232,
"predicted_3B": 0.014,
"predicted_AB": 3.319,
"predicted_AVG": 0.256,
"predicted_BB": 0.203,
"predicted_H": 0.84,
"predicted_HR": 0.09,
"predicted_OBP": 0.318,
"predicted_R": 0.362,
"predicted_RBI": 0.42,
"predicted_SLG": 0.408,
"predicted_SO": 0.507
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2479,
"predicted_3B": 0.0119,
"predicted_AB": 3.3629,
"predicted_AVG": 0.2633,
"predicted_BB": 0.2063,
"predicted_H": 0.8802,
"predicted_HBP": 0.035,
"predicted_HR": 0.0892,
"predicted_OBP": 0.3197,
"predicted_R": 0.3507,
"predicted_RBI": 0.4242,
"predicted_SLG": 0.4191,
"predicted_SO": 0.5129
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.232,
"after": 0.2479,
"delta": 0.0159,
"percent_delta": 0.0685,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.319,
"after": 3.3629,
"delta": 0.0439,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2633,
"delta": 0.0073,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.203,
"after": 0.2063,
"delta": 0.0033,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8802,
"delta": 0.0402,
"percent_delta": 0.0479,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0892,
"delta": -0.0008,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3197,
"delta": 0.0017,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.362,
"after": 0.3507,
"delta": -0.0113,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4242,
"delta": 0.0042,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4191,
"delta": 0.0111,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.507,
"after": 0.5129,
"delta": 0.0059,
"percent_delta": 0.0116,
"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.408,
"after": 0.4191,
"delta": 0.0111,
"percent_delta": 0.0272,
"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": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2479,
"predicted_3B": 0.0119,
"predicted_AB": 3.3629,
"predicted_AVG": 0.2457,
"predicted_BB": 0.2022,
"predicted_H": 0.8262,
"predicted_HBP": 0.035,
"predicted_HR": 0.0834,
"predicted_OBP": 0.2885,
"predicted_R": 0.3142,
"predicted_RBI": 0.3801,
"predicted_SLG": 0.4009,
"predicted_SO": 0.5231
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2479,
"after": 0.2479,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3629,
"after": 3.3629,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2633,
"after": 0.2457,
"delta": -0.0176,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2063,
"after": 0.2022,
"delta": -0.0041,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8802,
"after": 0.8262,
"delta": -0.054,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0892,
"after": 0.0834,
"delta": -0.0058,
"percent_delta": -0.065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3197,
"after": 0.2885,
"delta": -0.0312,
"percent_delta": -0.0976,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3507,
"after": 0.3142,
"delta": -0.0365,
"percent_delta": -0.1041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4242,
"after": 0.3801,
"delta": -0.0441,
"percent_delta": -0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4191,
"after": 0.4009,
"delta": -0.0182,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5129,
"after": 0.5231,
"delta": 0.0102,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.8802,
"after": 0.8262,
"delta": -0.054,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.36), rates preserved: AVG=0.246 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2479,
"after": 0.0,
"delta": -0.2479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3629,
"after": 3.0,
"delta": -0.3629,
"percent_delta": -0.1079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2022,
"after": 0.0,
"delta": -0.2022,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8262,
"after": 1.0,
"delta": 0.1738,
"percent_delta": 0.2104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0834,
"after": 0.0,
"delta": -0.0834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3801,
"after": 0.0,
"delta": -0.3801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5231,
"after": 0.0,
"delta": -0.5231,
"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.8262,
"after": 1.0,
"delta": 0.1738,
"percent_delta": 0.2104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5231,
"after": 0.0,
"delta": -0.5231,
"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=5.0, weight=0.057, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3142,
"after": 0.0,
"delta": -0.3142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3142,
"after": 0.0,
"delta": -0.3142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2457,
"after": 0.333,
"delta": 0.0873,
"percent_delta": 0.3553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2885,
"after": 0.333,
"delta": 0.0445,
"percent_delta": 0.1542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.333,
"delta": -0.0679,
"percent_delta": -0.1694,
"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.2457,
"after": 0.333,
"delta": 0.0873,
"percent_delta": 0.3553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4009,
"after": 0.333,
"delta": -0.0679,
"percent_delta": -0.1694,
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 2.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_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": 2.0,
"delta": 2.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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HBP",
"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.2457,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2885,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4009,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2457,
"delta": -0.0873,
"percent_delta": -0.2622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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_OBP",
"before": 0.333,
"after": 0.2885,
"delta": -0.0445,
"percent_delta": -0.1337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4009,
"delta": 0.0679,
"percent_delta": 0.204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4009,
"delta": 0.0679,
"percent_delta": 0.204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2457,
"delta": -0.0873,
"percent_delta": -0.2622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.232,
"after": 0.0,
"delta": -0.232,
"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.319,
"after": 2.0,
"delta": -1.319,
"percent_delta": -0.3974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2457,
"delta": -0.0103,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.203,
"after": 0.0,
"delta": -0.203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.2885,
"delta": -0.0295,
"percent_delta": -0.0928,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.362,
"after": 0.0,
"delta": -0.362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4009,
"delta": -0.0071,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.507,
"after": 1.0,
"delta": 0.493,
"percent_delta": 0.9724,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.507,
"after": 1.0,
"delta": 0.493,
"percent_delta": 0.9724,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.319,
"after": 2.0,
"delta": -1.319,
"percent_delta": -0.3974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.232 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.319 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.203 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.362 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 0.507 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.248 | 0.016 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.363 | 0.044 |
| predicted_AVG | 0.263 | 0.007 |
| predicted_BB | 0.206 | 0.003 |
| predicted_H | 0.880 | 0.040 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.320 | 0.002 |
| predicted_R | 0.351 | -0.011 |
| predicted_RBI | 0.424 | 0.004 |
| predicted_SLG | 0.419 | 0.011 |
| predicted_SO | 0.513 | 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.248 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.363 | 0.000 |
| predicted_AVG | 0.246 | -0.018 |
| predicted_BB | 0.202 | -0.004 |
| predicted_H | 0.826 | -0.054 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.083 | -0.006 |
| predicted_OBP | 0.288 | -0.031 |
| predicted_R | 0.314 | -0.037 |
| predicted_RBI | 0.380 | -0.044 |
| predicted_SLG | 0.401 | -0.018 |
| predicted_SO | 0.523 | 0.010 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.246 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.248 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 3.000 | -0.363 |
| predicted_AVG | 0.333 | 0.087 |
| predicted_BB | 0.000 | -0.202 |
| predicted_H | 1.000 | 0.174 |
| predicted_HR | 0.000 | -0.083 |
| predicted_OBP | 0.333 | 0.045 |
| predicted_R | 0.000 | -0.314 |
| predicted_RBI | 0.000 | -0.380 |
| predicted_SLG | 0.333 | -0.068 |
| predicted_SO | 0.000 | -0.523 |
Attached 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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 2.000 | 2.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 | - | 17.000 | 7.000 | 2.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 2.000 | 0.4118 | 0.4444 | 0.5294 | 0.4118 | 0.0000 | 0.1177 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 35.000 | 11.000 | 3.000 | 0.000 | 2.000 | 4.000 | 5.000 | 2.000 | 5.000 | 0.3143 | 0.3514 | 0.5714 | 0.3143 | 0.0571 | 0.1143 | 0.0571 | 0.1429 |
| season | 0.60 | 69 | - | 229.000 | 50.000 | 16.000 | 1.000 | 5.000 | 30.000 | 25.000 | 14.000 | 35.000 | 0.2183 | 0.2731 | 0.3624 | 0.2183 | 0.0218 | 0.1310 | 0.0611 | 0.1528 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2700 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.4240 |
| predicted_AVG | 0.2734 |
| predicted_BB | 0.2110 |
| predicted_H | 0.9360 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.3220 |
| predicted_R | 0.3350 |
| predicted_RBI | 0.4300 |
| predicted_SLG | 0.4346 |
| predicted_SO | 0.5210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2320 | 0.2700 | 0.2479 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 3.3190 | 3.4240 | 3.3629 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2734 | 0.2633 | model_form_blend |
| predicted_BB | 0.2030 | 0.2110 | 0.2063 | model_form_blend |
| predicted_H | 0.8400 | 0.9360 | 0.8802 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.0900 | 0.0880 | 0.0892 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3220 | 0.3197 | model_form_blend |
| predicted_R | 0.3620 | 0.3350 | 0.3507 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4300 | 0.4242 | model_form_blend |
| predicted_SLG | 0.4080 | 0.4346 | 0.4191 | model_form_blend |
| predicted_SO | 0.5070 | 0.5210 | 0.5129 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 193 |
| Season rows before report date | 193 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 2 |
| season_avg | 0.218 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260624_BOS@COL |
| game_type | full |
| mlbID | 702332 |
| playerID | 702332 |
| playerName | Caleb Durbin |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-24 |
| sl_k_percent | 13.9 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.28 |
| sl_xwoba | 0.282 |
| sl_xba | 0.241 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 30.3 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 9.7 |
| sl_whiff_percent | 15.9 |
| sl_swing_percent | 46.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.286 | 0.000 | 0.000 | Hitting_2B | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.857 | 4.000 | 3.000 | Hitting_AB | 2.500 | 4.000 | 1.500 | 0.000 |
| predicted_AVG | 0.257 | 0.000 | 0.333 | Hitting_AVG | 0.300 | 0.500 | -0.300 | -0.500 |
| predicted_BB | 0.286 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.280 | 0.000 | 1.000 | Hitting_H | 0.750 | 2.000 | -0.750 | -2.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.296 | 0.000 | 0.333 | Hitting_OBP | 0.364 | 0.500 | -0.364 | -0.500 |
| predicted_R | 0.429 | 0.000 | 0.000 | Hitting_R | 0.375 | 1.000 | -0.375 | -1.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.125 | 1.000 | -0.125 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.377 | 0.000 | 0.333 | Hitting_SLG | 0.400 | 0.750 | -0.400 | -0.750 |
| predicted_SO | 0.857 | 1.000 | 1.000 | Hitting_SO | 0.750 | 0.000 | 0.250 | 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.8570 -> 4.0000 (boost 1.1430, better) |
| Biggest Deboost | predicted_R: 0.4290 -> 0.0000 (deboost -0.4290, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.8570 -> 3.0665 (boost 0.2095, 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.2606 -> 0.1452 (deboost -0.1154, 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.8893 -> 1.0000 (boost 0.1107, worse) | predicted_H: 0.4452 -> 0.0000 (deboost -0.4452, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.145 HR/AB=0.013 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4091 -> 0.0000 (deboost -0.4091, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1452 -> 0.3330 (boost 0.1878, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1452 (deboost -0.1878, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678011",
"player_name": "Anthony Seigler",
"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.286,
"predicted_3B": 0.0,
"predicted_AB": 2.857,
"predicted_AVG": 0.257,
"predicted_BB": 0.286,
"predicted_H": 0.28,
"predicted_HR": 0.03,
"predicted_OBP": 0.296,
"predicted_R": 0.429,
"predicted_RBI": 0.15,
"predicted_SLG": 0.377,
"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.2643,
"predicted_3B": 0.0023,
"predicted_AB": 3.0665,
"predicted_AVG": 0.2606,
"predicted_BB": 0.2807,
"predicted_H": 0.4743,
"predicted_HBP": 0.019,
"predicted_HR": 0.0415,
"predicted_OBP": 0.3043,
"predicted_R": 0.4566,
"predicted_RBI": 0.2088,
"predicted_SLG": 0.3811,
"predicted_SO": 0.8719
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.286,
"after": 0.2643,
"delta": -0.0217,
"percent_delta": -0.0759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0023,
"delta": 0.0023,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.857,
"after": 3.0665,
"delta": 0.2095,
"percent_delta": 0.0733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2606,
"delta": 0.0036,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.2807,
"delta": -0.0053,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.4743,
"delta": 0.1943,
"percent_delta": 0.6939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0415,
"delta": 0.0115,
"percent_delta": 0.3833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3043,
"delta": 0.0083,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.4566,
"delta": 0.0276,
"percent_delta": 0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.2088,
"delta": 0.0588,
"percent_delta": 0.392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3811,
"delta": 0.0041,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.8719,
"delta": 0.0149,
"percent_delta": 0.0174,
"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.857,
"after": 3.0665,
"delta": 0.2095,
"percent_delta": 0.0733,
"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": 7,
"season": 7
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2643,
"predicted_3B": 0.0023,
"predicted_AB": 3.0665,
"predicted_AVG": 0.1452,
"predicted_BB": 0.2751,
"predicted_H": 0.4452,
"predicted_HBP": 0.019,
"predicted_HR": 0.0388,
"predicted_OBP": 0.2156,
"predicted_R": 0.4091,
"predicted_RBI": 0.1871,
"predicted_SLG": 0.2709,
"predicted_SO": 0.8893
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2643,
"after": 0.2643,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0665,
"after": 3.0665,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2606,
"after": 0.1452,
"delta": -0.1154,
"percent_delta": -0.4428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2807,
"after": 0.2751,
"delta": -0.0056,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4743,
"after": 0.4452,
"delta": -0.0291,
"percent_delta": -0.0614,
"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.0415,
"after": 0.0388,
"delta": -0.0027,
"percent_delta": -0.0651,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3043,
"after": 0.2156,
"delta": -0.0887,
"percent_delta": -0.2915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4566,
"after": 0.4091,
"delta": -0.0475,
"percent_delta": -0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2088,
"after": 0.1871,
"delta": -0.0217,
"percent_delta": -0.1039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3811,
"after": 0.2709,
"delta": -0.1102,
"percent_delta": -0.2892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8719,
"after": 0.8893,
"delta": 0.0174,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2606,
"after": 0.1452,
"delta": -0.1154,
"percent_delta": -0.4428,
"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.145 HR/AB=0.013",
"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.2643,
"after": 0.0,
"delta": -0.2643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0665,
"after": 3.0,
"delta": -0.0665,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2751,
"after": 0.0,
"delta": -0.2751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4452,
"after": 0.0,
"delta": -0.4452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0388,
"after": 0.0,
"delta": -0.0388,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1871,
"after": 0.0,
"delta": -0.1871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8893,
"after": 1.0,
"delta": 0.1107,
"percent_delta": 0.1245,
"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.8893,
"after": 1.0,
"delta": 0.1107,
"percent_delta": 0.1245,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4452,
"after": 0.0,
"delta": -0.4452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4091,
"after": 0.0,
"delta": -0.4091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4091,
"after": 0.0,
"delta": -0.4091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1452,
"after": 0.333,
"delta": 0.1878,
"percent_delta": 1.2934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2156,
"after": 0.333,
"delta": 0.1174,
"percent_delta": 0.5445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2709,
"after": 0.333,
"delta": 0.0621,
"percent_delta": 0.2292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1452,
"after": 0.333,
"delta": 0.1878,
"percent_delta": 1.2934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1452,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2156,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2709,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1452,
"delta": -0.1878,
"percent_delta": -0.564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2156,
"delta": -0.1174,
"percent_delta": -0.3527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2709,
"delta": -0.0621,
"percent_delta": -0.1866,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1452,
"delta": -0.1878,
"percent_delta": -0.564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.857,
"after": 4.0,
"delta": 1.143,
"percent_delta": 0.4001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.1452,
"delta": -0.1118,
"percent_delta": -0.435,
"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.28,
"after": 0.0,
"delta": -0.28,
"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.296,
"after": 0.2156,
"delta": -0.0804,
"percent_delta": -0.2716,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.2709,
"delta": -0.1061,
"percent_delta": -0.2814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 1.0,
"delta": 0.143,
"percent_delta": 0.1669,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.857,
"after": 4.0,
"delta": 1.143,
"percent_delta": 0.4001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.286 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.857 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.377 | - |
| 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.264 | -0.022 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.067 | 0.209 |
| predicted_AVG | 0.261 | 0.004 |
| predicted_BB | 0.281 | -0.005 |
| predicted_H | 0.474 | 0.194 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.042 | 0.012 |
| predicted_OBP | 0.304 | 0.008 |
| predicted_R | 0.457 | 0.028 |
| predicted_RBI | 0.209 | 0.059 |
| predicted_SLG | 0.381 | 0.004 |
| predicted_SO | 0.872 | 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.264 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.067 | 0.000 |
| predicted_AVG | 0.145 | -0.115 |
| predicted_BB | 0.275 | -0.006 |
| predicted_H | 0.445 | -0.029 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.039 | -0.003 |
| predicted_OBP | 0.216 | -0.089 |
| predicted_R | 0.409 | -0.047 |
| predicted_RBI | 0.187 | -0.022 |
| predicted_SLG | 0.271 | -0.110 |
| predicted_SO | 0.889 | 0.017 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.145 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.264 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.067 |
| predicted_AVG | 0.333 | 0.188 |
| predicted_BB | 0.000 | -0.275 |
| predicted_H | 1.000 | 0.555 |
| predicted_HR | 0.000 | -0.039 |
| predicted_OBP | 0.333 | 0.117 |
| predicted_R | 0.000 | -0.409 |
| predicted_RBI | 0.000 | -0.187 |
| predicted_SLG | 0.333 | 0.062 |
| predicted_SO | 1.000 | 0.111 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 0.000 | 1.000 | 3.000 | 1.000 | 5.000 | 0.2941 | 0.3333 | 0.3529 | 0.2941 | 0.0000 | 0.0588 | 0.0588 | 0.2941 |
| last_10 | 0.20 | 7 | - | 20.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 6.000 | 0.3000 | 0.3636 | 0.4000 | 0.3000 | 0.0000 | 0.0500 | 0.1000 | 0.3000 |
| season | 0.60 | 7 | - | 20.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 6.000 | 0.3000 | 0.3636 | 0.4000 | 0.3000 | 0.0000 | 0.0500 | 0.1000 | 0.3000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2090 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6020 |
| predicted_AVG | 0.2697 |
| predicted_BB | 0.2670 |
| predicted_H | 0.9710 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0710 |
| predicted_OBP | 0.3254 |
| predicted_R | 0.5270 |
| predicted_RBI | 0.3590 |
| predicted_SLG | 0.3916 |
| predicted_SO | 0.9100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2860 | 0.2090 | 0.2643 | model_form_blend |
| predicted_3B | 0.0000 | 0.0080 | 0.0023 | model_form_blend |
| predicted_AB | 2.8570 | 3.6020 | 3.0665 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2697 | 0.2606 | model_form_blend |
| predicted_BB | 0.2860 | 0.2670 | 0.2807 | model_form_blend |
| predicted_H | 0.2800 | 0.9710 | 0.4743 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0300 | 0.0710 | 0.0415 | model_form_blend |
| predicted_OBP | 0.2960 | 0.3254 | 0.3043 | model_form_blend |
| predicted_R | 0.4290 | 0.5270 | 0.4566 | model_form_blend |
| predicted_RBI | 0.1500 | 0.3590 | 0.2088 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3916 | 0.3811 | model_form_blend |
| predicted_SO | 0.8570 | 0.9100 | 0.8719 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 8 |
| Season rows before report date | 8 |
| Report year | 2026 |
| Profile rows used | 7 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.3 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B-3B |
| gameID | 20260624_BOS@COL |
| game_type | full |
| mlbID | 678011 |
| playerID | 678011 |
| playerName | Anthony Seigler |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-24 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.341 |
| sl_xwoba | 0.323 |
| sl_xba | 0.283 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 9.8 |
| sl_whiff_percent | 30.3 |
| 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.143 | 0.000 | 0.000 | Hitting_2B | 0.151 | 1.000 | -0.151 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.095 | 4.000 | 3.000 | Hitting_AB | 3.111 | 3.000 | 0.889 | 1.000 |
| predicted_AVG | 0.231 | 0.250 | 0.333 | Hitting_AVG | 0.199 | 0.333 | 0.051 | -0.083 |
| predicted_BB | 0.262 | 0.000 | 0.000 | Hitting_BB | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.620 | 1.000 | 1.000 | Hitting_H | 0.619 | 1.000 | 0.381 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.264 | 0.250 | 0.333 | Hitting_OBP | 0.279 | 0.333 | -0.029 | -0.083 |
| predicted_R | 0.357 | 0.000 | 0.000 | Hitting_R | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_SLG | 0.310 | 0.250 | 0.333 | Hitting_SLG | 0.301 | 0.667 | -0.051 | -0.417 |
| predicted_SO | 1.095 | 1.000 | 1.000 | Hitting_SO | 1.071 | 1.000 | -0.071 | 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.0950 -> 4.0000 (boost 0.9050, better) |
| Biggest Deboost | predicted_R: 0.3570 -> 0.0000 (deboost -0.3570, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 1 | 4 | predicted_AB: 3.0950 -> 3.1485 (boost 0.0535, better) | predicted_AVG: 0.2310 -> 0.2127 (deboost -0.0183, worse) | Final model input calibrated with local 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.2127 -> 0.1822 (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 | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.5737 -> 1.0000 (boost 0.4263, better) | predicted_BB: 0.2509 -> 0.0000 (deboost -0.2509, worse) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.182 HR/AB=0.016 |
| 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.3088 -> 0.0000 (deboost -0.3088, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1822 -> 0.3330 (boost 0.1508, 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 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1822 (deboost -0.1508, worse) | 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": "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.143,
"predicted_3B": 0.0,
"predicted_AB": 3.095,
"predicted_AVG": 0.231,
"predicted_BB": 0.262,
"predicted_H": 0.62,
"predicted_HR": 0.06,
"predicted_OBP": 0.264,
"predicted_R": 0.357,
"predicted_RBI": 0.24,
"predicted_SLG": 0.31,
"predicted_SO": 1.095
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1474,
"predicted_3B": 0.0008,
"predicted_AB": 3.1485,
"predicted_AVG": 0.2127,
"predicted_BB": 0.256,
"predicted_H": 0.6112,
"predicted_HBP": 0.03,
"predicted_HR": 0.0536,
"predicted_OBP": 0.2568,
"predicted_R": 0.3446,
"predicted_RBI": 0.214,
"predicted_SLG": 0.2959,
"predicted_SO": 1.1473
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1474,
"delta": 0.0044,
"percent_delta": 0.0308,
"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.095,
"after": 3.1485,
"delta": 0.0535,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2127,
"delta": -0.0183,
"percent_delta": -0.0792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.262,
"after": 0.256,
"delta": -0.006,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.6112,
"delta": -0.0088,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0536,
"delta": -0.0064,
"percent_delta": -0.1067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2568,
"delta": -0.0072,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.3446,
"delta": -0.0124,
"percent_delta": -0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.214,
"delta": -0.026,
"percent_delta": -0.1083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.31,
"after": 0.2959,
"delta": -0.0141,
"percent_delta": -0.0455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.095,
"after": 1.1473,
"delta": 0.0523,
"percent_delta": 0.0478,
"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": 3.095,
"after": 3.1485,
"delta": 0.0535,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2127,
"delta": -0.0183,
"percent_delta": -0.0792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1474,
"predicted_3B": 0.0008,
"predicted_AB": 3.1485,
"predicted_AVG": 0.1822,
"predicted_BB": 0.2509,
"predicted_H": 0.5737,
"predicted_HBP": 0.03,
"predicted_HR": 0.0501,
"predicted_OBP": 0.2426,
"predicted_R": 0.3088,
"predicted_RBI": 0.1917,
"predicted_SLG": 0.2773,
"predicted_SO": 1.1701
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1474,
"after": 0.1474,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1485,
"after": 3.1485,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2127,
"after": 0.1822,
"delta": -0.0305,
"percent_delta": -0.1434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.256,
"after": 0.2509,
"delta": -0.0051,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6112,
"after": 0.5737,
"delta": -0.0375,
"percent_delta": -0.0614,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.03,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0536,
"after": 0.0501,
"delta": -0.0035,
"percent_delta": -0.0653,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2568,
"after": 0.2426,
"delta": -0.0142,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3446,
"after": 0.3088,
"delta": -0.0358,
"percent_delta": -0.1039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.214,
"after": 0.1917,
"delta": -0.0223,
"percent_delta": -0.1042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2959,
"after": 0.2773,
"delta": -0.0186,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1473,
"after": 1.1701,
"delta": 0.0228,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2127,
"after": 0.1822,
"delta": -0.0305,
"percent_delta": -0.1434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.15), rates preserved: AVG=0.182 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.1474,
"after": 0.0,
"delta": -0.1474,
"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.1485,
"after": 3.0,
"delta": -0.1485,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2509,
"after": 0.0,
"delta": -0.2509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5737,
"after": 1.0,
"delta": 0.4263,
"percent_delta": 0.7431,
"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.0501,
"after": 0.0,
"delta": -0.0501,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1917,
"after": 0.0,
"delta": -0.1917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1701,
"after": 1.0,
"delta": -0.1701,
"percent_delta": -0.1454,
"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.5737,
"after": 1.0,
"delta": 0.4263,
"percent_delta": 0.7431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2509,
"after": 0.0,
"delta": -0.2509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3088,
"after": 0.0,
"delta": -0.3088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3088,
"after": 0.0,
"delta": -0.3088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1822,
"after": 0.333,
"delta": 0.1508,
"percent_delta": 0.8277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2426,
"after": 0.333,
"delta": 0.0904,
"percent_delta": 0.3726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2773,
"after": 0.333,
"delta": 0.0557,
"percent_delta": 0.2009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1822,
"after": 0.333,
"delta": 0.1508,
"percent_delta": 0.8277,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1822,
"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.2426,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2773,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1822,
"delta": -0.1508,
"percent_delta": -0.4528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2426,
"delta": -0.0904,
"percent_delta": -0.2715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2773,
"delta": -0.0557,
"percent_delta": -0.1672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1822,
"delta": -0.1508,
"percent_delta": -0.4528,
"direction": "deboost",
"projection_effect": "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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.095,
"after": 4.0,
"delta": 0.905,
"percent_delta": 0.2924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.1822,
"delta": -0.0488,
"percent_delta": -0.2113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.262,
"after": 0.0,
"delta": -0.262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"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.264,
"after": 0.2426,
"delta": -0.0214,
"percent_delta": -0.0811,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.31,
"after": 0.2773,
"delta": -0.0327,
"percent_delta": -0.1055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.095,
"after": 1.0,
"delta": -0.095,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.095,
"after": 4.0,
"delta": 0.905,
"percent_delta": 0.2924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.000 | - |
| predicted_AB | 3.095 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.262 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.264 | - |
| predicted_R | 0.357 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.310 | - |
| predicted_SO | 1.095 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | 0.004 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.148 | 0.053 |
| predicted_AVG | 0.213 | -0.018 |
| predicted_BB | 0.256 | -0.006 |
| predicted_H | 0.611 | -0.009 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.054 | -0.006 |
| predicted_OBP | 0.257 | -0.007 |
| predicted_R | 0.345 | -0.012 |
| predicted_RBI | 0.214 | -0.026 |
| predicted_SLG | 0.296 | -0.014 |
| predicted_SO | 1.147 | 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.147 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.148 | 0.000 |
| predicted_AVG | 0.182 | -0.030 |
| predicted_BB | 0.251 | -0.005 |
| predicted_H | 0.574 | -0.037 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.050 | -0.004 |
| predicted_OBP | 0.243 | -0.014 |
| predicted_R | 0.309 | -0.036 |
| predicted_RBI | 0.192 | -0.022 |
| predicted_SLG | 0.277 | -0.019 |
| predicted_SO | 1.170 | 0.023 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.182 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=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.147 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.148 |
| predicted_AVG | 0.333 | 0.151 |
| predicted_BB | 0.000 | -0.251 |
| predicted_H | 1.000 | 0.426 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.333 | 0.090 |
| predicted_R | 0.000 | -0.309 |
| predicted_RBI | 0.000 | -0.192 |
| predicted_SLG | 0.333 | 0.056 |
| 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 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 8.000 | 0.1333 | 0.1765 | 0.2000 | 0.1333 | 0.0000 | 0.0667 | 0.0667 | 0.5333 |
| last_10 | 0.20 | 10 | - | 32.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 15.000 | 0.1250 | 0.1714 | 0.1562 | 0.1250 | 0.0000 | 0.0312 | 0.0625 | 0.4688 |
| season | 0.60 | 42 | - | 130.000 | 26.000 | 6.000 | 0.000 | 2.000 | 4.000 | 15.000 | 11.000 | 46.000 | 0.2000 | 0.2708 | 0.2923 | 0.2000 | 0.0154 | 0.0308 | 0.0846 | 0.3538 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1540 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2290 |
| predicted_AVG | 0.1853 |
| predicted_BB | 0.2470 |
| predicted_H | 0.5980 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.0440 |
| predicted_OBP | 0.2461 |
| predicted_R | 0.3260 |
| predicted_RBI | 0.1750 |
| predicted_SLG | 0.2748 |
| predicted_SO | 1.2260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1540 | 0.1474 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0950 | 3.2290 | 3.1485 | model_form_blend |
| predicted_AVG | 0.2310 | 0.1853 | 0.2127 | model_form_blend |
| predicted_BB | 0.2620 | 0.2470 | 0.2560 | model_form_blend |
| predicted_H | 0.6200 | 0.5980 | 0.6112 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.0600 | 0.0440 | 0.0536 | model_form_blend |
| predicted_OBP | 0.2640 | 0.2461 | 0.2568 | model_form_blend |
| predicted_R | 0.3570 | 0.3260 | 0.3446 | model_form_blend |
| predicted_RBI | 0.2400 | 0.1750 | 0.2140 | model_form_blend |
| predicted_SLG | 0.3100 | 0.2748 | 0.2959 | model_form_blend |
| predicted_SO | 1.0950 | 1.2260 | 1.1473 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 126 |
| Season rows before report date | 126 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | 20260624_BOS@COL |
| game_type | full |
| mlbID | 665966 |
| playerID | 665966 |
| playerName | Carlos Narváez |
| pos | C |
| started | True |
| startingPosition | C |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-24 |
| sl_k_percent | 31.7 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.256 |
| sl_xwoba | 0.281 |
| sl_xba | 0.219 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 39.5 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 52.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.149 | 0.000 | 0.000 | Hitting_2B | 0.126 | 1.000 | -0.126 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 2.000 | 3.000 | Hitting_AB | 3.247 | 2.000 | -1.247 | 0.000 |
| predicted_AVG | 0.233 | 0.500 | 0.333 | Hitting_AVG | 0.217 | 0.500 | 0.283 | 0.000 |
| predicted_BB | 0.239 | 1.000 | 0.000 | Hitting_BB | 0.247 | 0.000 | 0.753 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.250 | 1.000 | 1.000 | Hitting_H | 0.703 | 1.000 | 0.297 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_OBP | 0.278 | 0.750 | 0.333 | Hitting_OBP | 0.277 | 0.500 | 0.473 | 0.250 |
| predicted_R | 0.269 | 0.000 | 0.000 | Hitting_R | 0.247 | 1.000 | -0.247 | -1.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_SLG | 0.347 | 0.500 | 0.333 | Hitting_SLG | 0.296 | 1.000 | 0.204 | -0.500 |
| predicted_SO | 0.627 | 0.000 | 1.000 | Hitting_SO | 0.692 | 0.000 | -0.692 | 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.2390 -> 1.0000 (boost 0.7610, better) |
| Biggest Deboost | predicted_AB: 3.0000 -> 2.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 | 6 | 0 | 5 | 1 | predicted_H: 0.2500 -> 0.4647 (boost 0.2147, 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.3532 -> 0.2366 (deboost -0.1166, 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.6987 -> 1.0000 (boost 0.3013, worse) | predicted_H: 0.4362 -> 0.0000 (deboost -0.4362, worse) | AB rounded to 3 (raw=3.06), rates preserved: AVG=0.142 HR/AB=0.010 |
| 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 | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2410 -> 0.0000 (deboost -0.2410, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1423 -> 0.3330 (boost 0.1907, better) | - | 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 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1423 (deboost -0.1907, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691785",
"player_name": "Marcelo Mayer",
"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.149,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.233,
"predicted_BB": 0.239,
"predicted_H": 0.25,
"predicted_HR": 0.03,
"predicted_OBP": 0.278,
"predicted_R": 0.269,
"predicted_RBI": 0.17,
"predicted_SLG": 0.347,
"predicted_SO": 0.627
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1947,
"predicted_3B": 0.0004,
"predicted_AB": 3.0644,
"predicted_AVG": 0.2372,
"predicted_BB": 0.2365,
"predicted_H": 0.4647,
"predicted_HBP": 0.028,
"predicted_HR": 0.0333,
"predicted_OBP": 0.2869,
"predicted_R": 0.269,
"predicted_RBI": 0.2909,
"predicted_SLG": 0.3532,
"predicted_SO": 0.6851
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.1947,
"delta": 0.0457,
"percent_delta": 0.3067,
"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.0644,
"delta": 0.0644,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2372,
"delta": 0.0042,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.239,
"after": 0.2365,
"delta": -0.0025,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.4647,
"delta": 0.2147,
"percent_delta": 0.8588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0333,
"delta": 0.0033,
"percent_delta": 0.11,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2869,
"delta": 0.0089,
"percent_delta": 0.032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.269,
"after": 0.269,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2909,
"delta": 0.1209,
"percent_delta": 0.7112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3532,
"delta": 0.0062,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 0.6851,
"delta": 0.0581,
"percent_delta": 0.0927,
"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.25,
"after": 0.4647,
"delta": 0.2147,
"percent_delta": 0.8588,
"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": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1947,
"predicted_3B": 0.0004,
"predicted_AB": 3.0644,
"predicted_AVG": 0.1423,
"predicted_BB": 0.2318,
"predicted_H": 0.4362,
"predicted_HBP": 0.028,
"predicted_HR": 0.0312,
"predicted_OBP": 0.2027,
"predicted_R": 0.241,
"predicted_RBI": 0.2606,
"predicted_SLG": 0.2366,
"predicted_SO": 0.6987
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1947,
"after": 0.1947,
"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.0644,
"after": 3.0644,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2372,
"after": 0.1423,
"delta": -0.0949,
"percent_delta": -0.4001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2365,
"after": 0.2318,
"delta": -0.0047,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4647,
"after": 0.4362,
"delta": -0.0285,
"percent_delta": -0.0613,
"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.0333,
"after": 0.0312,
"delta": -0.0021,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2869,
"after": 0.2027,
"delta": -0.0842,
"percent_delta": -0.2935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.269,
"after": 0.241,
"delta": -0.028,
"percent_delta": -0.1041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2909,
"after": 0.2606,
"delta": -0.0303,
"percent_delta": -0.1042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3532,
"after": 0.2366,
"delta": -0.1166,
"percent_delta": -0.3301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6851,
"after": 0.6987,
"delta": 0.0136,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3532,
"after": 0.2366,
"delta": -0.1166,
"percent_delta": -0.3301,
"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.142 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.1947,
"after": 0.0,
"delta": -0.1947,
"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.0644,
"after": 3.0,
"delta": -0.0644,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2318,
"after": 0.0,
"delta": -0.2318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4362,
"after": 0.0,
"delta": -0.4362,
"percent_delta": -1.0,
"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.0312,
"after": 0.0,
"delta": -0.0312,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2606,
"after": 0.0,
"delta": -0.2606,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6987,
"after": 1.0,
"delta": 0.3013,
"percent_delta": 0.4312,
"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.6987,
"after": 1.0,
"delta": 0.3013,
"percent_delta": 0.4312,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4362,
"after": 0.0,
"delta": -0.4362,
"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": 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.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": 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.241,
"after": 0.0,
"delta": -0.241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.241,
"after": 0.0,
"delta": -0.241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1423,
"after": 0.333,
"delta": 0.1907,
"percent_delta": 1.3401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2027,
"after": 0.333,
"delta": 0.1303,
"percent_delta": 0.6428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2366,
"after": 0.333,
"delta": 0.0964,
"percent_delta": 0.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1423,
"after": 0.333,
"delta": 0.1907,
"percent_delta": 1.3401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1423,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2027,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2366,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1423,
"delta": -0.1907,
"percent_delta": -0.5725,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2027,
"delta": -0.1303,
"percent_delta": -0.3914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2366,
"delta": -0.0964,
"percent_delta": -0.2894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1423,
"delta": -0.1907,
"percent_delta": -0.5725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.1423,
"delta": -0.0907,
"percent_delta": -0.3893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.239,
"after": 1.0,
"delta": 0.761,
"percent_delta": 3.1841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2027,
"delta": -0.0753,
"percent_delta": -0.2709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.2366,
"delta": -0.1104,
"percent_delta": -0.3182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"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.239,
"after": 1.0,
"delta": 0.761,
"percent_delta": 3.1841,
"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
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.239 | - |
| predicted_H | 0.250 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.269 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.627 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.046 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.064 | 0.064 |
| predicted_AVG | 0.237 | 0.004 |
| predicted_BB | 0.236 | -0.003 |
| predicted_H | 0.465 | 0.215 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.033 | 0.003 |
| predicted_OBP | 0.287 | 0.009 |
| predicted_R | 0.269 | 0.000 |
| predicted_RBI | 0.291 | 0.121 |
| predicted_SLG | 0.353 | 0.006 |
| predicted_SO | 0.685 | 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.195 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.064 | 0.000 |
| predicted_AVG | 0.142 | -0.095 |
| predicted_BB | 0.232 | -0.005 |
| predicted_H | 0.436 | -0.029 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.031 | -0.002 |
| predicted_OBP | 0.203 | -0.084 |
| predicted_R | 0.241 | -0.028 |
| predicted_RBI | 0.261 | -0.030 |
| predicted_SLG | 0.237 | -0.117 |
| predicted_SO | 0.699 | 0.014 |
AB rounded to 3 (raw=3.06), rates preserved: AVG=0.142 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 | - |
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 | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.195 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.064 |
| predicted_AVG | 0.333 | 0.191 |
| predicted_BB | 0.000 | -0.232 |
| predicted_H | 1.000 | 0.564 |
| predicted_HR | 0.000 | -0.031 |
| predicted_OBP | 0.333 | 0.130 |
| predicted_R | 0.000 | -0.241 |
| predicted_RBI | 0.000 | -0.261 |
| predicted_SLG | 0.333 | 0.096 |
| predicted_SO | 1.000 | 0.301 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -1.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 | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 3.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.000 | 5.000 | 0.3125 | 0.3125 | 0.5000 | 0.3125 | 0.0000 | 0.2500 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 31.000 | 7.000 | 3.000 | 0.000 | 0.000 | 5.000 | 2.000 | 4.000 | 9.000 | 0.2258 | 0.3143 | 0.3226 | 0.2258 | 0.0000 | 0.1613 | 0.1290 | 0.2903 |
| season | 0.60 | 67 | - | 201.000 | 45.000 | 10.000 | 0.000 | 3.000 | 22.000 | 18.000 | 16.000 | 42.000 | 0.2239 | 0.2870 | 0.3184 | 0.2239 | 0.0149 | 0.1095 | 0.0796 | 0.2090 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2590 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1550 |
| predicted_AVG | 0.2430 |
| predicted_BB | 0.2330 |
| predicted_H | 0.7670 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.0380 |
| predicted_OBP | 0.2994 |
| predicted_R | 0.2690 |
| predicted_RBI | 0.4610 |
| predicted_SLG | 0.3620 |
| predicted_SO | 0.7670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.2590 | 0.1947 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0000 | 3.1550 | 3.0644 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2430 | 0.2372 | model_form_blend |
| predicted_BB | 0.2390 | 0.2330 | 0.2365 | model_form_blend |
| predicted_H | 0.2500 | 0.7670 | 0.4647 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.0300 | 0.0380 | 0.0333 | model_form_blend |
| predicted_OBP | 0.2780 | 0.2994 | 0.2869 | model_form_blend |
| predicted_R | 0.2690 | 0.2690 | 0.2690 | model_form_blend |
| predicted_RBI | 0.1700 | 0.4610 | 0.2909 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3620 | 0.3532 | model_form_blend |
| predicted_SO | 0.6270 | 0.7670 | 0.6851 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 182 |
| Season rows before report date | 182 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.224 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| 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 | SS |
| gameID | 20260624_BOS@COL |
| game_type | short |
| mlbID | 691785 |
| playerID | 691785 |
| playerName | Marcelo Mayer |
| pos | 2B |
| started | False |
| startingPosition | SS |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-24 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.272 |
| sl_xwoba | 0.262 |
| sl_xba | 0.204 |
| sl_xslg | 0.301 |
| sl_sweet_spot_percent | 25.9 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 26.5 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.067 | 2.000 | -0.067 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.200 | 1.000 | -0.200 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.867 | 2.000 | 0.133 | 3.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.273 | 6.000 | -0.173 | -0.900 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.267 | 7.000 | -0.267 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "813349",
"player_name": "Connelly Early",
"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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 5.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 5.1,
"predicted_R": 2.0,
"predicted_SO": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.200 | 13.000 | 28.000 | 12.000 | 29.000 | 5.000 | 4.2289 | 1.4458 | 0.4699 | 1.0120 | 0.4337 | 1.0482 | 0.1807 |
| last_10 | 0.35 | 10 | 56.200 | 25.000 | 53.000 | 18.000 | 55.000 | 12.000 | 3.9706 | 1.2529 | 0.4412 | 0.9353 | 0.3176 | 0.9706 | 0.2118 |
| season | 0.20 | 15 | 81.200 | 33.000 | 73.000 | 31.000 | 79.000 | 14.000 | 3.6367 | 1.2735 | 0.4041 | 0.8939 | 0.3796 | 0.9674 | 0.1714 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0850 |
| predicted_ER | 2.5450 |
| predicted_ERA | 4.1392 |
| predicted_H | 5.3310 |
| predicted_HR | 0.9900 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.4800 |
| predicted_WHIP | 1.3403 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.0850 | 2.0463 | model_form_blend |
| predicted_ER | 2.0000 | 2.5450 | 2.2967 | model_form_blend |
| predicted_ERA | - | 4.1392 | 4.1392 | form_only |
| predicted_H | 5.0000 | 5.3310 | 5.1802 | model_form_blend |
| predicted_HR | 2.0000 | 0.9900 | 1.4502 | model_form_blend |
| predicted_IP | 5.1000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 5.0000 | 5.4800 | 5.2613 | model_form_blend |
| predicted_WHIP | - | 1.3403 | 1.3403 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 5 |
| HR | 2 |
| BF | 23 |
| Pitches | 104 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.64 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 6 |
| Pitching_H | 2 |
| Pitching_HBP | 3 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 98 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260620_BOS@SEA |
| game_type | full |
| mlbID | 813349 |
| playerID | 813349 |
| playerName | Connelly Early |
| pos | P |
| started | True |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-20 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.325 |
| sl_xwoba | 0.326 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 41.4 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 46.3 |
| sl_avg_best_speed | 80.532742655 |
| sl_avg_hyper_speed | 94.465554292 |
| 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.391 | 0.000 | 1.609 | 2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.217 | 3.000 | 1.783 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.696 | 4.000 | 1.304 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.922 | 0.000 | 0.078 | 1.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.261 | 0.000 | 0.739 | 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": "547973",
"player_name": "Aroldis Chapman",
"position": "Middle 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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 5.000 | 2.000 | 7.000 | 0.000 | 1.8000 | 1.4000 | 0.2000 | 1.0000 | 0.4000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 5.000 | 6.000 | 15.000 | 0.000 | 0.9000 | 1.1000 | 0.1000 | 0.5000 | 0.6000 | 1.5000 | 0.0000 |
| season | 0.20 | 22 | 21.200 | 2.000 | 12.000 | 9.000 | 29.000 | 0.000 | 0.8308 | 0.9692 | 0.0923 | 0.5538 | 0.4154 | 1.3385 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4120 |
| predicted_ER | 0.3350 |
| predicted_ERA | 3.0164 |
| predicted_H | 0.8610 |
| predicted_HR | 0.0790 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1670 |
| predicted_WHIP | 1.2738 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.4120 | 1.3289 | model_form_blend |
| predicted_ER | 2.0000 | 0.3350 | 1.2964 | model_form_blend |
| predicted_ERA | - | 3.0164 | 3.0164 | form_only |
| predicted_H | 2.0000 | 0.8610 | 1.5186 | model_form_blend |
| predicted_HR | 0.0000 | 0.0790 | 0.0334 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.1670 | 1.6480 | model_form_blend |
| predicted_WHIP | - | 1.2738 | 1.2738 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 2 |
| HR | 0 |
| BF | 7 |
| 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 | 4 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.08 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260622_BOS@COL |
| game_type | full |
| mlbID | 547973 |
| playerID | 547973 |
| playerName | Aroldis Chapman |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-22 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.265 |
| sl_xwoba | 0.258 |
| sl_sweet_spot_percent | 19.6 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 41.2 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 50.3 |
| sl_avg_best_speed | 75.731674167 |
| sl_avg_hyper_speed | 95.374396042 |
| 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.240 | 0.000 | -0.240 | 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 | 0.880 | 1.000 | -0.880 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.968 | 1.000 | 0.032 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.160 | 1.000 | -1.160 | -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",
"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 | 6.000 | 0.000 | 4.000 | 1.000 | 1.8000 | 1.2000 | 0.2000 | 1.2000 | 0.0000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.100 | 2.000 | 9.000 | 0.000 | 10.000 | 1.000 | 1.9286 | 0.9643 | 0.2143 | 0.9643 | 0.0000 | 1.0714 | 0.1071 |
| season | 0.20 | 25 | 24.200 | 8.000 | 22.000 | 6.000 | 29.000 | 3.000 | 2.9189 | 1.1351 | 0.3243 | 0.8919 | 0.2432 | 1.1757 | 0.1216 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2060 |
| predicted_ER | 0.3660 |
| predicted_ERA | 3.2971 |
| predicted_H | 1.0120 |
| predicted_HR | 0.1490 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9590 |
| predicted_WHIP | 1.2184 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2060 | 0.0899 | model_form_blend |
| predicted_ER | 0.0000 | 0.3660 | 0.1597 | model_form_blend |
| predicted_ERA | - | 3.2971 | 3.2971 | form_only |
| predicted_H | 0.0000 | 1.0120 | 0.4415 | model_form_blend |
| predicted_HR | 0.0000 | 0.1490 | 0.0650 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9590 | 0.4184 | model_form_blend |
| predicted_WHIP | - | 1.2184 | 1.2184 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.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 | 1 |
| Pitching_ERA | 2.92 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_BOS@COL |
| game_type | full |
| mlbID | 676477 |
| playerID | 676477 |
| playerName | Garrett Whitlock |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-23 |
| sl_k_percent | 29.0 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.291 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 32.3 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 55.3 |
| sl_avg_best_speed | 76.101880938 |
| sl_avg_hyper_speed | 93.343707143 |
| 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.263 | 0.000 | -0.263 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.632 | 2.000 | -0.632 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.211 | 4.000 | -1.211 | -4.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.742 | 1.000 | 0.258 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.053 | 1.000 | 0.947 | 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": "686580",
"player_name": "Justin Slaten",
"position": "Middle 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": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 8.000 | 0.000 | 4.000 | 0.000 | 4.1538 | 1.8462 | 0.4615 | 1.8461 | 0.0000 | 0.9231 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 12.000 | 19.000 | 3.000 | 9.000 | 4.000 | 12.4615 | 2.5385 | 1.3846 | 2.1923 | 0.3462 | 1.0385 | 0.4615 |
| season | 0.20 | 19 | 16.200 | 12.000 | 23.000 | 5.000 | 20.000 | 4.000 | 6.4800 | 1.6800 | 0.7200 | 1.3800 | 0.3000 | 1.2000 | 0.2400 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2890 |
| predicted_ER | 0.6330 |
| predicted_ERA | 5.7014 |
| predicted_H | 1.3290 |
| predicted_HR | 0.1710 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9760 |
| predicted_WHIP | 1.6181 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2890 | 0.1143 | model_form_blend |
| predicted_ER | 0.0000 | 0.6330 | 0.2503 | model_form_blend |
| predicted_ERA | - | 5.7014 | 5.7014 | form_only |
| predicted_H | 0.0000 | 1.3290 | 0.5256 | model_form_blend |
| predicted_HR | 0.0000 | 0.1710 | 0.0676 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9760 | 1.5950 | model_form_blend |
| predicted_WHIP | - | 1.6181 | 1.6181 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 2 |
| Pitching_ERA | 6.48 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260624_BOS@COL |
| game_type | full |
| mlbID | 686580 |
| playerID | 686580 |
| playerName | Justin Slaten |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.397 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 43.1 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 78.2982712 |
| sl_avg_hyper_speed | 94.7928432 |
| 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.281 | 0.000 | -0.281 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.906 | 0.000 | 0.094 | 1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.784 | 1.000 | -0.584 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.938 | 1.000 | 0.062 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669711",
"player_name": "Greg Weissert",
"position": "Middle 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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 3.000 | 0.000 | 4.000 | 0.000 | 1.9286 | 0.6429 | 0.2143 | 0.6429 | 0.0000 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 7.000 | 2.000 | 10.000 | 1.000 | 2.7931 | 0.9310 | 0.3103 | 0.7241 | 0.2069 | 1.0345 | 0.1035 |
| season | 0.20 | 31 | 30.000 | 11.000 | 27.000 | 8.000 | 30.000 | 5.000 | 3.3000 | 1.1667 | 0.3667 | 0.9000 | 0.2667 | 1.0000 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1970 |
| predicted_ER | 0.3220 |
| predicted_ERA | 3.4155 |
| predicted_H | 0.7080 |
| predicted_HR | 0.0890 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8030 |
| predicted_WHIP | 1.0683 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1970 | 0.0900 | model_form_blend |
| predicted_ER | 0.0000 | 0.3220 | 0.1471 | model_form_blend |
| predicted_ERA | - | 3.4155 | 3.4155 | form_only |
| predicted_H | 1.0000 | 0.7080 | 0.8666 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0407 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8030 | 0.9100 | model_form_blend |
| predicted_WHIP | - | 1.0683 | 1.0683 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.60 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260619_BOS@SEA |
| game_type | full |
| mlbID | 669711 |
| playerID | 669711 |
| playerName | Greg Weissert |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-06-19 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.313 |
| sl_xwoba | 0.278 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 29.9 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 47.5 |
| sl_avg_best_speed | 75.838203721 |
| sl_avg_hyper_speed | 92.892900465 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | OAK 3 - 4 SF | SF | 0.525 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | OAK 3 - 4 SF | SF | - | advisory_box_score_draw | True |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5250 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.923 | 5.433 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 4 | 0.5250 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 4 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46642032332563516,
"base_low_score_probability": 0.42340261739799845,
"low_score_signal_threshold": 0.5034026173979984,
"low_score_signal_strength": 0.04301770592763671,
"confidence": 0.6508,
"factors": {
"environmental": 1.1016000000000001,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.1016000000000001
},
"prediction": "normal_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 10,
"near_bucket_sample_size": 10,
"medium_bucket_sample_size": 12,
"wide_bucket_sample_size": 12,
"global_sample_size": 12,
"bucket_scope": "sparse_near_0.05",
"sparse_bucket": true,
"empirical_hit_rate": 0.3,
"bayesian_hit_rate": 0.4565,
"sample_weight": 0.1848,
"prior_strength": 36.0,
"reliability": 0.2174,
"confidence_cap": 0.525,
"raw_pick_probability": 0.5699,
"calibrated_pick_probability": 0.525,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "SF",
"games": 79,
"wins": 33,
"losses": 46,
"win_pct": 0.4177215189873418,
"runs_scored": 327,
"runs_allowed": 374,
"run_differential": -47,
"run_differential_per_game": -0.5949367088607594,
"available": true
},
"away": {
"team": "OAK",
"games": 79,
"wins": 38,
"losses": 41,
"win_pct": 0.4810126582278481,
"runs_scored": 365,
"runs_allowed": 421,
"run_differential": -56,
"run_differential_per_game": -0.7088607594936709,
"available": true
},
"run_differential_edge_per_game": 0.1139,
"win_pct_edge": -0.0633,
"quality_edge": 0.019,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "SF",
"guardrail_predicted_team": "SF",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "SF",
"output_opponent_team": "OAK",
"final_score_winner": "SF",
"pre_simulation_winner": "SF",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "OAK 3 - 4 SF",
"winner": "SF"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "OAK 3 - 4 SF",
"winner": "SF"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "SF",
"games": 79,
"wins": 33,
"losses": 46,
"win_pct": 0.4177215189873418,
"runs_scored": 327,
"runs_allowed": 374,
"run_differential": -47,
"run_differential_per_game": -0.5949367088607594,
"available": true
},
"away": {
"team": "OAK",
"games": 79,
"wins": 38,
"losses": 41,
"win_pct": 0.4810126582278481,
"runs_scored": 365,
"runs_allowed": 421,
"run_differential": -56,
"run_differential_per_game": -0.7088607594936709,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.6731,
"final_margin": 0.6731,
"margin_cap": 1.5,
"season_quality_edge": 0.019,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.525,
"final_confidence": 0.525,
"confidence_cap": 0.525,
"score_gap": 0.6731,
"calibration_sample_size": 10,
"calibration_empirical_hit_rate": 0.3,
"calibration_bayesian_hit_rate": 0.4565,
"calibration_sparse_bucket": true,
"season_quality_edge": 0.019,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"historical confidence bucket is sparse",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "OAK 3 - 4 SF",
"winner": "SF"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "OAK 3 - 4 SF",
"winner": "SF"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 3,
"home_runs": 4,
"confidence": 0.525,
"home_win_probability": 0.525,
"away_win_probability": 0.475,
"predicted_score_text": "OAK 3 - 4 SF",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "OAK",
"original_runs": 3,
"run_delta": 0.0393,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.3370399688617231,
"contact": 0.1852747231327064,
"power": 0.3500970082275807,
"discipline": -0.041265099448363415,
"xwoba": 0.32190625,
"recent_xwoba": 0.32190625,
"barrel": 9.29375,
"ab_hard_contact": 0.05033897407542304,
"ab_bat_speed": 72.41555551696268,
"ab_strikeout_rate": 0.2564521034166175,
"available_players": 9,
"top_players": [
{
"player_id": "701762",
"player_name": "Nick Kurtz",
"position": "1B",
"weight": 4.0,
"quality": 1.3431501437919062,
"contact": 1.2457272698392228,
"power": 1.959164650128673,
"discipline": 0.5598849206349208,
"xwoba": 0.394,
"recent_xwoba": 0.394,
"barrel": 18.4,
"ab_hard_contact": 1.2758644311448857,
"ab_bat_speed": 76.35883401920438,
"ab_strikeout_rate": 0.3083333333333333,
"available": 1.0
},
{
"player_id": "669127",
"player_name": "Shea Langeliers",
"position": "DH",
"weight": 5.0,
"quality": 1.0202791398895645,
"contact": 0.9947063657651483,
"power": 1.4718737508081752,
"discipline": -0.07635317460317452,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 14.799999999999999,
"ab_hard_contact": 1.2689035875920744,
"ab_bat_speed": 74.42080277777778,
"ab_strikeout_rate": 0.21600000000000003,
"available": 1.0
},
{
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "2B",
"weight": 3.0,
"quality": -0.32112330530670974,
"contact": -0.16054789363727973,
"power": -1.013818671591785,
"discipline": 0.467514705882353,
"xwoba": 0.301,
"recent_xwoba": 0.301,
"barrel": 1.0,
"ab_hard_contact": -0.7003734318356954,
"ab_bat_speed": 66.7119767351385,
"ab_strikeout_rate": 0.14934640522875817,
"available": 1.0
},
{
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"position": "LF",
"weight": 4.0,
"quality": 0.4409135391957582,
"contact": 0.4407158866992143,
"power": 0.4919877607987996,
"discipline": 0.7114398656898657,
"xwoba": 0.335,
"recent_xwoba": 0.335,
"barrel": 10.3,
"ab_hard_contact": 0.38832664454742105,
"ab_bat_speed": 72.399640491453,
"ab_strikeout_rate": 0.20256410256410257,
"available": 1.0
},
{
"player_id": "675961",
"player_name": "Alika Williams",
"position": "SS",
"weight": 3.0,
"quality": -0.03506710107261208,
"contact": -1.2803548872180448,
"power": -1.281293863977072,
"discipline": -0.9392341269841269,
"xwoba": 0.218,
"recent_xwoba": 0.218,
"barrel": 0.0,
"ab_hard_contact": -1.6148296604938268,
"ab_bat_speed": 68.26666666666667,
"ab_strikeout_rate": 0.4166666666666667,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "694738",
"player_name": "Landen Roupp",
"quality": 0.335833359056628,
"contact": 0.4985106488400005,
"command": 0.26592857142857157,
"movement": -0.3215639892127447,
"xwoba": 0.285,
"whiff": 27.0,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "SF",
"original_runs": 4,
"run_delta": 0.2392,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.029081025962564025,
"contact": 0.07906957050784562,
"power": 0.33442165871636953,
"discipline": -0.47209312495922057,
"xwoba": 0.3157272727272727,
"recent_xwoba": 0.3157272727272727,
"barrel": 9.06969696969697,
"ab_hard_contact": -0.4603749064806894,
"ab_bat_speed": 70.92032317419995,
"ab_strikeout_rate": 0.26117608185739505,
"available_players": 8,
"top_players": [
{
"player_id": "669477",
"player_name": "Casey Schmitt",
"position": "2B",
"weight": 4.0,
"quality": 0.6433585238956274,
"contact": 0.9472646874835744,
"power": 1.123761429901228,
"discipline": -0.6578231538992407,
"xwoba": 0.363,
"recent_xwoba": 0.363,
"barrel": 12.800000000000002,
"ab_hard_contact": -0.08096187816591949,
"ab_bat_speed": 70.20570686680469,
"ab_strikeout_rate": 0.2028985507246377,
"available": 1.0
},
{
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "1B",
"weight": 4.0,
"quality": 0.19606281856891603,
"contact": 1.0660546481461008,
"power": 1.1522796192404572,
"discipline": 0.611289682539683,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 12.4,
"ab_hard_contact": -0.3281219009051429,
"ab_bat_speed": 73.21211734693877,
"ab_strikeout_rate": 0.30357142857142855,
"available": 1.0
},
{
"player_id": "656305",
"player_name": "Matt Chapman",
"position": "3B",
"weight": 4.0,
"quality": -0.4243373507602098,
"contact": -0.5362799823162046,
"power": -0.462187788231208,
"discipline": 0.22479752375507112,
"xwoba": 0.291,
"recent_xwoba": 0.291,
"barrel": 7.0,
"ab_hard_contact": -0.5386129074813001,
"ab_bat_speed": 74.09591194968554,
"ab_strikeout_rate": 0.2362778730703259,
"available": 1.0
},
{
"player_id": "691740",
"player_name": "Daniel Susac",
"position": "C",
"weight": 3.0,
"quality": -0.13191375459833063,
"contact": -0.5319280497705664,
"power": -0.7259120182940075,
"discipline": -0.456204365079365,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 5.1,
"ab_hard_contact": -0.08890703254681462,
"ab_bat_speed": 68.57042534722223,
"ab_strikeout_rate": 0.21770833333333334,
"available": 1.0
},
{
"player_id": "646240",
"player_name": "Rafael Devers",
"position": "DH",
"weight": 4.0,
"quality": 0.12009971122916044,
"contact": -0.037757542477061944,
"power": 0.610129085110358,
"discipline": -0.558119488536155,
"xwoba": 0.304,
"recent_xwoba": 0.304,
"barrel": 10.1,
"ab_hard_contact": -0.2496087739833183,
"ab_bat_speed": 70.05823216735254,
"ab_strikeout_rate": 0.31512345679012344,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "605488",
"player_name": "Jeffrey Springs",
"quality": -0.4018333294978599,
"contact": -0.5910868361819842,
"command": -0.1513571428571427,
"movement": -0.9727495599723757,
"xwoba": 0.33,
"whiff": 23.3,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "OAK 3 - 4 SF",
"confidence": 0.525,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "OAK 3 - 4 SF",
"winner": "SF"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "OAK 3 - 4 SF",
"winner": "SF"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 | 1.0234 | 1.0234 | 1 | 9 | 0 |
| Home SF | True | 1.0109 | 1.0109 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Nick Kurtz | 7 | 1.1231 | 1.6414 | neutral | 0.3940 | 0.2570 | 0.5140 | 18.40 | 58.70 | 94.40 | 12.40 | 36.20 | 29.90 | 19.90 | -0.6000 |
| DH | Shea Langeliers | 19 | 1.1039 | 1.3854 | neutral | 0.3710 | 0.2760 | 0.5310 | 14.80 | 43 | 91.50 | 20.80 | 26.40 | 18.80 | 7.90 | 0.2857 |
| LF | Tyler Soderstrom | 47 | 1.0385 | 0.5135 | neutral | 0.3350 | 0.2480 | 0.4210 | 10.30 | 44.60 | 90 | 12.20 | 21.70 | 17.80 | 12.60 | -0.4000 |
| CF | Henry Bolte | 107 | 0.9988 | -0.0166 | negative_batter_regression | 0.3160 | 0.2340 | 0.3540 | 6.30 | 51.90 | 92.60 | 0.30 | 35 | 28.30 | 9.40 | -1.3429 |
| C | Jonah Heim | 193 | 0.9858 | -0.1892 | negative_batter_regression | 0.2930 | 0.2330 | 0.3750 | 6.70 | 28.10 | 87.10 | 16.30 | 22 | 16.80 | 8.40 | -1.2571 |
| 3B | Max Muncy | 562 | 1.0108 | 0.1442 | neutral | 0.3040 | 0.2240 | 0.4040 | 13.30 | 51.80 | 91.90 | 13.30 | 32.10 | 32.40 | 6.30 | -0.2857 |
| RF | Lawrence Butler | 579 | 1.0123 | 0.1646 | positive_batter_regression | 0.3060 | 0.2430 | 0.3680 | 6.80 | 44.80 | 88.50 | 3.70 | 30.50 | 27 | 10.20 | 1.3143 |
| 2B | Jeff McNeil | 462 | 0.9909 | -0.1209 | neutral | 0.3010 | 0.2640 | 0.3400 | 1 | 30.60 | 86.10 | 13.40 | 17.40 | 13.70 | 8.20 | 0.7143 |
| SS | Alika Williams | 207 | 0.9468 | -0.7087 | negative_batter_regression | 0.2180 | 0.1980 | 0.2570 | 0 | 37.50 | 89.20 | 17 | 26 | 27.10 | 4.20 | -2 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Casey Schmitt | 105 | 1.0789 | 1.0514 | neutral | 0.3630 | 0.3000 | 0.5230 | 12.80 | 43.90 | 89.50 | 21.20 | 22.50 | 19.90 | 2.30 | 0.0286 |
| 3B | Matt Chapman | 26 | 0.9674 | -0.4347 | neutral | 0.2910 | 0.2140 | 0.3290 | 7 | 36.60 | 88.30 | 10.50 | 23 | 22.50 | 10.30 | -0.6857 |
| DH | Rafael Devers | 194 | 1.0171 | 0.2285 | neutral | 0.3040 | 0.2230 | 0.4180 | 10.10 | 50.20 | 91.90 | 13.80 | 29.90 | 29.50 | 8 | -0.4286 |
| 1B | Bryce Eldridge | 159 | 1.0413 | 0.5506 | neutral | 0.3710 | 0.2690 | 0.4920 | 12.40 | 53.60 | 91.20 | 12.20 | 22.60 | 22.40 | 13.80 | -0.2286 |
| SS | Willy Adames | 145 | 0.9907 | -0.1243 | neutral | 0.2870 | 0.2200 | 0.3960 | 9.10 | 40.60 | 88.60 | 22.70 | 28 | 27.50 | 5.20 | -0.2857 |
| C | Daniel Susac | 235 | 0.9893 | -0.1431 | neutral | 0.2900 | 0.2520 | 0.3360 | 5.10 | 29.10 | 86.60 | 17.10 | 24.80 | 23 | 5.30 | -0.0286 |
| RF | Jung Hoo Lee | 84 | 1.0171 | 0.2275 | negative_batter_regression | 0.3340 | 0.3100 | 0.4100 | 2.80 | 30.80 | 87.90 | 11.30 | 12.40 | 9 | 4.50 | -0.9143 |
| LF | Victor Bericoto | 457 | 0.9760 | -0.3195 | negative_batter_regression | 0.2440 | 0.1710 | 0.4140 | 13.30 | 53.30 | 89.90 | 2.90 | 30.20 | 31.80 | 0 | -1.8286 |
| CF | Jonah Cox | 225 | 1.0207 | 0.2755 | negative_batter_regression | 0.3390 | 0.2880 | 0.5130 | 9.10 | 45.50 | 91.50 | 23.90 | 46.30 | 47.60 | 0 | -2 |
{
"home": {
"applied": true,
"offense_factor": 1.0109,
"raw_average_factor": 1.0109,
"team_espn_average_rank": 181.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "669477",
"player_name": "Casey Schmitt",
"offense_factor": 1.0789,
"quality_score": 1.0514,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669477",
"espn_id": 4301949,
"player_name": "Casey Schmitt",
"team": "SF",
"role": "batter",
"espn_rank": 105,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 105,
"gp_value": 71.0,
"gp_rank": 129,
"ab_value": 285.0,
"ab_rank": 58,
"r_value": 34.0,
"r_rank": 110,
"h_value": 84.0,
"h_rank": 17,
"avg_value": 0.2947368,
"avg_rank": 13.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 16.0,
"hr_rank": 27,
"rbi_value": 42.0,
"rbi_rank": 47,
"tb_value": 149.0,
"tb_rank": 274,
"bb_value": 7.0,
"bb_rank": 351,
"so_value": 60.0,
"so_rank": 102,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.3222591,
"obp_rank": "95",
"slg_value": 0.522807,
"slg_rank": "14",
"ops_value": 0.8450661,
"ops_rank": 81.0,
"war_value": 1.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 190.0,
"k_percent": 19.9,
"bb_percent": 2.3,
"woba": 0.362,
"xwoba": 0.363,
"xba": 0.3,
"xslg": 0.523,
"sweet_spot_percent": 39.9,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 43.9,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 21.2,
"whiff_percent": 22.5,
"swing_percent": 53.7
},
"components": {
"expected_quality": 1.411,
"regression_edge": 0.0286,
"xwoba_edge": 1.6857,
"xba_edge": 1.7143,
"xslg_edge": 2.1286,
"barrel_edge": 1.2889,
"hard_hit_edge": 0.8,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 1.1,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "656305",
"player_name": "Matt Chapman",
"offense_factor": 0.9674,
"quality_score": -0.4347,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656305",
"espn_id": 33857,
"player_name": "Matt Chapman",
"team": "SF",
"role": "batter",
"espn_rank": 26,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 26,
"gp_value": 78.0,
"gp_rank": 32,
"ab_value": 287.0,
"ab_rank": 50,
"r_value": 35.0,
"r_rank": 99,
"h_value": 69.0,
"h_rank": 78,
"avg_value": 0.2404181,
"avg_rank": 107.0,
"2b_value": 17.0,
"2b_rank": 23,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 42.0,
"rbi_rank": 47,
"tb_value": 109.0,
"tb_rank": 676,
"bb_value": 34.0,
"bb_rank": 49,
"so_value": 74.0,
"so_rank": 51,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3282674,
"obp_rank": "89",
"slg_value": 0.3797909,
"slg_rank": "119",
"ops_value": 0.7080583,
"ops_rank": 30.0,
"war_value": 2.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 221.0,
"k_percent": 22.5,
"bb_percent": 10.3,
"woba": 0.315,
"xwoba": 0.291,
"xba": 0.214,
"xslg": 0.329,
"sweet_spot_percent": 25.5,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 36.6,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 10.5,
"whiff_percent": 23.0,
"swing_percent": 44.6
},
"components": {
"expected_quality": -0.3938,
"regression_edge": -0.6857,
"xwoba_edge": -0.3714,
"xba_edge": -0.7429,
"xslg_edge": -0.6429,
"barrel_edge": 0.0,
"hard_hit_edge": -0.2429,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -1.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "646240",
"player_name": "Rafael Devers",
"offense_factor": 1.0171,
"quality_score": 0.2285,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "646240",
"espn_id": 33859,
"player_name": "Rafael Devers",
"team": "SF",
"role": "batter",
"espn_rank": 194,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 194,
"gp_value": 79.0,
"gp_rank": 20,
"ab_value": 306.0,
"ab_rank": 16,
"r_value": 36.0,
"r_rank": 89,
"h_value": 73.0,
"h_rank": 64,
"avg_value": 0.238562,
"avg_rank": 113.0,
"2b_value": 23.0,
"2b_rank": 1,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 12.0,
"hr_rank": 57,
"rbi_value": 38.0,
"rbi_rank": 69,
"tb_value": 134.0,
"tb_rank": 398,
"bb_value": 27.0,
"bb_rank": 92,
"so_value": 99.0,
"so_rank": 8,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3005952,
"obp_rank": "136",
"slg_value": 0.4379084,
"slg_rank": "72",
"ops_value": 0.7385036,
"ops_rank": 64.0,
"war_value": 0.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 29.5,
"bb_percent": 8.0,
"woba": 0.319,
"xwoba": 0.304,
"xba": 0.223,
"xslg": 0.418,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 10.1,
"hard_hit_percent": 50.2,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 13.8,
"whiff_percent": 29.9,
"swing_percent": 49.7
},
"components": {
"expected_quality": 0.3355,
"regression_edge": -0.4286,
"xwoba_edge": 0.0,
"xba_edge": -0.4857,
"xslg_edge": 0.6286,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.7,
"exit_velocity_edge": 1.24,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"offense_factor": 1.0413,
"quality_score": 0.5506,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805811",
"espn_id": 5149064,
"player_name": "Bryce Eldridge",
"team": "SF",
"role": "batter",
"espn_rank": 159,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 159,
"gp_value": 38.0,
"gp_rank": 329,
"ab_value": 130.0,
"ab_rank": 277,
"r_value": 20.0,
"r_rank": 228,
"h_value": 37.0,
"h_rank": 237,
"avg_value": 0.2846153,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 16.0,
"rbi_rank": 266,
"tb_value": 64.0,
"tb_rank": 1330,
"bb_value": 21.0,
"bb_rank": 154,
"so_value": 34.0,
"so_rank": 257,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3815789,
"obp_rank": "-",
"slg_value": 0.4923076,
"slg_rank": "-",
"ops_value": 0.8738865,
"ops_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 46.0,
"k_percent": 22.4,
"bb_percent": 13.8,
"woba": 0.379,
"xwoba": 0.371,
"xba": 0.269,
"xslg": 0.492,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 53.6,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 12.2,
"whiff_percent": 22.6,
"swing_percent": 44.6
},
"components": {
"expected_quality": 1.46,
"regression_edge": -0.2286,
"xwoba_edge": 1.9143,
"xba_edge": 0.8286,
"xslg_edge": 1.6857,
"barrel_edge": 1.2,
"hard_hit_edge": 2.1857,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "642715",
"player_name": "Willy Adames",
"offense_factor": 0.9907,
"quality_score": -0.1243,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642715",
"espn_id": 33675,
"player_name": "Willy Adames",
"team": "SF",
"role": "batter",
"espn_rank": 145,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 145,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 308.0,
"ab_rank": 12,
"r_value": 38.0,
"r_rank": 77,
"h_value": 69.0,
"h_rank": 78,
"avg_value": 0.2240259,
"avg_rank": 140.0,
"2b_value": 19.0,
"2b_rank": 8,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 13.0,
"hr_rank": 44,
"rbi_value": 31.0,
"rbi_rank": 120,
"tb_value": 129.0,
"tb_rank": 382,
"bb_value": 17.0,
"bb_rank": 193,
"so_value": 90.0,
"so_rank": 15,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.266055,
"obp_rank": "160",
"slg_value": 0.4188311,
"slg_rank": "89",
"ops_value": 0.6848861,
"ops_rank": 249.0,
"war_value": 0.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 228.0,
"k_percent": 27.5,
"bb_percent": 5.2,
"woba": 0.297,
"xwoba": 0.287,
"xba": 0.22,
"xslg": 0.396,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 40.6,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 22.7,
"whiff_percent": 28.0,
"swing_percent": 48.6
},
"components": {
"expected_quality": -0.098,
"regression_edge": -0.2857,
"xwoba_edge": -0.4857,
"xba_edge": -0.5714,
"xslg_edge": 0.3143,
"barrel_edge": 0.4667,
"hard_hit_edge": 0.3286,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.6833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "691740",
"player_name": "Daniel Susac",
"offense_factor": 0.9893,
"quality_score": -0.1431,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691740",
"espn_id": 4751554,
"player_name": "Daniel Susac",
"team": "SF",
"role": "batter",
"espn_rank": 235,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 235,
"gp_value": 36.0,
"gp_rank": 341,
"ab_value": 101.0,
"ab_rank": 336,
"r_value": 5.0,
"r_rank": 432,
"h_value": 27.0,
"h_rank": 302,
"avg_value": 0.2673267,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 14.0,
"rbi_rank": 286,
"tb_value": 34.0,
"tb_rank": 2109,
"bb_value": 6.0,
"bb_rank": 372,
"so_value": 26.0,
"so_rank": 313,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3153153,
"obp_rank": "-",
"slg_value": 0.3366336,
"slg_rank": "-",
"ops_value": 0.6519489,
"ops_rank": null,
"war_value": 0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 52.0,
"k_percent": 23.0,
"bb_percent": 5.3,
"woba": 0.291,
"xwoba": 0.29,
"xba": 0.252,
"xslg": 0.336,
"sweet_spot_percent": 40.5,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 29.1,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 17.1,
"whiff_percent": 24.8,
"swing_percent": 55.6
},
"components": {
"expected_quality": -0.365,
"regression_edge": -0.0286,
"xwoba_edge": -0.4,
"xba_edge": 0.3429,
"xslg_edge": -0.5429,
"barrel_edge": -0.4222,
"hard_hit_edge": -1.3143,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": 1.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"offense_factor": 1.0171,
"quality_score": 0.2275,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "808982",
"espn_id": 5134621,
"player_name": "Jung Hoo Lee",
"team": "SF",
"role": "batter",
"espn_rank": 84,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 84,
"gp_value": 71.0,
"gp_rank": 129,
"ab_value": 270.0,
"ab_rank": 91,
"r_value": 40.0,
"r_rank": 64,
"h_value": 90.0,
"h_rank": 5,
"avg_value": 0.3333333,
"avg_rank": 2.0,
"2b_value": 19.0,
"2b_rank": 8,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 27.0,
"rbi_rank": 161,
"tb_value": 128.0,
"tb_rank": 634,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 26.0,
"so_rank": 313,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.366782,
"obp_rank": "32",
"slg_value": 0.474074,
"slg_rank": "39",
"ops_value": 0.840856,
"ops_rank": 71.0,
"war_value": 1.61,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 193.0,
"k_percent": 9.0,
"bb_percent": 4.5,
"woba": 0.366,
"xwoba": 0.334,
"xba": 0.31,
"xslg": 0.41,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 30.8,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 11.3,
"whiff_percent": 12.4,
"swing_percent": 46.4
},
"components": {
"expected_quality": 0.4503,
"regression_edge": -0.9143,
"xwoba_edge": 0.8571,
"xba_edge": 2.0,
"xslg_edge": 0.5143,
"barrel_edge": -0.9333,
"hard_hit_edge": -1.0714,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 1.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "682674",
"player_name": "Victor Bericoto",
"offense_factor": 0.976,
"quality_score": -0.3195,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682674",
"espn_id": 42502,
"player_name": "Victor Bericoto",
"team": "SF",
"role": "batter",
"espn_rank": 457,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 457,
"gp_value": 14.0,
"gp_rank": 464,
"ab_value": 22.0,
"ab_rank": 502,
"r_value": 2.0,
"r_rank": 482,
"h_value": 5.0,
"h_rank": 482,
"avg_value": 0.2272727,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 495,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 2.0,
"rbi_rank": 475,
"tb_value": 11.0,
"tb_rank": 2339,
"bb_value": 0.0,
"bb_rank": 533,
"so_value": 7.0,
"so_rank": 487,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2272727,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.7272727,
"ops_rank": null,
"war_value": -0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 5.0,
"k_percent": 31.8,
"bb_percent": 0.0,
"woba": 0.308,
"xwoba": 0.244,
"xba": 0.171,
"xslg": 0.414,
"sweet_spot_percent": 20.0,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 53.3,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 2.9,
"whiff_percent": 30.2,
"swing_percent": 60.9
},
"components": {
"expected_quality": -0.5278,
"regression_edge": -1.8286,
"xwoba_edge": -1.7143,
"xba_edge": -1.9714,
"xslg_edge": 0.5714,
"barrel_edge": 1.4,
"hard_hit_edge": 2.1429,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -2.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "813841",
"player_name": "Jonah Cox",
"offense_factor": 1.0207,
"quality_score": 0.2755,
"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": 225,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 225,
"gp_value": 17.0,
"gp_rank": 442,
"ab_value": 19.0,
"ab_rank": 511,
"r_value": 5.0,
"r_rank": 432,
"h_value": 7.0,
"h_rank": 461,
"avg_value": 0.368421,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 449,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 2.0,
"rbi_rank": 475,
"tb_value": 13.0,
"tb_rank": 2193,
"bb_value": 0.0,
"bb_rank": 533,
"so_value": 10.0,
"so_rank": 458,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.368421,
"obp_rank": "-",
"slg_value": 0.6842105,
"slg_rank": "-",
"ops_value": 1.0526315,
"ops_rank": null,
"war_value": 0.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 47.6,
"bb_percent": 0.0,
"woba": 0.446,
"xwoba": 0.339,
"xba": 0.288,
"xslg": 0.513,
"sweet_spot_percent": 45.5,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 45.5,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 23.9,
"whiff_percent": 46.3,
"swing_percent": 58.6
},
"components": {
"expected_quality": 1.0373,
"regression_edge": -2.0,
"xwoba_edge": 1.0,
"xba_edge": 1.3714,
"xslg_edge": 1.9857,
"barrel_edge": 0.4667,
"hard_hit_edge": 1.0286,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 2.0333,
"launch_angle_hr_bonus": 0.45
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0234,
"raw_average_factor": 1.0234,
"team_espn_average_rank": 242.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "701762",
"player_name": "Nick Kurtz",
"offense_factor": 1.1231,
"quality_score": 1.6414,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701762",
"espn_id": 4966637,
"player_name": "Nick Kurtz",
"team": "ATH",
"role": "batter",
"espn_rank": 7,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 7,
"gp_value": 79.0,
"gp_rank": 20,
"ab_value": 287.0,
"ab_rank": 50,
"r_value": 56.0,
"r_rank": 4,
"h_value": 81.0,
"h_rank": 28,
"avg_value": 0.2822299,
"avg_rank": 32.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 19.0,
"hr_rank": 10,
"rbi_value": 61.0,
"rbi_rank": 1,
"tb_value": 155.0,
"tb_rank": 268,
"bb_value": 72.0,
"bb_rank": 1,
"so_value": 108.0,
"so_rank": 4,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.4293628,
"obp_rank": "2",
"slg_value": 0.5400696,
"slg_rank": "8",
"ops_value": 0.9694324,
"ops_rank": 10.0,
"war_value": 3.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 29.9,
"bb_percent": 19.9,
"woba": 0.415,
"xwoba": 0.394,
"xba": 0.257,
"xslg": 0.514,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 18.4,
"hard_hit_percent": 58.7,
"exit_velocity_avg": 94.4,
"launch_angle_avg": 12.4,
"whiff_percent": 36.2,
"swing_percent": 41.9
},
"components": {
"expected_quality": 2.0063,
"regression_edge": -0.6,
"xwoba_edge": 2.5,
"xba_edge": 0.4857,
"xslg_edge": 2.0,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.24,
"sweet_spot_edge": 0.9667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "669127",
"player_name": "Shea Langeliers",
"offense_factor": 1.1039,
"quality_score": 1.3854,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669127",
"espn_id": 42598,
"player_name": "Shea Langeliers",
"team": "ATH",
"role": "batter",
"espn_rank": 19,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 19,
"gp_value": 72.0,
"gp_rank": 124,
"ab_value": 298.0,
"ab_rank": 28,
"r_value": 49.0,
"r_rank": 22,
"h_value": 79.0,
"h_rank": 36,
"avg_value": 0.2651006,
"avg_rank": 59.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 19.0,
"hr_rank": 10,
"rbi_value": 40.0,
"rbi_rank": 57,
"tb_value": 152.0,
"tb_rank": 505,
"bb_value": 26.0,
"bb_rank": 99,
"so_value": 62.0,
"so_rank": 95,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3313069,
"obp_rank": "85",
"slg_value": 0.5100671,
"slg_rank": "22",
"ops_value": 0.841374,
"ops_rank": 63.0,
"war_value": 2.96,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 226.0,
"k_percent": 18.8,
"bb_percent": 7.9,
"woba": 0.361,
"xwoba": 0.371,
"xba": 0.276,
"xslg": 0.531,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 14.8,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 20.8,
"whiff_percent": 26.4,
"swing_percent": 51.1
},
"components": {
"expected_quality": 1.5644,
"regression_edge": 0.2857,
"xwoba_edge": 1.9143,
"xba_edge": 1.0286,
"xslg_edge": 2.2429,
"barrel_edge": 1.7333,
"hard_hit_edge": 0.6714,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.6333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"offense_factor": 1.0385,
"quality_score": 0.5135,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691016",
"espn_id": 4686066,
"player_name": "Tyler Soderstrom",
"team": "ATH",
"role": "batter",
"espn_rank": 47,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 47,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 281.0,
"ab_rank": 72,
"r_value": 40.0,
"r_rank": 64,
"h_value": 68.0,
"h_rank": 84,
"avg_value": 0.2419928,
"avg_rank": 101.0,
"2b_value": 20.0,
"2b_rank": 5,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 13.0,
"hr_rank": 44,
"rbi_value": 41.0,
"rbi_rank": 52,
"tb_value": 131.0,
"tb_rank": 261,
"bb_value": 41.0,
"bb_rank": 25,
"so_value": 58.0,
"so_rank": 108,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3415384,
"obp_rank": "62",
"slg_value": 0.4661921,
"slg_rank": "48",
"ops_value": 0.8077305,
"ops_rank": 14.0,
"war_value": 2.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 17.8,
"bb_percent": 12.6,
"woba": 0.349,
"xwoba": 0.335,
"xba": 0.248,
"xslg": 0.421,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 12.2,
"whiff_percent": 21.7,
"swing_percent": 46.7
},
"components": {
"expected_quality": 0.6733,
"regression_edge": -0.4,
"xwoba_edge": 0.8857,
"xba_edge": 0.2286,
"xslg_edge": 0.6714,
"barrel_edge": 0.7333,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "703607",
"player_name": "Henry Bolte",
"offense_factor": 0.9988,
"quality_score": -0.0166,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "703607",
"espn_id": 5080756,
"player_name": "Henry Bolte",
"team": "ATH",
"role": "batter",
"espn_rank": 107,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 107,
"gp_value": 38.0,
"gp_rank": 329,
"ab_value": 117.0,
"ab_rank": 305,
"r_value": 11.0,
"r_rank": 343,
"h_value": 36.0,
"h_rank": 247,
"avg_value": 0.3076923,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 10.0,
"rbi_rank": 336,
"tb_value": 48.0,
"tb_rank": 1861,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 39.0,
"so_rank": 232,
"sb_value": 9.0,
"sb_rank": 50,
"obp_value": 0.3985507,
"obp_rank": "-",
"slg_value": 0.4102564,
"slg_rank": "-",
"ops_value": 0.8088071,
"ops_rank": null,
"war_value": 1.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 41.0,
"k_percent": 28.3,
"bb_percent": 9.4,
"woba": 0.363,
"xwoba": 0.316,
"xba": 0.234,
"xslg": 0.354,
"sweet_spot_percent": 23.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 51.9,
"exit_velocity_avg": 92.6,
"launch_angle_avg": 0.3,
"whiff_percent": 35.0,
"swing_percent": 49.4
},
"components": {
"expected_quality": 0.1758,
"regression_edge": -1.3429,
"xwoba_edge": 0.3429,
"xba_edge": -0.1714,
"xslg_edge": -0.2857,
"barrel_edge": -0.1556,
"hard_hit_edge": 1.9429,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": -1.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "641680",
"player_name": "Jonah Heim",
"offense_factor": 0.9858,
"quality_score": -0.1892,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "641680",
"espn_id": 33842,
"player_name": "Jonah Heim",
"team": "ATH",
"role": "batter",
"espn_rank": 193,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 193,
"gp_value": 36.0,
"gp_rank": 341,
"ab_value": 107.0,
"ab_rank": 324,
"r_value": 14.0,
"r_rank": 302,
"h_value": 26.0,
"h_rank": 307,
"avg_value": 0.2429906,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 202,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 17.0,
"rbi_rank": 256,
"tb_value": 52.0,
"tb_rank": 1424,
"bb_value": 10.0,
"bb_rank": 292,
"so_value": 20.0,
"so_rank": 373,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.302521,
"obp_rank": "-",
"slg_value": 0.4859813,
"slg_rank": "-",
"ops_value": 0.7885023,
"ops_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 74.0,
"k_percent": 16.8,
"bb_percent": 8.4,
"woba": 0.337,
"xwoba": 0.293,
"xba": 0.233,
"xslg": 0.375,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 28.1,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 16.3,
"whiff_percent": 22.0,
"swing_percent": 48.0
},
"components": {
"expected_quality": -0.2841,
"regression_edge": -1.2571,
"xwoba_edge": -0.3143,
"xba_edge": -0.2,
"xslg_edge": 0.0143,
"barrel_edge": -0.0667,
"hard_hit_edge": -1.4571,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691777",
"player_name": "Max Muncy",
"offense_factor": 1.0108,
"quality_score": 0.1442,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691777",
"espn_id": 4872686,
"player_name": "Max Muncy",
"team": "ATH",
"role": "batter",
"espn_rank": 562,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 562,
"gp_value": 38.0,
"gp_rank": 329,
"ab_value": 126.0,
"ab_rank": 285,
"r_value": 20.0,
"r_rank": 228,
"h_value": 29.0,
"h_rank": 285,
"avg_value": 0.2301587,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 18.0,
"rbi_rank": 249,
"tb_value": 54.0,
"tb_rank": 1168,
"bb_value": 9.0,
"bb_rank": 312,
"so_value": 46.0,
"so_rank": 175,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.2957746,
"obp_rank": "-",
"slg_value": 0.4285714,
"slg_rank": "-",
"ops_value": 0.724346,
"ops_rank": null,
"war_value": -0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 104.0,
"k_percent": 32.4,
"bb_percent": 6.3,
"woba": 0.314,
"xwoba": 0.304,
"xba": 0.224,
"xslg": 0.404,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 51.8,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 13.3,
"whiff_percent": 32.1,
"swing_percent": 50.9
},
"components": {
"expected_quality": 0.4012,
"regression_edge": -0.2857,
"xwoba_edge": 0.0,
"xba_edge": -0.4571,
"xslg_edge": 0.4286,
"barrel_edge": 1.4,
"hard_hit_edge": 1.9286,
"exit_velocity_edge": 1.24,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "671732",
"player_name": "Lawrence Butler",
"offense_factor": 1.0123,
"quality_score": 0.1646,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "671732",
"espn_id": 4917919,
"player_name": "Lawrence Butler",
"team": "ATH",
"role": "batter",
"espn_rank": 579,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 579,
"gp_value": 72.0,
"gp_rank": 124,
"ab_value": 193.0,
"ab_rank": 187,
"r_value": 26.0,
"r_rank": 172,
"h_value": 37.0,
"h_rank": 237,
"avg_value": 0.1917098,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 20.0,
"rbi_rank": 233,
"tb_value": 58.0,
"tb_rank": 1488,
"bb_value": 22.0,
"bb_rank": 145,
"so_value": 58.0,
"so_rank": 108,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.2744186,
"obp_rank": "-",
"slg_value": 0.3005181,
"slg_rank": "-",
"ops_value": 0.5749367,
"ops_rank": null,
"war_value": -1.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 154.0,
"k_percent": 27.0,
"bb_percent": 10.2,
"woba": 0.26,
"xwoba": 0.306,
"xba": 0.243,
"xslg": 0.368,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 3.7,
"whiff_percent": 30.5,
"swing_percent": 46.6
},
"components": {
"expected_quality": 0.0595,
"regression_edge": 1.3143,
"xwoba_edge": 0.0571,
"xba_edge": 0.0857,
"xslg_edge": -0.0857,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.9286,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "643446",
"player_name": "Jeff McNeil",
"offense_factor": 0.9909,
"quality_score": -0.1209,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643446",
"espn_id": 33900,
"player_name": "Jeff McNeil",
"team": "ATH",
"role": "batter",
"espn_rank": 462,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 462,
"gp_value": 73.0,
"gp_rank": 112,
"ab_value": 228.0,
"ab_rank": 138,
"r_value": 19.0,
"r_rank": 236,
"h_value": 52.0,
"h_rank": 156,
"avg_value": 0.2280701,
"avg_rank": 133.0,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 19.0,
"rbi_rank": 240,
"tb_value": 71.0,
"tb_rank": 1495,
"bb_value": 21.0,
"bb_rank": 154,
"so_value": 35.0,
"so_rank": 251,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2992125,
"obp_rank": "139",
"slg_value": 0.3114035,
"slg_rank": "158",
"ops_value": 0.610616,
"ops_rank": 19.0,
"war_value": -0.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 185.0,
"k_percent": 13.7,
"bb_percent": 8.2,
"woba": 0.276,
"xwoba": 0.301,
"xba": 0.264,
"xslg": 0.34,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 1.0,
"hard_hit_percent": 30.6,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 13.4,
"whiff_percent": 17.4,
"swing_percent": 54.8
},
"components": {
"expected_quality": -0.2835,
"regression_edge": 0.7143,
"xwoba_edge": -0.0857,
"xba_edge": 0.6857,
"xslg_edge": -0.4857,
"barrel_edge": -1.3333,
"hard_hit_edge": -1.1,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "675961",
"player_name": "Alika Williams",
"offense_factor": 0.9468,
"quality_score": -0.7087,
"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": 207,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 207,
"gp_value": 23.0,
"gp_rank": 411,
"ab_value": 45.0,
"ab_rank": 438,
"r_value": 6.0,
"r_rank": 414,
"h_value": 13.0,
"h_rank": 397,
"avg_value": 0.2888888,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 5.0,
"rbi_rank": 416,
"tb_value": 21.0,
"tb_rank": 2205,
"bb_value": 2.0,
"bb_rank": 454,
"so_value": 13.0,
"so_rank": 433,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3191489,
"obp_rank": "-",
"slg_value": 0.4666666,
"slg_rank": "-",
"ops_value": 0.7858155,
"ops_rank": null,
"war_value": 0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 6.0,
"k_percent": 27.1,
"bb_percent": 4.2,
"woba": 0.341,
"xwoba": 0.218,
"xba": 0.198,
"xslg": 0.257,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 17.0,
"whiff_percent": 26.0,
"swing_percent": 50.8
},
"components": {
"expected_quality": -1.5056,
"regression_edge": -2.0,
"xwoba_edge": -2.4571,
"xba_edge": -1.2,
"xslg_edge": -1.6714,
"barrel_edge": -1.5556,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -0.5,
"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 | 398 | -0.2362 | 1 | 1.0201 | 0.9706 | 0.9680 | 1.0532 | neutral | 0.3300 | 0.3580 | 20.10 | 7.50 | 23.30 | 10.20 | 35.80 | |
| Home SF | True | 181 | 0.4698 | 0.9840 | 0.9601 | 1.0267 | 1.0138 | 0.8693 | neutral | 0.2850 | 0.3050 | 26.30 | 9.80 | 27 | 3.80 | 29.90 |
| 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 | 89 | 85.63 | 2037 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2308 | |
| Home SF | True | None | 92 | 86.63 | 2371 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1747 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9607 |
| home_runs_vs_away_pitcher | 1.0201 |
| home_pitcher_quality_edge | 0.7060 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "694738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 246.0,
"k_percent": 26.3,
"bb_percent": 9.8,
"woba": 0.305,
"xwoba": 0.285,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 29.9,
"avg_best_speed": 76.5084,
"avg_hyper_speed": 92.8709,
"whiff_percent": 27.0,
"swing_percent": 42.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.6576,
"command_and_miss": 0.2539,
"regression_edge": 0.5714,
"xwoba_edge": 0.8429,
"barrel_edge": 0.7444,
"hard_hit_edge": 1.2,
"whiff_edge": 0.1643,
"bb_edge": -0.175,
"pitch_design_score": -0.1747
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694738",
"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.63108355489675,
"release_spin_rate": 2370.7388503015227,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.63108355489675,
"release_spin_rate": 2370.7388503015227,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6311,
"release_spin_rate": 2370.7389,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1747,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2481,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4698,
"sample_weight": 0.984,
"run_prevention_factor": 0.9601,
"strikeout_factor": 1.0267,
"walk_factor": 1.0138,
"homer_factor": 0.8693,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694738",
"espn_id": 4345404,
"player_name": "Landen Roupp",
"team": "SF",
"role": "pitcher",
"espn_rank": 181,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 181,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 15.0,
"gs_rank": 41,
"qs_value": 6.0,
"qs_rank": 42,
"era_value": 4.1452,
"era_rank": 48.0,
"w_value": 5.0,
"w_rank": 51,
"l_value": 7.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 80.1,
"ip_rank": 61,
"h_value": 71.0,
"h_rank": 74,
"er_value": 37.0,
"er_rank": 56,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 33.0,
"bb_rank": 22,
"k_value": 89.0,
"k_rank": 24,
"k_per_9_value": 9.970954,
"k_per_9_rank": 10,
"whip_value": 1.2946,
"whip_rank": 46.0,
"war_value": 0.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "605488",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 271.0,
"k_percent": 20.1,
"bb_percent": 7.5,
"woba": 0.358,
"xwoba": 0.33,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 35.8,
"avg_best_speed": 76.6833,
"avg_hyper_speed": 93.5507,
"whiff_percent": 23.3,
"swing_percent": 46.8
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.432,
"command_and_miss": -0.2146,
"regression_edge": 0.8,
"xwoba_edge": -0.4429,
"barrel_edge": -0.6778,
"hard_hit_edge": 0.3571,
"whiff_edge": -0.3643,
"bb_edge": 0.4,
"pitch_design_score": -0.2308
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605488",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 85.63061442528043,
"release_spin_rate": 2037.065200521358,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 85.63061442528043,
"release_spin_rate": 2037.065200521358,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.6306,
"release_spin_rate": 2037.0652,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2308,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6483,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2362,
"sample_weight": 1.0,
"run_prevention_factor": 1.0201,
"strikeout_factor": 0.9706,
"walk_factor": 0.968,
"homer_factor": 1.0532,
"woba_minus_xwoba": 0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605488",
"espn_id": 35397,
"player_name": "Jeffrey Springs",
"team": "ATH",
"role": "pitcher",
"espn_rank": 398,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 398,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 4.0,
"qs_rank": 80,
"era_value": 5.5524,
"era_rank": 61.0,
"w_value": 3.0,
"w_rank": 120,
"l_value": 7.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 82.2,
"ip_rank": 53,
"h_value": 85.0,
"h_rank": 20,
"er_value": 51.0,
"er_rank": 5,
"hr_value": 21.0,
"hr_rank": 1,
"bb_value": 27.0,
"bb_rank": 61,
"k_value": 72.0,
"k_rank": 62,
"k_per_9_value": 7.8387094,
"k_per_9_rank": 31,
"whip_value": 1.3548,
"whip_rank": 54.0,
"war_value": 0.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9607,
"home_runs_vs_away_pitcher": 1.0201,
"home_pitcher_quality_edge": 0.706
},
"score_before": {
"away_runs": 2.9084,
"home_runs": 3.399
},
"score_after": {
"away_runs": 2.7942,
"home_runs": 3.4673,
"home_win_probability": 0.5699
},
"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 | 17-51 | 0.250 | 1.40 | 4.20 | -193 | cold | average | |
| Home SF | 14-55 | 0.203 | 0.70 | 3.50 | -192 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away OAK | 38-41 | 0.481 | -56 | -0.709 | True |
| Home SF | 33-46 | 0.418 | -47 | -0.595 | True |
| Signal | - | - | 0.114 | 0.019 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target OAK | - | - | 3 | - | - | - | - |
| Game target SF | - | - | 4 | - | - | - | - |
| Player finalized OAK | 32 | 9 | 3 | 0 | 3 | 2 | 8 |
| Player finalized SF | 33 | 9 | 1 | 0 | 3 | 1 | 8 |
| Player model fractional OAK | 30.88 | 7.10 | 4.12 | 1.26 | 4.06 | 3.41 | 8.02 |
| Player model fractional SF | 32.17 | 7.14 | 3.75 | 1.05 | 3.46 | 2.11 | 8.38 |
| Simulation box OAK | 33 | 6 | 3 | 1 | 3 | 2 | 7 |
| Simulation box SF | 32 | 8 | 4 | 1 | 4 | 4 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away OAK | Starter | Jeffrey Springs | 4.10 | 4 | 2 | 6 | 3 | 7.08 | 1.60 | True |
| Away OAK | Middle Reliever | Hogan Harris | 1 | 0 | 0 | 0 | 1 | 6.24 | 1.58 | True |
| Away OAK | Middle Reliever | Justin Sterner | 1 | 0 | 3 | 0 | 0 | 5.55 | 1.35 | True |
| Away OAK | Middle Reliever | Mason Barnett | 1 | 0 | 2 | 1 | 0 | 3.66 | 1.23 | True |
| Away OAK | Middle Reliever | Elvis Alvarado | 0.20 | 0 | 0 | 1 | 0 | 5.44 | 1.19 | True |
| Home SF | Starter | Landen Roupp | 5.10 | 1 | 4 | 3 | 2 | 5.13 | 1.45 | True |
| Home SF | Middle Reliever | Caleb Kilian | 1 | 0 | 0 | 0 | 0 | 3.27 | 1.18 | True |
| Home SF | Middle Reliever | Dylan Smith | 1 | 0 | 1 | 0 | 0 | 3.83 | 1.37 | True |
| Home SF | Middle Reliever | Ryan Walker | 1 | 2 | 1 | 2 | 0 | 4.03 | 1.24 | True |
| Home SF | Middle Reliever | Erik Miller | 0.20 | 0 | 1 | 1 | 0 | 3.92 | 1.48 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | OAK | batter | SS | Alika Williams | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.8700 | boost | better |
| home | SF | batter | 1B | Bryce Eldridge | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -1.8000 | deboost | worse |
| home | SF | batter | CF | Jonah Cox | better | 10 | 5 | 5 | 6 | 4 | predicted_AB | 1.5000 | boost | better |
| home | SF | batter | 2B | Casey Schmitt | worse | 10 | 5 | 5 | 4 | 6 | predicted_RBI | 1.4100 | boost | better |
| away | OAK | batter | 3B | Max Muncy | worse | 12 | 4 | 8 | 5 | 7 | predicted_H | 1.2200 | boost | better |
| away | OAK | batter | 1B | Nick Kurtz | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | -1.0800 | deboost | worse |
| away | OAK | batter | RF | Lawrence Butler | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.0760 | boost | better |
| away | OAK | batter | DH | Shea Langeliers | worse | 11 | 0 | 11 | 1 | 10 | predicted_H | -1.0100 | deboost | worse |
| home | SF | batter | LF | Victor Bericoto | worse | 11 | 5 | 6 | 4 | 7 | predicted_2B | 1.0000 | boost | better |
| home | SF | batter | 3B | Matt Chapman | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -0.9360 | deboost | better |
| away | OAK | batter | CF | Henry Bolte | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.9300 | deboost | worse |
| home | SF | batter | RF | Jung Hoo Lee | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 0.9200 | boost | better |
| home | SF | batter | SS | Willy Adames | worse | 9 | 0 | 9 | 1 | 8 | predicted_H | -0.9000 | deboost | worse |
| away | OAK | batter | C | Jonah Heim | better | 9 | 6 | 3 | 7 | 2 | predicted_AB | 0.8400 | boost | better |
| home | SF | batter | C | Daniel Susac | worse | 10 | 2 | 8 | 1 | 9 | predicted_BB | 0.8120 | boost | better |
| home | SF | batter | DH | Rafael Devers | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 0.7590 | boost | worse |
| away | OAK | batter | LF | Tyler Soderstrom | worse | 10 | 5 | 5 | 4 | 6 | predicted_2B | 0.7400 | boost | better |
| away | OAK | batter | 2B | Jeff McNeil | worse | 10 | 3 | 7 | 2 | 8 | predicted_BB | 0.7080 | boost | better |
| away | OAK | pitcher | Starter | Jeffrey Springs | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.5667 | deboost | worse |
| home | SF | pitcher | Middle Reliever | Erik Miller | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | SF | pitcher | Starter | Landen Roupp | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | OAK | pitcher | Middle Reliever | Elvis Alvarado | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Jeffrey Springs |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2362 |
| ESPN Rank | 398 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2308 |
| Avg Velo | 85.6306 |
| Avg Spin | 2037.0652 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 2 |
| Season ERA | 5.5524 |
| Season WHIP | 1.3548 |
| Role Avg IP | 5.1670 |
| Recent Avg IP | 4.2670 |
| Last Start IP | 3.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"opponent": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"edges": {
"quality_edge": -0.1128,
"offense_edge": 0.0305,
"opponent_offense_edge": -0.0587,
"defense_strength": -0.148,
"opponent_defense_weakness": 0.0125,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9934,
"run_prevention": 1.011,
"strikeout": 1.0013
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "605488",
"profile": {
"available": true,
"pitcher_id": "605488",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 271.0,
"k_percent": 20.1,
"bb_percent": 7.5,
"woba": 0.358,
"xwoba": 0.33,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 35.8,
"avg_best_speed": 76.6833,
"avg_hyper_speed": 93.5507,
"whiff_percent": 23.3,
"swing_percent": 46.8
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.432,
"command_and_miss": -0.2146,
"regression_edge": 0.8,
"xwoba_edge": -0.4429,
"barrel_edge": -0.6778,
"hard_hit_edge": 0.3571,
"whiff_edge": -0.3643,
"bb_edge": 0.4,
"pitch_design_score": -0.2308
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605488",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 85.63061442528043,
"release_spin_rate": 2037.065200521358,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 85.63061442528043,
"release_spin_rate": 2037.065200521358,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.6306,
"release_spin_rate": 2037.0652,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2308,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6483,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2362,
"sample_weight": 1.0,
"run_prevention_factor": 1.0201,
"strikeout_factor": 0.9706,
"walk_factor": 0.968,
"homer_factor": 1.0532,
"woba_minus_xwoba": 0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605488",
"espn_id": 35397,
"player_name": "Jeffrey Springs",
"team": "ATH",
"role": "pitcher",
"espn_rank": 398,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 398,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 4.0,
"qs_rank": 80,
"era_value": 5.5524,
"era_rank": 61.0,
"w_value": 3.0,
"w_rank": 120,
"l_value": 7.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 82.2,
"ip_rank": 53,
"h_value": 85.0,
"h_rank": 20,
"er_value": 51.0,
"er_rank": 5,
"hr_value": 21.0,
"hr_rank": 1,
"bb_value": 27.0,
"bb_rank": 61,
"k_value": 72.0,
"k_rank": 62,
"k_per_9_value": 7.8387094,
"k_per_9_rank": 31,
"whip_value": 1.3548,
"whip_rank": 54.0,
"war_value": 0.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0201,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 1.0201,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.968,
"adjusted": 2
},
"predicted_HR": {
"original": 2.0,
"factor": 1.0532,
"adjusted": 2
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9706,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 47.0,
"ER": 36,
"H": 60,
"BB": 16,
"SO": 41,
"HR": 16,
"ERA": 6.8936170212765955,
"WHIP": 1.6170212765957446,
"K9": 7.851063829787234,
"HR9": 3.0638297872340425,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "605488",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 85.63061442528043,
"release_spin_rate": 2037.065200521358,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 85.63061442528043,
"release_spin_rate": 2037.065200521358,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.6306,
"release_spin_rate": 2037.0652,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2308,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.6483,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "605488",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.1,
"ER": 23.0,
"R": 28.0,
"H": 32.0,
"BB": 8.0,
"SO": 22.0,
"HR": 10.0,
"BF": 104.0,
"Pitches": 432.0
},
"per_game": {
"IP": 4.1,
"ER": 4.6,
"R": 5.6,
"H": 6.4,
"BB": 1.6,
"SO": 4.4,
"HR": 2.0,
"BF": 20.8,
"Pitches": 86.4
},
"rates": {
"ERA": 9.7031,
"WHIP": 1.875,
"ER_per_IP": 1.07812,
"H_per_IP": 1.5,
"BB_per_IP": 0.375,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.46875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 47.0,
"ER": 36.0,
"R": 42.0,
"H": 60.0,
"BB": 16.0,
"SO": 41.0,
"HR": 16.0,
"BF": 216.0,
"Pitches": 859.0
},
"per_game": {
"IP": 4.2,
"ER": 3.6,
"R": 4.2,
"H": 6.0,
"BB": 1.6,
"SO": 4.1,
"HR": 1.6,
"BF": 21.6,
"Pitches": 85.9
},
"rates": {
"ERA": 6.8936,
"WHIP": 1.617,
"ER_per_IP": 0.76596,
"H_per_IP": 1.2766,
"BB_per_IP": 0.34043,
"SO_per_IP": 0.87234,
"HR_per_IP": 0.34043
}
},
"season": {
"games": 16,
"totals": {
"IP": 82.2,
"ER": 51.0,
"R": 57.0,
"H": 85.0,
"BB": 27.0,
"SO": 72.0,
"HR": 21.0,
"BF": 358.0,
"Pitches": 1404.0
},
"per_game": {
"IP": 5.1,
"ER": 3.1875,
"R": 3.5625,
"H": 5.3125,
"BB": 1.6875,
"SO": 4.5,
"HR": 1.3125,
"BF": 22.375,
"Pitches": 87.75
},
"rates": {
"ERA": 5.5524,
"WHIP": 1.3548,
"ER_per_IP": 0.61694,
"H_per_IP": 1.02823,
"BB_per_IP": 0.32661,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.25403
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 3.662,
"predicted_H": 5.781,
"predicted_BB": 1.652,
"predicted_SO": 4.395,
"predicted_HR": 1.513,
"predicted_ERA": 7.0818,
"predicted_WHIP": 1.5971
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.662,
"final": 3.8143,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.781,
"final": 5.8797,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.652,
"final": 2.2594,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.395,
"final": 3.3158,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.513,
"final": 1.2818,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.0818,
"final": 7.0818,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5971,
"final": 1.5971,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Hogan Harris |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2230 |
| ESPN Rank | 100 |
| 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 | 3.6486 |
| Season WHIP | 1.5946 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"opponent": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"edges": {
"quality_edge": -0.1128,
"offense_edge": 0.0305,
"opponent_offense_edge": -0.0587,
"defense_strength": -0.148,
"opponent_defense_weakness": 0.0125,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9934,
"run_prevention": 1.011,
"strikeout": 1.0013
},
"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": 114.0,
"k_percent": 26.3,
"bb_percent": 14.0,
"woba": 0.327,
"xwoba": 0.284,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 28.3,
"avg_best_speed": 75.1094,
"avg_hyper_speed": 92.4241,
"whiff_percent": 25.0,
"swing_percent": 43.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.6798,
"command_and_miss": -0.0561,
"regression_edge": 1.2286,
"xwoba_edge": 0.8714,
"barrel_edge": 0.7,
"hard_hit_edge": 1.4286,
"whiff_edge": -0.1214,
"bb_edge": -1.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663687",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.223,
"sample_weight": 0.456,
"run_prevention_factor": 0.981,
"strikeout_factor": 1.0072,
"walk_factor": 1.0447,
"homer_factor": 0.9365,
"woba_minus_xwoba": 0.043,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663687",
"espn_id": 41364,
"player_name": "Hogan Harris",
"team": "ATH",
"role": "pitcher",
"espn_rank": 100,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 100,
"gp_value": 40.0,
"gp_rank": 3,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.6486,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 6.0,
"sv_rank": 23,
"hld_value": 10.0,
"hld_rank": 25,
"ip_value": 37.0,
"ip_rank": 195,
"h_value": 35.0,
"h_rank": 186,
"er_value": 15.0,
"er_rank": 230,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 24.0,
"bb_rank": 85,
"k_value": 45.0,
"k_rank": 154,
"k_per_9_value": 10.945946,
"k_per_9_rank": 21,
"whip_value": 1.5945,
"whip_rank": null,
"war_value": 0.98,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9913,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0204,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.971,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0033,
"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": 13,
"BB": 2,
"SO": 14,
"HR": 2,
"ERA": 6.75,
"WHIP": 1.607142857142857,
"K9": 13.5,
"HR9": 1.9285714285714284,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "663687",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.326,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5943,
"prior_weight": 0.4057
},
"role": "pitcher",
"player_id": "663687",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 1.0,
"SO": 8.0,
"HR": 2.0,
"BF": 24.0,
"Pitches": 105.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.6,
"BB": 0.2,
"SO": 1.6,
"HR": 0.4,
"BF": 4.8,
"Pitches": 21.0
},
"rates": {
"ERA": 9.6429,
"WHIP": 1.9286,
"ER_per_IP": 1.07143,
"H_per_IP": 1.71429,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.71429,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 7.0,
"H": 13.0,
"BB": 2.0,
"SO": 14.0,
"HR": 2.0,
"BF": 42.0,
"Pitches": 192.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.3,
"BB": 0.2,
"SO": 1.4,
"HR": 0.2,
"BF": 4.2,
"Pitches": 19.2
},
"rates": {
"ERA": 6.75,
"WHIP": 1.6071,
"ER_per_IP": 0.75,
"H_per_IP": 1.39286,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.5,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 40,
"totals": {
"IP": 37.0,
"ER": 15.0,
"R": 16.0,
"H": 35.0,
"BB": 24.0,
"SO": 45.0,
"HR": 4.0,
"BF": 171.0,
"Pitches": 724.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.4,
"H": 0.875,
"BB": 0.6,
"SO": 1.125,
"HR": 0.1,
"BF": 4.275,
"Pitches": 18.1
},
"rates": {
"ERA": 3.6486,
"WHIP": 1.5946,
"ER_per_IP": 0.40541,
"H_per_IP": 0.94595,
"BB_per_IP": 0.64865,
"SO_per_IP": 1.21622,
"HR_per_IP": 0.10811
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.693,
"predicted_H": 1.254,
"predicted_BB": 0.325,
"predicted_SO": 1.299,
"predicted_HR": 0.231,
"predicted_ERA": 6.2409,
"predicted_WHIP": 1.579
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5214,
"form_weight": 0.4786,
"form_reliability": 0.5943,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.326,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5943,
"prior_weight": 0.4057
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.693,
"final": 0.3317,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.254,
"final": 0.6002,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.325,
"final": 0.677,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.299,
"final": 0.6217,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.231,
"final": 0.1106,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.2409,
"final": 6.2409,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.579,
"final": 1.579,
"source": "form_only"
}
}
}{
"available": false,
"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 Sterner |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2942 |
| ESPN Rank | 170 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 3.9633 |
| Season WHIP | 1.1284 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"opponent": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"edges": {
"quality_edge": -0.1128,
"offense_edge": 0.0305,
"opponent_offense_edge": -0.0587,
"defense_strength": -0.148,
"opponent_defense_weakness": 0.0125,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9934,
"run_prevention": 1.011,
"strikeout": 1.0013
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686993",
"profile": {
"available": true,
"pitcher_id": "686993",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 106.0,
"k_percent": 23.6,
"bb_percent": 6.1,
"woba": 0.3,
"xwoba": 0.251,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 44.2,
"avg_best_speed": 79.524,
"avg_hyper_speed": 94.5445,
"whiff_percent": 30.4,
"swing_percent": 53.1
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.7153,
"command_and_miss": 0.4354,
"regression_edge": 1.4,
"xwoba_edge": 1.8143,
"barrel_edge": 0.0778,
"hard_hit_edge": -0.8429,
"whiff_edge": 0.65,
"bb_edge": 0.75,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "686993",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2942,
"sample_weight": 0.45,
"run_prevention_factor": 0.975,
"strikeout_factor": 1.014,
"walk_factor": 0.973,
"homer_factor": 0.9879,
"woba_minus_xwoba": 0.049,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "686993",
"espn_id": 4307467,
"player_name": "Justin Sterner",
"team": "ATH",
"role": "pitcher",
"espn_rank": 170,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 170,
"gp_value": 37.0,
"gp_rank": 12,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.9633,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 12.0,
"hld_rank": 14,
"ip_value": 36.1,
"ip_rank": 202,
"h_value": 32.0,
"h_rank": 213,
"er_value": 16.0,
"er_rank": 216,
"hr_value": 7.0,
"hr_rank": 120,
"bb_value": 9.0,
"bb_rank": 355,
"k_value": 35.0,
"k_rank": 217,
"k_per_9_value": 8.669725,
"k_per_9_rank": 29,
"whip_value": 1.1284,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9888,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9888,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9946,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0063,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 5,
"H": 8,
"BB": 2,
"SO": 9,
"HR": 3,
"ERA": 4.821428571428572,
"WHIP": 1.0714285714285716,
"K9": 8.678571428571429,
"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-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "686993",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.194,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.59,
"prior_weight": 0.41
},
"role": "pitcher",
"player_id": "686993",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 3.0,
"BF": 24.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.6,
"BF": 4.8,
"Pitches": 19.0
},
"rates": {
"ERA": 8.4375,
"WHIP": 1.6875,
"ER_per_IP": 0.9375,
"H_per_IP": 1.3125,
"BB_per_IP": 0.375,
"SO_per_IP": 1.125,
"HR_per_IP": 0.5625
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 2.0,
"SO": 9.0,
"HR": 3.0,
"BF": 37.0,
"Pitches": 157.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.8,
"BB": 0.2,
"SO": 0.9,
"HR": 0.3,
"BF": 3.7,
"Pitches": 15.7
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.0714,
"ER_per_IP": 0.53571,
"H_per_IP": 0.85714,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.32143
}
},
"season": {
"games": 37,
"totals": {
"IP": 36.1,
"ER": 16.0,
"R": 18.0,
"H": 32.0,
"BB": 9.0,
"SO": 35.0,
"HR": 7.0,
"BF": 148.0,
"Pitches": 589.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4324,
"R": 0.4865,
"H": 0.8649,
"BB": 0.2432,
"SO": 0.9459,
"HR": 0.1892,
"BF": 4.0,
"Pitches": 15.9189
},
"rates": {
"ERA": 3.9633,
"WHIP": 1.1284,
"ER_per_IP": 0.44037,
"H_per_IP": 0.88073,
"BB_per_IP": 0.24771,
"SO_per_IP": 0.9633,
"HR_per_IP": 0.19266
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.616,
"predicted_H": 1.027,
"predicted_BB": 0.321,
"predicted_SO": 1.0,
"predicted_HR": 0.298,
"predicted_ERA": 5.5471,
"predicted_WHIP": 1.3476
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5232,
"form_weight": 0.4768,
"form_reliability": 0.59,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.194,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.59,
"prior_weight": 0.41
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.616,
"final": 0.2937,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.027,
"final": 0.4896,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.321,
"final": 0.153,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.0,
"final": 2.0464,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.298,
"final": 0.1421,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.5471,
"final": 5.5471,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3476,
"final": 1.3476,
"source": "form_only"
}
}
}{
"available": false,
"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 Barnett |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2457 |
| ESPN Rank | 422 |
| 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 | 2 |
| Season ERA | 1.3171 |
| Season WHIP | 1.0244 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"opponent": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"edges": {
"quality_edge": -0.1128,
"offense_edge": 0.0305,
"opponent_offense_edge": -0.0587,
"defense_strength": -0.148,
"opponent_defense_weakness": 0.0125,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9934,
"run_prevention": 1.011,
"strikeout": 1.0013
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686930",
"profile": {
"available": true,
"pitcher_id": "686930",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 9.0,
"k_percent": 33.3,
"bb_percent": 13.0,
"woba": 0.233,
"xwoba": 0.27,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 27.6,
"avg_best_speed": 79.2268,
"avg_hyper_speed": 92.75,
"whiff_percent": 23.2,
"swing_percent": 47.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9996,
"command_and_miss": 0.3539,
"regression_edge": -1.0571,
"xwoba_edge": 1.2714,
"barrel_edge": 0.0556,
"hard_hit_edge": 1.5286,
"whiff_edge": -0.3786,
"bb_edge": -0.975,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "686930",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2457,
"sample_weight": 0.45,
"run_prevention_factor": 0.9791,
"strikeout_factor": 1.0204,
"walk_factor": 1.0351,
"homer_factor": 0.9533,
"woba_minus_xwoba": -0.037,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "686930",
"espn_id": 4620704,
"player_name": "Mason Barnett",
"team": "ATH",
"role": "pitcher",
"espn_rank": 422,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 422,
"gp_value": 7.0,
"gp_rank": 454,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.317,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 13.2,
"ip_rank": 457,
"h_value": 7.0,
"h_rank": 535,
"er_value": 2.0,
"er_rank": 596,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 7.0,
"bb_rank": 417,
"k_value": 18.0,
"k_rank": 396,
"k_per_9_value": 11.853658,
"k_per_9_rank": 23,
"whip_value": 1.0243,
"whip_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9906,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9906,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0158,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.979,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0092,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.2,
"ER": 2,
"H": 7,
"BB": 7,
"SO": 18,
"HR": 1,
"ERA": 1.3170731707317072,
"WHIP": 1.024390243902439,
"K9": 11.853658536585364,
"HR9": 0.6585365853658536,
"games_pitched": 7,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "686930",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.7627118644067797,
"last_10": 0.23728813559322032
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.706,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3512,
"prior_weight": 0.6488
},
"role": "pitcher",
"player_id": "686930",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 31.0,
"Pitches": 130.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.6,
"SO": 2.0,
"HR": 0.2,
"BF": 6.2,
"Pitches": 26.0
},
"rates": {
"ERA": 2.3478,
"WHIP": 1.0435,
"ER_per_IP": 0.26087,
"H_per_IP": 0.65217,
"BB_per_IP": 0.3913,
"SO_per_IP": 1.30435,
"HR_per_IP": 0.13043
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 13.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 7.0,
"SO": 18.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 237.0
},
"per_game": {
"IP": 2.0,
"ER": 0.2857,
"R": 0.2857,
"H": 1.0,
"BB": 1.0,
"SO": 2.5714,
"HR": 0.1429,
"BF": 7.7143,
"Pitches": 33.8571
},
"rates": {
"ERA": 1.3171,
"WHIP": 1.0244,
"ER_per_IP": 0.14634,
"H_per_IP": 0.5122,
"BB_per_IP": 0.5122,
"SO_per_IP": 1.31707,
"HR_per_IP": 0.07317
}
},
"season": {
"games": 7,
"totals": {
"IP": 13.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 7.0,
"SO": 18.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 237.0
},
"per_game": {
"IP": 2.0,
"ER": 0.2857,
"R": 0.2857,
"H": 1.0,
"BB": 1.0,
"SO": 2.5714,
"HR": 0.1429,
"BF": 7.7143,
"Pitches": 33.8571
},
"rates": {
"ERA": 1.3171,
"WHIP": 1.0244,
"ER_per_IP": 0.14634,
"H_per_IP": 0.5122,
"BB_per_IP": 0.5122,
"SO_per_IP": 1.31707,
"HR_per_IP": 0.07317
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.513,
"predicted_H": 1.068,
"predicted_BB": 0.481,
"predicted_SO": 1.355,
"predicted_HR": 0.172,
"predicted_ERA": 3.6561,
"predicted_WHIP": 1.2275
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6241,
"form_weight": 0.3759,
"form_reliability": 0.3512,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.706,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3512,
"prior_weight": 0.6488
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.513,
"final": 0.1928,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.068,
"final": 1.0256,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.481,
"final": 0.1808,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.355,
"final": 1.7576,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.172,
"final": 0.0647,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6561,
"final": 3.6561,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2275,
"final": 1.2275,
"source": "form_only"
}
}
}{
"available": false,
"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 | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1743 |
| ESPN Rank | 592 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 6.1967 |
| Season WHIP | 1.2295 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"opponent": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"edges": {
"quality_edge": -0.1128,
"offense_edge": 0.0305,
"opponent_offense_edge": -0.0587,
"defense_strength": -0.148,
"opponent_defense_weakness": 0.0125,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9934,
"run_prevention": 1.011,
"strikeout": 1.0013
},
"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": 44.0,
"k_percent": 30.5,
"bb_percent": 8.5,
"woba": 0.353,
"xwoba": 0.338,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 20.0,
"hard_hit_percent": 52.0,
"avg_best_speed": 82.1216,
"avg_hyper_speed": 95.4261,
"whiff_percent": 32.6,
"swing_percent": 53.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -1.1717,
"command_and_miss": 0.8689,
"regression_edge": 0.4286,
"xwoba_edge": -0.6714,
"barrel_edge": -2.5,
"hard_hit_edge": -1.9571,
"whiff_edge": 0.9643,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "665660",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1743,
"sample_weight": 0.45,
"run_prevention_factor": 1.0148,
"strikeout_factor": 1.0374,
"walk_factor": 0.9946,
"homer_factor": 1.1343,
"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": 592,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 592,
"gp_value": 18.0,
"gp_rank": 215,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 6.1967,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 4.0,
"hld_rank": 130,
"ip_value": 20.1,
"ip_rank": 390,
"h_value": 18.0,
"h_rank": 389,
"er_value": 14.0,
"er_rank": 250,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 7.0,
"bb_rank": 417,
"k_value": 25.0,
"k_rank": 325,
"k_per_9_value": 11.065574,
"k_per_9_rank": 22,
"whip_value": 1.2295,
"whip_rank": null,
"war_value": -0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0067,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0067,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0604,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0168,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.0,
"ER": 9,
"H": 10,
"BB": 3,
"SO": 19,
"HR": 5,
"ERA": 6.23076923076923,
"WHIP": 0.9999999999999999,
"K9": 13.153846153846152,
"HR9": 3.4615384615384612,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "665660",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.026,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.446,
"prior_weight": 0.554
},
"role": "pitcher",
"player_id": "665660",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 0.0,
"SO": 7.0,
"HR": 4.0,
"BF": 23.0,
"Pitches": 89.0
},
"per_game": {
"IP": 1.1,
"ER": 1.0,
"R": 1.0,
"H": 1.2,
"BB": 0.0,
"SO": 1.4,
"HR": 0.8,
"BF": 4.6,
"Pitches": 17.8
},
"rates": {
"ERA": 7.1053,
"WHIP": 0.9474,
"ER_per_IP": 0.78947,
"H_per_IP": 0.94737,
"BB_per_IP": 0.0,
"SO_per_IP": 1.10526,
"HR_per_IP": 0.63158
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 9.0,
"R": 9.0,
"H": 10.0,
"BB": 3.0,
"SO": 19.0,
"HR": 5.0,
"BF": 50.0,
"Pitches": 213.0
},
"per_game": {
"IP": 1.1,
"ER": 0.9,
"R": 0.9,
"H": 1.0,
"BB": 0.3,
"SO": 1.9,
"HR": 0.5,
"BF": 5.0,
"Pitches": 21.3
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.0,
"ER_per_IP": 0.69231,
"H_per_IP": 0.76923,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.46154,
"HR_per_IP": 0.38462
}
},
"season": {
"games": 18,
"totals": {
"IP": 20.1,
"ER": 14.0,
"R": 14.0,
"H": 18.0,
"BB": 7.0,
"SO": 25.0,
"HR": 5.0,
"BF": 82.0,
"Pitches": 349.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7778,
"R": 0.7778,
"H": 1.0,
"BB": 0.3889,
"SO": 1.3889,
"HR": 0.2778,
"BF": 4.5556,
"Pitches": 19.3889
},
"rates": {
"ERA": 6.1967,
"WHIP": 1.2295,
"ER_per_IP": 0.68852,
"H_per_IP": 0.88525,
"BB_per_IP": 0.34426,
"SO_per_IP": 1.22951,
"HR_per_IP": 0.2459
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.453,
"predicted_H": 0.694,
"predicted_BB": 0.2,
"predicted_SO": 0.813,
"predicted_HR": 0.217,
"predicted_ERA": 5.4426,
"predicted_WHIP": 1.1925
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5841,
"form_weight": 0.4159,
"form_reliability": 0.446,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.026,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.446,
"prior_weight": 0.554
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.453,
"final": 0.1884,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.694,
"final": 0.8727,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.2,
"final": 0.0832,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.813,
"final": 0.3382,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.217,
"final": 0.0903,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4426,
"final": 5.4426,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1925,
"final": 1.1925,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.190 | 0.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 4.080 | 3.000 | 4.000 | Hitting_AB | 3.643 | 4.000 | -0.643 | -1.000 |
| predicted_AVG | 0.239 | 0.000 | 0.250 | Hitting_AVG | 0.285 | 0.000 | -0.285 | 0.000 |
| predicted_BB | 0.911 | 1.000 | 1.000 | Hitting_BB | 0.949 | 0.000 | 0.051 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 1.037 | 0.000 | -1.037 | 0.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_OBP | 0.367 | 0.250 | 0.400 | Hitting_OBP | 0.436 | 0.000 | -0.186 | 0.250 |
| predicted_R | 0.709 | 0.000 | 1.000 | Hitting_R | 0.673 | 0.000 | -0.673 | 0.000 |
| predicted_RBI | 0.770 | 0.000 | 1.000 | Hitting_RBI | 0.717 | 0.000 | -0.717 | 0.000 |
| predicted_SLG | 0.470 | 0.000 | 0.250 | Hitting_SLG | 0.501 | 0.000 | -0.501 | 0.000 |
| predicted_SO | 1.367 | 2.000 | 1.000 | Hitting_SO | 1.353 | 1.000 | 0.647 | 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.3670 -> 2.0000 (boost 0.6330, worse) |
| Biggest Deboost | predicted_AB: 4.0800 -> 3.0000 (deboost -1.0800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 3 | 2 | predicted_SO: 1.3670 -> 1.4410 (boost 0.0740, worse) | predicted_AB: 4.0800 -> 3.9227 (deboost -0.1573, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4852 -> 0.4759 (deboost -0.0093, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 5 | 2 | predicted_RBI: 0.7762 -> 1.0000 (boost 0.2238, better) | predicted_SO: 1.4442 -> 1.0000 (deboost -0.4442, better) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.232 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6738 -> 1.0000 (boost 0.3262, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3787 -> 0.4000 (boost 0.0213, better) | predicted_SLG: 0.4759 -> 0.2500 (deboost -0.2259, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4759 (boost 0.2259, better) | predicted_OBP: 0.4000 -> 0.3787 (deboost -0.0213, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701762",
"player_name": "Nick Kurtz",
"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.19,
"predicted_3B": 0.013,
"predicted_AB": 4.08,
"predicted_AVG": 0.239,
"predicted_BB": 0.911,
"predicted_H": 0.97,
"predicted_HR": 0.23,
"predicted_OBP": 0.367,
"predicted_R": 0.709,
"predicted_RBI": 0.77,
"predicted_SLG": 0.47,
"predicted_SO": 1.367
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1994,
"predicted_3B": 0.0109,
"predicted_AB": 3.9227,
"predicted_AVG": 0.2451,
"predicted_BB": 0.867,
"predicted_H": 0.9572,
"predicted_HBP": 0.017,
"predicted_HR": 0.2326,
"predicted_OBP": 0.3759,
"predicted_R": 0.6859,
"predicted_RBI": 0.7901,
"predicted_SLG": 0.4852,
"predicted_SO": 1.441
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.1994,
"delta": 0.0094,
"percent_delta": 0.0495,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 3.9227,
"delta": -0.1573,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2451,
"delta": 0.0061,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.911,
"after": 0.867,
"delta": -0.044,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9572,
"delta": -0.0128,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2326,
"delta": 0.0026,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3759,
"delta": 0.0089,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.709,
"after": 0.6859,
"delta": -0.0231,
"percent_delta": -0.0326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.7901,
"delta": 0.0201,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.4852,
"delta": 0.0152,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.367,
"after": 1.441,
"delta": 0.074,
"percent_delta": 0.0541,
"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": 1.367,
"after": 1.441,
"delta": 0.074,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 3.9227,
"delta": -0.1573,
"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": 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.1994,
"predicted_3B": 0.0109,
"predicted_AB": 3.9227,
"predicted_AVG": 0.2417,
"predicted_BB": 0.8651,
"predicted_H": 0.9481,
"predicted_HBP": 0.017,
"predicted_HR": 0.2324,
"predicted_OBP": 0.3787,
"predicted_R": 0.6738,
"predicted_RBI": 0.7762,
"predicted_SLG": 0.4759,
"predicted_SO": 1.4442
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1994,
"after": 0.1994,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9227,
"after": 3.9227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2451,
"after": 0.2417,
"delta": -0.0034,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.867,
"after": 0.8651,
"delta": -0.0019,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9572,
"after": 0.9481,
"delta": -0.0091,
"percent_delta": -0.0095,
"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.2326,
"after": 0.2324,
"delta": -0.0002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3759,
"after": 0.3787,
"delta": 0.0028,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6859,
"after": 0.6738,
"delta": -0.0121,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7901,
"after": 0.7762,
"delta": -0.0139,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4852,
"after": 0.4759,
"delta": -0.0093,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.441,
"after": 1.4442,
"delta": 0.0032,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4852,
"after": 0.4759,
"delta": -0.0093,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.232 HR/AB=0.057",
"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.1994,
"after": 0.0,
"delta": -0.1994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9227,
"after": 4.0,
"delta": 0.0773,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8651,
"after": 1.0,
"delta": 0.1349,
"percent_delta": 0.1559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9481,
"after": 1.0,
"delta": 0.0519,
"percent_delta": 0.0547,
"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.2324,
"after": 0.0,
"delta": -0.2324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7762,
"after": 1.0,
"delta": 0.2238,
"percent_delta": 0.2883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4442,
"after": 1.0,
"delta": -0.4442,
"percent_delta": -0.3076,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7762,
"after": 1.0,
"delta": 0.2238,
"percent_delta": 0.2883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4442,
"after": 1.0,
"delta": -0.4442,
"percent_delta": -0.3076,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6738,
"after": 1.0,
"delta": 0.3262,
"percent_delta": 0.4841,
"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.6738,
"after": 1.0,
"delta": 0.3262,
"percent_delta": 0.4841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2417,
"after": 0.25,
"delta": 0.0083,
"percent_delta": 0.0343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3787,
"after": 0.4,
"delta": 0.0213,
"percent_delta": 0.0562,
"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.4759,
"after": 0.25,
"delta": -0.2259,
"percent_delta": -0.4747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3787,
"after": 0.4,
"delta": 0.0213,
"percent_delta": 0.0562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4759,
"after": 0.25,
"delta": -0.2259,
"percent_delta": -0.4747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2417,
"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.3787,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4759,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2417,
"delta": -0.0083,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3787,
"delta": -0.0213,
"percent_delta": -0.0532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4759,
"delta": 0.2259,
"percent_delta": 0.9034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4759,
"delta": 0.2259,
"percent_delta": 0.9034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3787,
"delta": -0.0213,
"percent_delta": -0.0532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 3.0,
"delta": -1.08,
"percent_delta": -0.2647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2417,
"delta": 0.0027,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.911,
"after": 1.0,
"delta": 0.089,
"percent_delta": 0.0977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3787,
"delta": 0.0117,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.709,
"after": 0.0,
"delta": -0.709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.4759,
"delta": 0.0059,
"percent_delta": 0.0126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.367,
"after": 2.0,
"delta": 0.633,
"percent_delta": 0.4631,
"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.367,
"after": 2.0,
"delta": 0.633,
"percent_delta": 0.4631,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 3.0,
"delta": -1.08,
"percent_delta": -0.2647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.013 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.911 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.367 | - |
| predicted_R | 0.709 | - |
| predicted_RBI | 0.770 | - |
| predicted_SLG | 0.470 | - |
| predicted_SO | 1.367 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.199 | 0.009 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.923 | -0.157 |
| predicted_AVG | 0.245 | 0.006 |
| predicted_BB | 0.867 | -0.044 |
| predicted_H | 0.957 | -0.013 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.233 | 0.003 |
| predicted_OBP | 0.376 | 0.009 |
| predicted_R | 0.686 | -0.023 |
| predicted_RBI | 0.790 | 0.020 |
| predicted_SLG | 0.485 | 0.015 |
| predicted_SO | 1.441 | 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.199 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.923 | 0.000 |
| predicted_AVG | 0.242 | -0.003 |
| predicted_BB | 0.865 | -0.002 |
| predicted_H | 0.948 | -0.009 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.232 | -0.000 |
| predicted_OBP | 0.379 | 0.003 |
| predicted_R | 0.674 | -0.012 |
| predicted_RBI | 0.776 | -0.014 |
| predicted_SLG | 0.476 | -0.009 |
| predicted_SO | 1.444 | 0.003 |
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.232 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.199 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.077 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 1.000 | 0.135 |
| predicted_H | 1.000 | 0.052 |
| predicted_HR | 0.000 | -0.232 |
| predicted_OBP | 0.400 | 0.021 |
| predicted_R | 1.000 | 0.326 |
| predicted_RBI | 1.000 | 0.224 |
| predicted_SLG | 0.250 | -0.226 |
| predicted_SO | 1.000 | -0.444 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 4.000 | 11.000 | 0.1579 | 0.3043 | 0.3684 | 0.1579 | 0.0526 | 0.2105 | 0.2105 | 0.5789 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 3.000 | 0.000 | 3.000 | 11.000 | 8.000 | 7.000 | 17.000 | 0.2632 | 0.3778 | 0.5789 | 0.2632 | 0.0790 | 0.2895 | 0.1842 | 0.4474 |
| season | 0.60 | 79 | - | 287.000 | 81.000 | 15.000 | 1.000 | 19.000 | 61.000 | 56.000 | 72.000 | 108.000 | 0.2822 | 0.4294 | 0.5401 | 0.2822 | 0.0662 | 0.2125 | 0.2509 | 0.3763 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2120 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.7120 |
| predicted_AVG | 0.2533 |
| predicted_BB | 0.8080 |
| predicted_H | 0.9400 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.2360 |
| predicted_OBP | 0.3879 |
| predicted_R | 0.6550 |
| predicted_RBI | 0.8170 |
| predicted_SLG | 0.5056 |
| predicted_SO | 1.5400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.2120 | 0.1994 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.0800 | 3.7120 | 3.9227 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2533 | 0.2451 | model_form_blend |
| predicted_BB | 0.9110 | 0.8080 | 0.8670 | model_form_blend |
| predicted_H | 0.9700 | 0.9400 | 0.9572 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.2300 | 0.2360 | 0.2326 | model_form_blend |
| predicted_OBP | 0.3670 | 0.3879 | 0.3759 | model_form_blend |
| predicted_R | 0.7090 | 0.6550 | 0.6859 | model_form_blend |
| predicted_RBI | 0.7700 | 0.8170 | 0.7901 | model_form_blend |
| predicted_SLG | 0.4700 | 0.5056 | 0.4852 | model_form_blend |
| predicted_SO | 1.3670 | 1.5400 | 1.4410 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 272 |
| Season rows before report date | 272 |
| Report year | 2026 |
| Profile rows used | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.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 | 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 | 20260624_OAK@SF |
| game_type | full |
| mlbID | 701762 |
| playerID | 701762 |
| playerName | Nick Kurtz |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 29.9 |
| sl_bb_percent | 19.9 |
| sl_woba | 0.415 |
| sl_xwoba | 0.394 |
| sl_xba | 0.257 |
| sl_xslg | 0.514 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 18.4 |
| sl_hard_hit_percent | 58.7 |
| sl_exit_velocity_avg | 94.4 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 36.2 |
| 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.222 | 0.000 | 0.000 | Hitting_2B | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.580 | 4.000 | 5.000 | Hitting_AB | 4.164 | 3.000 | -0.164 | 1.000 |
| predicted_AVG | 0.221 | 0.000 | 0.200 | Hitting_AVG | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_BB | 0.361 | 0.000 | 0.000 | Hitting_BB | 0.420 | 1.000 | -0.420 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 1.010 | 0.000 | 1.000 | Hitting_H | 1.236 | 0.000 | -1.236 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_OBP | 0.295 | 0.000 | 0.200 | Hitting_OBP | 0.365 | 0.250 | -0.365 | -0.250 |
| predicted_R | 0.681 | 0.000 | 1.000 | Hitting_R | 0.720 | 0.000 | -0.720 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.568 | 0.000 | -0.568 | 0.000 |
| predicted_SLG | 0.436 | 0.000 | 0.200 | Hitting_SLG | 0.540 | 0.000 | -0.540 | 0.000 |
| predicted_SO | 0.861 | 0.000 | 1.000 | Hitting_SO | 0.900 | 0.000 | -0.900 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.5800 -> 4.3451 (deboost -0.2349, worse) | Final model input calibrated with local 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.4363 -> 0.4203 (deboost -0.0160, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 4.3451 -> 5.0000 (boost 0.6549, better) | predicted_BB: 0.3721 -> 0.0000 (deboost -0.3721, worse) | AB rounded to 5 (raw=4.58), rates preserved: AVG=0.205 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6260 -> 1.0000 (boost 0.3740, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4203 -> 0.2000 (deboost -0.2203, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4203 (boost 0.2203, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669127",
"player_name": "Shea Langeliers",
"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.222,
"predicted_3B": 0.0,
"predicted_AB": 4.58,
"predicted_AVG": 0.221,
"predicted_BB": 0.361,
"predicted_H": 1.01,
"predicted_HR": 0.22,
"predicted_OBP": 0.295,
"predicted_R": 0.681,
"predicted_RBI": 0.61,
"predicted_SLG": 0.436,
"predicted_SO": 0.861
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2173,
"predicted_3B": 0.0004,
"predicted_AB": 4.3451,
"predicted_AVG": 0.2178,
"predicted_BB": 0.3729,
"predicted_H": 0.9462,
"predicted_HBP": 0.033,
"predicted_HR": 0.2238,
"predicted_OBP": 0.2921,
"predicted_R": 0.6372,
"predicted_RBI": 0.6011,
"predicted_SLG": 0.4363,
"predicted_SO": 0.8355
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2173,
"delta": -0.0047,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 4.3451,
"delta": -0.2349,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2178,
"delta": -0.0032,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.361,
"after": 0.3729,
"delta": 0.0119,
"percent_delta": 0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.9462,
"delta": -0.0638,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2238,
"delta": 0.0038,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2921,
"delta": -0.0029,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.681,
"after": 0.6372,
"delta": -0.0438,
"percent_delta": -0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6011,
"delta": -0.0089,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4363,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.861,
"after": 0.8355,
"delta": -0.0255,
"percent_delta": -0.0296,
"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.58,
"after": 4.3451,
"delta": -0.2349,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2173,
"predicted_3B": 0.0004,
"predicted_AB": 4.3451,
"predicted_AVG": 0.2157,
"predicted_BB": 0.3721,
"predicted_H": 0.9372,
"predicted_HBP": 0.033,
"predicted_HR": 0.2236,
"predicted_OBP": 0.2776,
"predicted_R": 0.626,
"predicted_RBI": 0.5905,
"predicted_SLG": 0.4203,
"predicted_SO": 0.8373
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2173,
"after": 0.2173,
"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.3451,
"after": 4.3451,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2178,
"after": 0.2157,
"delta": -0.0021,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3729,
"after": 0.3721,
"delta": -0.0008,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9462,
"after": 0.9372,
"delta": -0.009,
"percent_delta": -0.0095,
"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.2238,
"after": 0.2236,
"delta": -0.0002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2921,
"after": 0.2776,
"delta": -0.0145,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6372,
"after": 0.626,
"delta": -0.0112,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6011,
"after": 0.5905,
"delta": -0.0106,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4363,
"after": 0.4203,
"delta": -0.016,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8355,
"after": 0.8373,
"delta": 0.0018,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4363,
"after": 0.4203,
"delta": -0.016,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.58), rates preserved: AVG=0.205 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2173,
"after": 0.0,
"delta": -0.2173,
"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.3451,
"after": 5.0,
"delta": 0.6549,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3721,
"after": 0.0,
"delta": -0.3721,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9372,
"after": 1.0,
"delta": 0.0628,
"percent_delta": 0.067,
"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.2236,
"after": 0.0,
"delta": -0.2236,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5905,
"after": 1.0,
"delta": 0.4095,
"percent_delta": 0.6935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8373,
"after": 1.0,
"delta": 0.1627,
"percent_delta": 0.1943,
"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.3451,
"after": 5.0,
"delta": 0.6549,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3721,
"after": 0.0,
"delta": -0.3721,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.626,
"after": 1.0,
"delta": 0.374,
"percent_delta": 0.5974,
"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.626,
"after": 1.0,
"delta": 0.374,
"percent_delta": 0.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2157,
"after": 0.2,
"delta": -0.0157,
"percent_delta": -0.0728,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2776,
"after": 0.2,
"delta": -0.0776,
"percent_delta": -0.2795,
"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.4203,
"after": 0.2,
"delta": -0.2203,
"percent_delta": -0.5241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4203,
"after": 0.2,
"delta": -0.2203,
"percent_delta": -0.5241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2157,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2776,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4203,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2157,
"delta": 0.0157,
"percent_delta": 0.0785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2776,
"delta": 0.0776,
"percent_delta": 0.3878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4203,
"delta": 0.2203,
"percent_delta": 1.1015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4203,
"delta": 0.2203,
"percent_delta": 1.1015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 4.0,
"delta": -0.58,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2157,
"delta": -0.0053,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.361,
"after": 0.0,
"delta": -0.361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2776,
"delta": -0.0174,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.681,
"after": 0.0,
"delta": -0.681,
"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.436,
"after": 0.4203,
"delta": -0.0157,
"percent_delta": -0.036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.861,
"after": 0.0,
"delta": -0.861,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 0,
"deboosted_metrics": 11,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.580 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.361 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.681 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.436 | - |
| predicted_SO | 0.861 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | -0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.345 | -0.235 |
| predicted_AVG | 0.218 | -0.003 |
| predicted_BB | 0.373 | 0.012 |
| predicted_H | 0.946 | -0.064 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.224 | 0.004 |
| predicted_OBP | 0.292 | -0.003 |
| predicted_R | 0.637 | -0.044 |
| predicted_RBI | 0.601 | -0.009 |
| predicted_SLG | 0.436 | 0.000 |
| predicted_SO | 0.836 | -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.217 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.345 | 0.000 |
| predicted_AVG | 0.216 | -0.002 |
| predicted_BB | 0.372 | -0.001 |
| predicted_H | 0.937 | -0.009 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.224 | -0.000 |
| predicted_OBP | 0.278 | -0.015 |
| predicted_R | 0.626 | -0.011 |
| predicted_RBI | 0.591 | -0.011 |
| predicted_SLG | 0.420 | -0.016 |
| predicted_SO | 0.837 | 0.002 |
AB rounded to 5 (raw=4.58), rates preserved: AVG=0.205 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.217 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.655 |
| predicted_AVG | 0.200 | -0.016 |
| predicted_BB | 0.000 | -0.372 |
| predicted_H | 1.000 | 0.063 |
| predicted_HR | 0.000 | -0.224 |
| predicted_OBP | 0.200 | -0.078 |
| predicted_R | 1.000 | 0.374 |
| predicted_RBI | 1.000 | 0.409 |
| predicted_SLG | 0.200 | -0.220 |
| 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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 2.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 2.000 | 4.000 | 0.1053 | 0.1905 | 0.3158 | 0.1053 | 0.0526 | 0.2105 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 40.000 | 6.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 5.000 | 6.000 | 0.1500 | 0.2444 | 0.3500 | 0.1500 | 0.0500 | 0.1250 | 0.1250 | 0.1500 |
| season | 0.60 | 72 | - | 298.000 | 79.000 | 16.000 | 0.000 | 19.000 | 40.000 | 49.000 | 26.000 | 62.000 | 0.2651 | 0.3313 | 0.5101 | 0.2651 | 0.0638 | 0.1342 | 0.0872 | 0.2081 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2110 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0280 |
| predicted_AVG | 0.2135 |
| predicted_BB | 0.3890 |
| predicted_H | 0.8600 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.2290 |
| predicted_OBP | 0.2881 |
| predicted_R | 0.5780 |
| predicted_RBI | 0.5890 |
| predicted_SLG | 0.4368 |
| predicted_SO | 0.8010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.2110 | 0.2173 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5800 | 4.0280 | 4.3451 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2135 | 0.2178 | model_form_blend |
| predicted_BB | 0.3610 | 0.3890 | 0.3729 | model_form_blend |
| predicted_H | 1.0100 | 0.8600 | 0.9462 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.2200 | 0.2290 | 0.2238 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2881 | 0.2921 | model_form_blend |
| predicted_R | 0.6810 | 0.5780 | 0.6372 | model_form_blend |
| predicted_RBI | 0.6100 | 0.5890 | 0.6011 | model_form_blend |
| predicted_SLG | 0.4360 | 0.4368 | 0.4363 | model_form_blend |
| predicted_SO | 0.8610 | 0.8010 | 0.8355 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 250 |
| Season rows before report date | 250 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.265 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 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 | C |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 669127 |
| playerID | 669127 |
| playerName | Shea Langeliers |
| pos | C |
| started | True |
| startingPosition | C |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.361 |
| sl_xwoba | 0.371 |
| sl_xba | 0.276 |
| sl_xslg | 0.531 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 14.8 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 26.4 |
| 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.260 | 1.000 | 0.000 | Hitting_2B | 0.309 | 0.000 | 0.691 | 1.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.920 | 4.000 | 4.000 | Hitting_AB | 3.825 | 4.000 | 0.175 | 0.000 |
| predicted_AVG | 0.246 | 0.250 | 0.250 | Hitting_AVG | 0.223 | 0.000 | 0.027 | 0.250 |
| predicted_BB | 0.532 | 0.000 | 1.000 | Hitting_BB | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 0.854 | 0.000 | 0.146 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_OBP | 0.355 | 0.250 | 0.400 | Hitting_OBP | 0.315 | 0.000 | -0.065 | 0.250 |
| predicted_R | 0.519 | 0.000 | 1.000 | Hitting_R | 0.524 | 0.000 | -0.524 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.508 | 0.000 | -0.508 | 0.000 |
| predicted_SLG | 0.430 | 0.500 | 0.250 | Hitting_SLG | 0.424 | 0.000 | 0.076 | 0.500 |
| predicted_SO | 0.753 | 1.000 | 1.000 | Hitting_SO | 0.780 | 0.000 | 0.220 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.2600 -> 1.0000 (boost 0.7400, 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 | 5 | 4 | 1 | 4 | 1 | predicted_R: 0.5190 -> 0.5717 (boost 0.0527, better) | predicted_AB: 3.9200 -> 3.7894 (deboost -0.1306, worse) | Final model input calibrated with local 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.3629 -> 0.3449 (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 | 3 | 4 | 2 | 5 | predicted_BB: 0.5342 -> 1.0000 (boost 0.4658, better) | predicted_RBI: 0.4556 -> 0.0000 (deboost -0.4556, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.244 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5616 -> 1.0000 (boost 0.4384, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3449 -> 0.4000 (boost 0.0551, better) | predicted_SLG: 0.4442 -> 0.2500 (deboost -0.1942, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4442 (boost 0.1942, better) | predicted_OBP: 0.4000 -> 0.3449 (deboost -0.0551, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"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.26,
"predicted_3B": 0.026,
"predicted_AB": 3.92,
"predicted_AVG": 0.246,
"predicted_BB": 0.532,
"predicted_H": 0.96,
"predicted_HR": 0.15,
"predicted_OBP": 0.355,
"predicted_R": 0.519,
"predicted_RBI": 0.48,
"predicted_SLG": 0.43,
"predicted_SO": 0.753
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2481,
"predicted_3B": 0.0213,
"predicted_AB": 3.7894,
"predicted_AVG": 0.256,
"predicted_BB": 0.5354,
"predicted_H": 0.966,
"predicted_HBP": 0.074,
"predicted_HR": 0.1453,
"predicted_OBP": 0.3629,
"predicted_R": 0.5717,
"predicted_RBI": 0.4638,
"predicted_SLG": 0.4418,
"predicted_SO": 0.7398
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.26,
"after": 0.2481,
"delta": -0.0119,
"percent_delta": -0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0213,
"delta": -0.0047,
"percent_delta": -0.1808,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.92,
"after": 3.7894,
"delta": -0.1306,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.256,
"delta": 0.01,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.532,
"after": 0.5354,
"delta": 0.0034,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.966,
"delta": 0.006,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1453,
"delta": -0.0047,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3629,
"delta": 0.0079,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.5717,
"delta": 0.0527,
"percent_delta": 0.1015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4638,
"delta": -0.0162,
"percent_delta": -0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4418,
"delta": 0.0118,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.753,
"after": 0.7398,
"delta": -0.0132,
"percent_delta": -0.0175,
"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.519,
"after": 0.5717,
"delta": 0.0527,
"percent_delta": 0.1015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.92,
"after": 3.7894,
"delta": -0.1306,
"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": 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.2481,
"predicted_3B": 0.0213,
"predicted_AB": 3.7894,
"predicted_AVG": 0.2525,
"predicted_BB": 0.5342,
"predicted_H": 0.9568,
"predicted_HBP": 0.074,
"predicted_HR": 0.1452,
"predicted_OBP": 0.3449,
"predicted_R": 0.5616,
"predicted_RBI": 0.4556,
"predicted_SLG": 0.4442,
"predicted_SO": 0.7414
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2481,
"after": 0.2481,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0213,
"after": 0.0213,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7894,
"after": 3.7894,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2525,
"delta": -0.0035,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5354,
"after": 0.5342,
"delta": -0.0012,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.966,
"after": 0.9568,
"delta": -0.0092,
"percent_delta": -0.0095,
"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.1453,
"after": 0.1452,
"delta": -0.0001,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3629,
"after": 0.3449,
"delta": -0.018,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5717,
"after": 0.5616,
"delta": -0.0101,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4638,
"after": 0.4556,
"delta": -0.0082,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4418,
"after": 0.4442,
"delta": 0.0024,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7398,
"after": 0.7414,
"delta": 0.0016,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3629,
"after": 0.3449,
"delta": -0.018,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.244 HR/AB=0.037",
"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.2481,
"after": 0.0,
"delta": -0.2481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0213,
"after": 0.0,
"delta": -0.0213,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7894,
"after": 4.0,
"delta": 0.2106,
"percent_delta": 0.0556,
"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.9568,
"after": 1.0,
"delta": 0.0432,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1452,
"after": 0.0,
"delta": -0.1452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4556,
"after": 0.0,
"delta": -0.4556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7414,
"after": 1.0,
"delta": 0.2586,
"percent_delta": 0.3488,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5342,
"after": 1.0,
"delta": 0.4658,
"percent_delta": 0.872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4556,
"after": 0.0,
"delta": -0.4556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5616,
"after": 1.0,
"delta": 0.4384,
"percent_delta": 0.7806,
"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.5616,
"after": 1.0,
"delta": 0.4384,
"percent_delta": 0.7806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2525,
"after": 0.25,
"delta": -0.0025,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3449,
"after": 0.4,
"delta": 0.0551,
"percent_delta": 0.1598,
"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.4442,
"after": 0.25,
"delta": -0.1942,
"percent_delta": -0.4372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3449,
"after": 0.4,
"delta": 0.0551,
"percent_delta": 0.1598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4442,
"after": 0.25,
"delta": -0.1942,
"percent_delta": -0.4372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2525,
"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.3449,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4442,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2525,
"delta": 0.0025,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3449,
"delta": -0.0551,
"percent_delta": -0.1378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4442,
"delta": 0.1942,
"percent_delta": 0.7767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4442,
"delta": 0.1942,
"percent_delta": 0.7767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3449,
"delta": -0.0551,
"percent_delta": -0.1378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.92,
"after": 4.0,
"delta": 0.08,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2525,
"delta": 0.0065,
"percent_delta": 0.0264,
"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.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3449,
"delta": -0.0101,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.0,
"delta": -0.519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4442,
"delta": 0.0142,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.753,
"after": 1.0,
"delta": 0.247,
"percent_delta": 0.328,
"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.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"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.260 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.920 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.532 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.519 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.753 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.248 | -0.012 |
| predicted_3B | 0.021 | -0.005 |
| predicted_AB | 3.789 | -0.131 |
| predicted_AVG | 0.256 | 0.010 |
| predicted_BB | 0.535 | 0.003 |
| predicted_H | 0.966 | 0.006 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.145 | -0.005 |
| predicted_OBP | 0.363 | 0.008 |
| predicted_R | 0.572 | 0.053 |
| predicted_RBI | 0.464 | -0.016 |
| predicted_SLG | 0.442 | 0.012 |
| predicted_SO | 0.740 | -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.248 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.789 | 0.000 |
| predicted_AVG | 0.253 | -0.004 |
| predicted_BB | 0.534 | -0.001 |
| predicted_H | 0.957 | -0.009 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.145 | -0.000 |
| predicted_OBP | 0.345 | -0.018 |
| predicted_R | 0.562 | -0.010 |
| predicted_RBI | 0.456 | -0.008 |
| predicted_SLG | 0.444 | 0.002 |
| predicted_SO | 0.741 | 0.002 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.244 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.248 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.211 |
| predicted_AVG | 0.250 | -0.003 |
| predicted_BB | 1.000 | 0.466 |
| predicted_H | 1.000 | 0.043 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.400 | 0.055 |
| predicted_R | 1.000 | 0.438 |
| predicted_RBI | 0.000 | -0.456 |
| predicted_SLG | 0.250 | -0.194 |
| predicted_SO | 1.000 | 0.259 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 17.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 3.000 | 0.3529 | 0.4762 | 0.4118 | 0.3529 | 0.0000 | 0.0588 | 0.1765 | 0.1765 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 2.000 | 4.000 | 9.000 | 6.000 | 7.000 | 0.2778 | 0.3953 | 0.5000 | 0.2778 | 0.0556 | 0.1111 | 0.1667 | 0.1944 |
| season | 0.60 | 77 | - | 281.000 | 68.000 | 20.000 | 2.000 | 13.000 | 41.000 | 40.000 | 41.000 | 58.000 | 0.2420 | 0.3415 | 0.4662 | 0.2420 | 0.0463 | 0.1459 | 0.1459 | 0.2064 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2320 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.6130 |
| predicted_AVG | 0.2696 |
| predicted_BB | 0.5400 |
| predicted_H | 0.9740 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.1390 |
| predicted_OBP | 0.3736 |
| predicted_R | 0.6430 |
| predicted_RBI | 0.4420 |
| predicted_SLG | 0.4577 |
| predicted_SO | 0.7220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2600 | 0.2320 | 0.2481 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0213 | model_form_blend |
| predicted_AB | 3.9200 | 3.6130 | 3.7894 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2696 | 0.2560 | model_form_blend |
| predicted_BB | 0.5320 | 0.5400 | 0.5354 | model_form_blend |
| predicted_H | 0.9600 | 0.9740 | 0.9660 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.1500 | 0.1390 | 0.1453 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3736 | 0.3629 | model_form_blend |
| predicted_R | 0.5190 | 0.6430 | 0.5717 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4420 | 0.4638 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4577 | 0.4418 | model_form_blend |
| predicted_SO | 0.7530 | 0.7220 | 0.7398 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 246 |
| Season rows before report date | 246 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260624_OAK@SF |
| game_type | full |
| mlbID | 691016 |
| playerID | 691016 |
| playerName | Tyler Soderstrom |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.349 |
| sl_xwoba | 0.335 |
| sl_xba | 0.248 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 21.7 |
| 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.171 | 0.000 | 0.000 | Hitting_2B | 0.183 | 1.000 | -0.183 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.540 | 4.000 | 4.000 | Hitting_AB | 3.324 | 2.000 | 0.676 | 2.000 |
| predicted_AVG | 0.263 | 0.000 | 0.250 | Hitting_AVG | 0.309 | 0.500 | -0.309 | -0.500 |
| predicted_BB | 0.343 | 0.000 | 0.000 | Hitting_BB | 0.352 | 1.000 | -0.352 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_H | 0.930 | 0.000 | 1.000 | Hitting_H | 1.028 | 1.000 | -1.028 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_OBP | 0.370 | 0.000 | 0.250 | Hitting_OBP | 0.382 | 0.750 | -0.382 | -0.750 |
| predicted_R | 0.314 | 0.000 | 0.000 | Hitting_R | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_SLG | 0.398 | 0.000 | 0.250 | Hitting_SLG | 0.390 | 1.000 | -0.390 | -1.000 |
| predicted_SO | 1.114 | 2.000 | 1.000 | Hitting_SO | 0.972 | 1.000 | 1.028 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.1140 -> 2.0000 (boost 0.8860, worse) |
| 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 | 3 | 1 | predicted_BB: 0.3430 -> 0.4069 (boost 0.0639, better) | predicted_AB: 3.5400 -> 3.4546 (deboost -0.0854, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3800 -> 0.3470 (deboost -0.0330, 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.4546 -> 4.0000 (boost 0.5454, better) | predicted_BB: 0.4060 -> 0.0000 (deboost -0.4060, worse) | AB rounded to 4 (raw=3.54), rates preserved: AVG=0.264 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2976 -> 0.0000 (deboost -0.2976, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3922 -> 0.2500 (deboost -0.1422, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3922 (boost 0.1422, better) | - | 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.171,
"predicted_3B": 0.0,
"predicted_AB": 3.54,
"predicted_AVG": 0.263,
"predicted_BB": 0.343,
"predicted_H": 0.93,
"predicted_HR": 0.09,
"predicted_OBP": 0.37,
"predicted_R": 0.314,
"predicted_RBI": 0.37,
"predicted_SLG": 0.398,
"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.177,
"predicted_3B": 0.0008,
"predicted_AB": 3.4546,
"predicted_AVG": 0.2735,
"predicted_BB": 0.4069,
"predicted_H": 0.9427,
"predicted_HBP": 0.13,
"predicted_HR": 0.0809,
"predicted_OBP": 0.38,
"predicted_R": 0.3029,
"predicted_RBI": 0.3458,
"predicted_SLG": 0.4015,
"predicted_SO": 1.085
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.177,
"delta": 0.006,
"percent_delta": 0.0351,
"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.54,
"after": 3.4546,
"delta": -0.0854,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2735,
"delta": 0.0105,
"percent_delta": 0.0399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.4069,
"delta": 0.0639,
"percent_delta": 0.1863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9427,
"delta": 0.0127,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0809,
"delta": -0.0091,
"percent_delta": -0.1011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.38,
"delta": 0.01,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.3029,
"delta": -0.0111,
"percent_delta": -0.0354,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3458,
"delta": -0.0242,
"percent_delta": -0.0654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.4015,
"delta": 0.0035,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.114,
"after": 1.085,
"delta": -0.029,
"percent_delta": -0.026,
"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.343,
"after": 0.4069,
"delta": 0.0639,
"percent_delta": 0.1863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.54,
"after": 3.4546,
"delta": -0.0854,
"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": 35
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.177,
"predicted_3B": 0.0008,
"predicted_AB": 3.4546,
"predicted_AVG": 0.2703,
"predicted_BB": 0.406,
"predicted_H": 0.9337,
"predicted_HBP": 0.13,
"predicted_HR": 0.0808,
"predicted_OBP": 0.347,
"predicted_R": 0.2976,
"predicted_RBI": 0.3397,
"predicted_SLG": 0.3922,
"predicted_SO": 1.0874
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.177,
"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.4546,
"after": 3.4546,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2735,
"after": 0.2703,
"delta": -0.0032,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4069,
"after": 0.406,
"delta": -0.0009,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9427,
"after": 0.9337,
"delta": -0.009,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.13,
"after": 0.13,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0809,
"after": 0.0808,
"delta": -0.0001,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.38,
"after": 0.347,
"delta": -0.033,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3029,
"after": 0.2976,
"delta": -0.0053,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3458,
"after": 0.3397,
"delta": -0.0061,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4015,
"after": 0.3922,
"delta": -0.0093,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.085,
"after": 1.0874,
"delta": 0.0024,
"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_OBP",
"before": 0.38,
"after": 0.347,
"delta": -0.033,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.54), rates preserved: AVG=0.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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"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.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4546,
"after": 4.0,
"delta": 0.5454,
"percent_delta": 0.1579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9337,
"after": 1.0,
"delta": 0.0663,
"percent_delta": 0.071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0808,
"after": 0.0,
"delta": -0.0808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3397,
"after": 0.0,
"delta": -0.3397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0874,
"after": 1.0,
"delta": -0.0874,
"percent_delta": -0.0804,
"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.4546,
"after": 4.0,
"delta": 0.5454,
"percent_delta": 0.1579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2976,
"after": 0.0,
"delta": -0.2976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2976,
"after": 0.0,
"delta": -0.2976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2703,
"after": 0.25,
"delta": -0.0203,
"percent_delta": -0.0751,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.097,
"percent_delta": -0.2795,
"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.3922,
"after": 0.25,
"delta": -0.1422,
"percent_delta": -0.3626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3922,
"after": 0.25,
"delta": -0.1422,
"percent_delta": -0.3626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2703,
"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.347,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3922,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2703,
"delta": 0.0203,
"percent_delta": 0.0812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.347,
"delta": 0.097,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3922,
"delta": 0.1422,
"percent_delta": 0.5688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3922,
"delta": 0.1422,
"percent_delta": 0.5688,
"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.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.54,
"after": 4.0,
"delta": 0.46,
"percent_delta": 0.1299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2703,
"delta": 0.0073,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"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.93,
"after": 0.0,
"delta": -0.93,
"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.37,
"after": 0.347,
"delta": -0.023,
"percent_delta": -0.0622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3922,
"delta": -0.0058,
"percent_delta": -0.0146,
"direction": "deboost",
"projection_effect": "worse",
"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": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.114,
"after": 2.0,
"delta": 0.886,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "worse",
"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.171 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.540 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.343 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.370 | - |
| predicted_R | 0.314 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.398 | - |
| 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.177 | 0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.455 | -0.085 |
| predicted_AVG | 0.274 | 0.011 |
| predicted_BB | 0.407 | 0.064 |
| predicted_H | 0.943 | 0.013 |
| predicted_HBP | 0.130 | - |
| predicted_HR | 0.081 | -0.009 |
| predicted_OBP | 0.380 | 0.010 |
| predicted_R | 0.303 | -0.011 |
| predicted_RBI | 0.346 | -0.024 |
| predicted_SLG | 0.402 | 0.004 |
| predicted_SO | 1.085 | -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.177 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.455 | 0.000 |
| predicted_AVG | 0.270 | -0.003 |
| predicted_BB | 0.406 | -0.001 |
| predicted_H | 0.934 | -0.009 |
| predicted_HBP | 0.130 | 0.000 |
| predicted_HR | 0.081 | -0.000 |
| predicted_OBP | 0.347 | -0.033 |
| predicted_R | 0.298 | -0.005 |
| predicted_RBI | 0.340 | -0.006 |
| predicted_SLG | 0.392 | -0.009 |
| predicted_SO | 1.087 | 0.002 |
AB rounded to 4 (raw=3.54), 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.177 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.545 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 0.000 | -0.406 |
| predicted_H | 1.000 | 0.066 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.250 | -0.097 |
| predicted_R | 0.000 | -0.298 |
| predicted_RBI | 0.000 | -0.340 |
| predicted_SLG | 0.250 | -0.142 |
| predicted_SO | 1.000 | -0.087 |
Attached 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 | - | 15.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 5.000 | 5.000 | 0.2667 | 0.4762 | 0.3333 | 0.2667 | 0.0000 | 0.0667 | 0.3333 | 0.3333 |
| last_10 | 0.20 | 10 | - | 30.000 | 9.000 | 2.000 | 0.000 | 1.000 | 3.000 | 3.000 | 6.000 | 10.000 | 0.3000 | 0.4211 | 0.4667 | 0.3000 | 0.0333 | 0.1000 | 0.2000 | 0.3333 |
| season | 0.60 | 35 | - | 117.000 | 36.000 | 6.000 | 0.000 | 2.000 | 10.000 | 11.000 | 12.000 | 39.000 | 0.3077 | 0.3897 | 0.4103 | 0.3077 | 0.0171 | 0.0855 | 0.1026 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3250 |
| predicted_AVG | 0.2894 |
| predicted_BB | 0.5040 |
| predicted_H | 0.9620 |
| predicted_HBP | 0.1300 |
| predicted_HR | 0.0670 |
| predicted_OBP | 0.3952 |
| predicted_R | 0.2860 |
| predicted_RBI | 0.3090 |
| predicted_SLG | 0.4069 |
| predicted_SO | 1.0410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.1860 | 0.1770 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.5400 | 3.3250 | 3.4546 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2894 | 0.2735 | model_form_blend |
| predicted_BB | 0.3430 | 0.5040 | 0.4069 | model_form_blend |
| predicted_H | 0.9300 | 0.9620 | 0.9427 | model_form_blend |
| predicted_HBP | - | 0.1300 | 0.1300 | form_only |
| predicted_HR | 0.0900 | 0.0670 | 0.0809 | model_form_blend |
| predicted_OBP | 0.3700 | 0.3952 | 0.3800 | model_form_blend |
| predicted_R | 0.3140 | 0.2860 | 0.3029 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3090 | 0.3458 | model_form_blend |
| predicted_SLG | 0.3980 | 0.4069 | 0.4015 | model_form_blend |
| predicted_SO | 1.1140 | 1.0410 | 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 | 71 |
| Season rows before report date | 71 |
| Report year | 2026 |
| Profile rows used | 35 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.308 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 703607 |
| playerID | 703607 |
| playerName | Henry Bolte |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.363 |
| sl_xwoba | 0.316 |
| sl_xba | 0.234 |
| sl_xslg | 0.354 |
| sl_sweet_spot_percent | 23.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 51.9 |
| sl_exit_velocity_avg | 92.6 |
| sl_launch_angle_avg | 0.3 |
| sl_whiff_percent | 35.0 |
| 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.222 | 1.000 | 0.000 | Hitting_2B | 0.273 | 0.000 | 0.727 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.160 | 4.000 | 3.000 | Hitting_AB | 3.386 | 1.000 | 0.614 | 3.000 |
| predicted_AVG | 0.250 | 0.250 | 0.333 | Hitting_AVG | 0.215 | 0.000 | 0.035 | 0.250 |
| predicted_BB | 0.278 | 0.000 | 0.000 | Hitting_BB | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.790 | 1.000 | 1.000 | Hitting_H | 0.727 | 0.000 | 0.273 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.307 | 0.250 | 0.333 | Hitting_OBP | 0.272 | 0.000 | -0.022 | 0.250 |
| predicted_R | 0.389 | 1.000 | 0.000 | Hitting_R | 0.477 | 0.000 | 0.523 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 0.000 | Hitting_RBI | 0.205 | 0.000 | 0.795 | 1.000 |
| predicted_SLG | 0.447 | 0.500 | 0.333 | Hitting_SLG | 0.396 | 0.000 | 0.104 | 0.500 |
| predicted_SO | 0.556 | 0.000 | 1.000 | Hitting_SO | 0.886 | 0.000 | -0.886 | 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_AB: 3.1600 -> 4.0000 (boost 0.8400, better) |
| Biggest Deboost | predicted_SO: 0.5560 -> 0.0000 (deboost -0.5560, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4470 -> 0.4604 (boost 0.0134, 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.4604 -> 0.4729 (boost 0.0125, 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.5642 -> 1.0000 (boost 0.4358, worse) | predicted_RBI: 0.4860 -> 0.0000 (deboost -0.4860, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.244 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3717 -> 0.0000 (deboost -0.3717, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2471 -> 0.3330 (boost 0.0859, better) | predicted_SLG: 0.4729 -> 0.3330 (deboost -0.1399, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4729 (boost 0.1399, better) | predicted_AVG: 0.3330 -> 0.2471 (deboost -0.0859, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641680",
"player_name": "Jonah Heim",
"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.222,
"predicted_3B": 0.0,
"predicted_AB": 3.16,
"predicted_AVG": 0.25,
"predicted_BB": 0.278,
"predicted_H": 0.79,
"predicted_HR": 0.16,
"predicted_OBP": 0.307,
"predicted_R": 0.389,
"predicted_RBI": 0.49,
"predicted_SLG": 0.447,
"predicted_SO": 0.556
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2028,
"predicted_3B": 0.0008,
"predicted_AB": 3.1166,
"predicted_AVG": 0.2495,
"predicted_BB": 0.2764,
"predicted_H": 0.7775,
"predicted_HBP": 0.006,
"predicted_HR": 0.1666,
"predicted_OBP": 0.3063,
"predicted_R": 0.3784,
"predicted_RBI": 0.4947,
"predicted_SLG": 0.4604,
"predicted_SO": 0.563
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2028,
"delta": -0.0192,
"percent_delta": -0.0865,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.16,
"after": 3.1166,
"delta": -0.0434,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2495,
"delta": -0.0005,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 0.2764,
"delta": -0.0016,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.7775,
"delta": -0.0125,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1666,
"delta": 0.0066,
"percent_delta": 0.0412,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3063,
"delta": -0.0007,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.389,
"after": 0.3784,
"delta": -0.0106,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4947,
"delta": 0.0047,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.447,
"after": 0.4604,
"delta": 0.0134,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.563,
"delta": 0.007,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_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.447,
"after": 0.4604,
"delta": 0.0134,
"percent_delta": 0.03,
"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": 36
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2028,
"predicted_3B": 0.0008,
"predicted_AB": 3.1166,
"predicted_AVG": 0.2471,
"predicted_BB": 0.2758,
"predicted_H": 0.7701,
"predicted_HBP": 0.006,
"predicted_HR": 0.1665,
"predicted_OBP": 0.3083,
"predicted_R": 0.3717,
"predicted_RBI": 0.486,
"predicted_SLG": 0.4729,
"predicted_SO": 0.5642
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2028,
"after": 0.2028,
"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.1166,
"after": 3.1166,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2495,
"after": 0.2471,
"delta": -0.0024,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2764,
"after": 0.2758,
"delta": -0.0006,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7775,
"after": 0.7701,
"delta": -0.0074,
"percent_delta": -0.0095,
"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.1666,
"after": 0.1665,
"delta": -0.0001,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3063,
"after": 0.3083,
"delta": 0.002,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3784,
"after": 0.3717,
"delta": -0.0067,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4947,
"after": 0.486,
"delta": -0.0087,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4604,
"after": 0.4729,
"delta": 0.0125,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.563,
"after": 0.5642,
"delta": 0.0012,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_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.4604,
"after": 0.4729,
"delta": 0.0125,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.244 HR/AB=0.053",
"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.2028,
"after": 0.0,
"delta": -0.2028,
"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.1166,
"after": 3.0,
"delta": -0.1166,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2758,
"after": 0.0,
"delta": -0.2758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7701,
"after": 1.0,
"delta": 0.2299,
"percent_delta": 0.2985,
"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.1665,
"after": 0.0,
"delta": -0.1665,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.486,
"after": 0.0,
"delta": -0.486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5642,
"after": 1.0,
"delta": 0.4358,
"percent_delta": 0.7724,
"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.5642,
"after": 1.0,
"delta": 0.4358,
"percent_delta": 0.7724,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.486,
"after": 0.0,
"delta": -0.486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3717,
"after": 0.0,
"delta": -0.3717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3717,
"after": 0.0,
"delta": -0.3717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2471,
"after": 0.333,
"delta": 0.0859,
"percent_delta": 0.3476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3083,
"after": 0.333,
"delta": 0.0247,
"percent_delta": 0.0801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4729,
"after": 0.333,
"delta": -0.1399,
"percent_delta": -0.2958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2471,
"after": 0.333,
"delta": 0.0859,
"percent_delta": 0.3476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4729,
"after": 0.333,
"delta": -0.1399,
"percent_delta": -0.2958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2471,
"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.3083,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4729,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2471,
"delta": -0.0859,
"percent_delta": -0.258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3083,
"delta": -0.0247,
"percent_delta": -0.0741,
"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.4729,
"delta": 0.1399,
"percent_delta": 0.4202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4729,
"delta": 0.1399,
"percent_delta": 0.4202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2471,
"delta": -0.0859,
"percent_delta": -0.258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 1.0,
"delta": 0.778,
"percent_delta": 3.5045,
"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.16,
"after": 4.0,
"delta": 0.84,
"percent_delta": 0.2658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2471,
"delta": -0.0029,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 1.0,
"delta": 0.21,
"percent_delta": 0.2658,
"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.307,
"after": 0.3083,
"delta": 0.0013,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.389,
"after": 1.0,
"delta": 0.611,
"percent_delta": 1.5707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.447,
"after": 0.4729,
"delta": 0.0259,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"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_AB",
"before": 3.16,
"after": 4.0,
"delta": 0.84,
"percent_delta": 0.2658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"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.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.160 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.278 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.389 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.447 | - |
| predicted_SO | 0.556 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | -0.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.117 | -0.043 |
| predicted_AVG | 0.249 | -0.001 |
| predicted_BB | 0.276 | -0.002 |
| predicted_H | 0.777 | -0.013 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.167 | 0.007 |
| predicted_OBP | 0.306 | -0.001 |
| predicted_R | 0.378 | -0.011 |
| predicted_RBI | 0.495 | 0.005 |
| predicted_SLG | 0.460 | 0.013 |
| predicted_SO | 0.563 | 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.203 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.117 | 0.000 |
| predicted_AVG | 0.247 | -0.002 |
| predicted_BB | 0.276 | -0.001 |
| predicted_H | 0.770 | -0.007 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.167 | -0.000 |
| predicted_OBP | 0.308 | 0.002 |
| predicted_R | 0.372 | -0.007 |
| predicted_RBI | 0.486 | -0.009 |
| predicted_SLG | 0.473 | 0.013 |
| predicted_SO | 0.564 | 0.001 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.244 HR/AB=0.053
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.203 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.117 |
| predicted_AVG | 0.333 | 0.086 |
| predicted_BB | 0.000 | -0.276 |
| predicted_H | 1.000 | 0.230 |
| predicted_HR | 0.000 | -0.167 |
| predicted_OBP | 0.333 | 0.025 |
| predicted_R | 0.000 | -0.372 |
| predicted_RBI | 0.000 | -0.486 |
| predicted_SLG | 0.333 | -0.140 |
| 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 | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 2.000 | 0.1667 | 0.2143 | 0.4167 | 0.1667 | 0.0833 | 0.2500 | 0.0833 | 0.1667 |
| last_10 | 0.20 | 10 | - | 29.000 | 10.000 | 2.000 | 0.000 | 2.000 | 4.000 | 3.000 | 3.000 | 5.000 | 0.3448 | 0.3939 | 0.6207 | 0.3448 | 0.0690 | 0.1379 | 0.1035 | 0.1724 |
| season | 0.60 | 36 | - | 107.000 | 26.000 | 8.000 | 0.000 | 6.000 | 17.000 | 14.000 | 10.000 | 20.000 | 0.2430 | 0.3025 | 0.4860 | 0.2430 | 0.0561 | 0.1589 | 0.0935 | 0.1869 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0490 |
| predicted_AVG | 0.2486 |
| predicted_BB | 0.2740 |
| predicted_H | 0.7580 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1770 |
| predicted_OBP | 0.3052 |
| predicted_R | 0.3620 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.4812 |
| predicted_SO | 0.5740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.1730 | 0.2028 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1600 | 3.0490 | 3.1166 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2486 | 0.2495 | model_form_blend |
| predicted_BB | 0.2780 | 0.2740 | 0.2764 | model_form_blend |
| predicted_H | 0.7900 | 0.7580 | 0.7775 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1600 | 0.1770 | 0.1666 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3052 | 0.3063 | model_form_blend |
| predicted_R | 0.3890 | 0.3620 | 0.3784 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5020 | 0.4947 | model_form_blend |
| predicted_SLG | 0.4470 | 0.4812 | 0.4604 | model_form_blend |
| predicted_SO | 0.5560 | 0.5740 | 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 | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 36 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-3B |
| gameID | 20260624_OAK@SF |
| game_type | ph |
| mlbID | 641680 |
| note | Flied out for Wilson, J in the 9th. |
| playerID | 641680 |
| playerName | Jonah Heim |
| pos | C |
| started | False |
| startingPosition | PH |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.337 |
| sl_xwoba | 0.293 |
| sl_xba | 0.233 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 28.1 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 48.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.158 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.053 | 0.000 | 0.000 | Hitting_3B | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_AB | 3.316 | 4.000 | 3.000 | Hitting_AB | 3.610 | 3.000 | 0.390 | 1.000 |
| predicted_AVG | 0.238 | 0.500 | 0.333 | Hitting_AVG | 0.242 | 0.333 | 0.258 | 0.167 |
| predicted_BB | 0.237 | 0.000 | 0.000 | Hitting_BB | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.780 | 2.000 | 1.000 | Hitting_H | 0.873 | 1.000 | 1.127 | 1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.093 | 1.000 | -0.093 | -1.000 |
| predicted_OBP | 0.301 | 0.500 | 0.333 | Hitting_OBP | 0.301 | 0.333 | 0.199 | 0.167 |
| predicted_R | 0.526 | 1.000 | 0.000 | Hitting_R | 0.585 | 1.000 | 0.415 | 0.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.347 | 1.000 | -0.347 | -1.000 |
| predicted_SLG | 0.453 | 0.500 | 0.333 | Hitting_SLG | 0.418 | 1.333 | 0.082 | -0.833 |
| predicted_SO | 1.211 | 0.000 | 1.000 | Hitting_SO | 1.381 | 2.000 | -1.381 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 8 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.7800 -> 2.0000 (boost 1.2200, better) |
| Biggest Deboost | predicted_SO: 1.2110 -> 0.0000 (deboost -1.2110, 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 | 2 | 0 | predicted_SLG: 0.4530 -> 0.4684 (boost 0.0154, better) | predicted_SO: 1.2110 -> 1.1408 (deboost -0.0702, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4684 -> 0.4807 (boost 0.0123, better) | predicted_OBP: 0.2999 -> 0.2862 (deboost -0.0137, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_RBI: 0.5913 -> 1.0000 (boost 0.4087, better) | predicted_AB: 3.2729 -> 3.0000 (deboost -0.2729, worse) | AB rounded to 3 (raw=3.32), rates preserved: AVG=0.228 HR/AB=0.059 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4995 -> 0.0000 (deboost -0.4995, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2315 -> 0.3330 (boost 0.1015, better) | predicted_SLG: 0.4807 -> 0.3330 (deboost -0.1477, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4807 (boost 0.1477, better) | predicted_AVG: 0.3330 -> 0.2315 (deboost -0.1015, 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.158,
"predicted_3B": 0.053,
"predicted_AB": 3.316,
"predicted_AVG": 0.238,
"predicted_BB": 0.237,
"predicted_H": 0.78,
"predicted_HR": 0.18,
"predicted_OBP": 0.301,
"predicted_R": 0.526,
"predicted_RBI": 0.58,
"predicted_SLG": 0.453,
"predicted_SO": 1.211
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.144,
"predicted_3B": 0.0426,
"predicted_AB": 3.2729,
"predicted_AVG": 0.2353,
"predicted_BB": 0.2514,
"predicted_H": 0.7648,
"predicted_HBP": 0.056,
"predicted_HR": 0.1956,
"predicted_OBP": 0.2999,
"predicted_R": 0.5084,
"predicted_RBI": 0.6019,
"predicted_SLG": 0.4684,
"predicted_SO": 1.1408
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.144,
"delta": -0.014,
"percent_delta": -0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.053,
"after": 0.0426,
"delta": -0.0104,
"percent_delta": -0.1962,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.316,
"after": 3.2729,
"delta": -0.0431,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2353,
"delta": -0.0027,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.237,
"after": 0.2514,
"delta": 0.0144,
"percent_delta": 0.0608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7648,
"delta": -0.0152,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1956,
"delta": 0.0156,
"percent_delta": 0.0867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2999,
"delta": -0.0011,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 0.5084,
"delta": -0.0176,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.6019,
"delta": 0.0219,
"percent_delta": 0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4684,
"delta": 0.0154,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.211,
"after": 1.1408,
"delta": -0.0702,
"percent_delta": -0.058,
"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_SLG",
"before": 0.453,
"after": 0.4684,
"delta": 0.0154,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.211,
"after": 1.1408,
"delta": -0.0702,
"percent_delta": -0.058,
"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": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.144,
"predicted_3B": 0.0426,
"predicted_AB": 3.2729,
"predicted_AVG": 0.2315,
"predicted_BB": 0.2508,
"predicted_H": 0.7575,
"predicted_HBP": 0.056,
"predicted_HR": 0.1955,
"predicted_OBP": 0.2862,
"predicted_R": 0.4995,
"predicted_RBI": 0.5913,
"predicted_SLG": 0.4807,
"predicted_SO": 1.1433
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.144,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0426,
"after": 0.0426,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2729,
"after": 3.2729,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2353,
"after": 0.2315,
"delta": -0.0038,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2514,
"after": 0.2508,
"delta": -0.0006,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7648,
"after": 0.7575,
"delta": -0.0073,
"percent_delta": -0.0095,
"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.1956,
"after": 0.1955,
"delta": -0.0001,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2999,
"after": 0.2862,
"delta": -0.0137,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5084,
"after": 0.4995,
"delta": -0.0089,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6019,
"after": 0.5913,
"delta": -0.0106,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4684,
"after": 0.4807,
"delta": 0.0123,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1408,
"after": 1.1433,
"delta": 0.0025,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4684,
"after": 0.4807,
"delta": 0.0123,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2999,
"after": 0.2862,
"delta": -0.0137,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.32), rates preserved: AVG=0.228 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0426,
"after": 0.0,
"delta": -0.0426,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2729,
"after": 3.0,
"delta": -0.2729,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2508,
"after": 0.0,
"delta": -0.2508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7575,
"after": 1.0,
"delta": 0.2425,
"percent_delta": 0.3201,
"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.1955,
"after": 0.0,
"delta": -0.1955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5913,
"after": 1.0,
"delta": 0.4087,
"percent_delta": 0.6912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1433,
"after": 1.0,
"delta": -0.1433,
"percent_delta": -0.1253,
"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.5913,
"after": 1.0,
"delta": 0.4087,
"percent_delta": 0.6912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.2729,
"after": 3.0,
"delta": -0.2729,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4995,
"after": 0.0,
"delta": -0.4995,
"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.4995,
"after": 0.0,
"delta": -0.4995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2315,
"after": 0.333,
"delta": 0.1015,
"percent_delta": 0.4384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0468,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4807,
"after": 0.333,
"delta": -0.1477,
"percent_delta": -0.3073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2315,
"after": 0.333,
"delta": 0.1015,
"percent_delta": 0.4384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4807,
"after": 0.333,
"delta": -0.1477,
"percent_delta": -0.3073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2315,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2862,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4807,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2315,
"delta": -0.1015,
"percent_delta": -0.3049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.2862,
"delta": -0.0468,
"percent_delta": -0.1406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4807,
"delta": 0.1477,
"percent_delta": 0.4434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4807,
"delta": 0.1477,
"percent_delta": 0.4434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2315,
"delta": -0.1015,
"percent_delta": -0.3049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.316,
"after": 4.0,
"delta": 0.684,
"percent_delta": 0.2063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2315,
"delta": -0.0065,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.237,
"after": 0.0,
"delta": -0.237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2862,
"delta": -0.0148,
"percent_delta": -0.0492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 1.0,
"delta": 0.474,
"percent_delta": 0.9011,
"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.453,
"after": 0.4807,
"delta": 0.0277,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.211,
"after": 0.0,
"delta": -1.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 4,
"deboosted_metrics": 8,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.211,
"after": 0.0,
"delta": -1.211,
"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.158 | - |
| predicted_3B | 0.053 | - |
| predicted_AB | 3.316 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.237 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.526 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.453 | - |
| predicted_SO | 1.211 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.043 | -0.010 |
| predicted_AB | 3.273 | -0.043 |
| predicted_AVG | 0.235 | -0.003 |
| predicted_BB | 0.251 | 0.014 |
| predicted_H | 0.765 | -0.015 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.196 | 0.016 |
| predicted_OBP | 0.300 | -0.001 |
| predicted_R | 0.508 | -0.018 |
| predicted_RBI | 0.602 | 0.022 |
| predicted_SLG | 0.468 | 0.015 |
| predicted_SO | 1.141 | -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.144 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.273 | 0.000 |
| predicted_AVG | 0.232 | -0.004 |
| predicted_BB | 0.251 | -0.001 |
| predicted_H | 0.757 | -0.007 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.196 | -0.000 |
| predicted_OBP | 0.286 | -0.014 |
| predicted_R | 0.499 | -0.009 |
| predicted_RBI | 0.591 | -0.011 |
| predicted_SLG | 0.481 | 0.012 |
| predicted_SO | 1.143 | 0.002 |
AB rounded to 3 (raw=3.32), rates preserved: AVG=0.228 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.144 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 3.000 | -0.273 |
| predicted_AVG | 0.333 | 0.102 |
| predicted_BB | 0.000 | -0.251 |
| predicted_H | 1.000 | 0.243 |
| predicted_HR | 0.000 | -0.196 |
| predicted_OBP | 0.333 | 0.047 |
| predicted_R | 0.000 | -0.499 |
| predicted_RBI | 1.000 | 0.409 |
| predicted_SLG | 0.333 | -0.148 |
| predicted_SO | 1.000 | -0.143 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 2.000 | 5.000 | 0.2143 | 0.3125 | 0.6429 | 0.2143 | 0.1429 | 0.2857 | 0.1429 | 0.3571 |
| last_10 | 0.20 | 10 | - | 26.000 | 6.000 | 1.000 | 0.000 | 3.000 | 9.000 | 4.000 | 2.000 | 7.000 | 0.2308 | 0.2759 | 0.6154 | 0.2308 | 0.1154 | 0.3462 | 0.0769 | 0.2692 |
| season | 0.60 | 38 | - | 126.000 | 29.000 | 6.000 | 2.000 | 5.000 | 18.000 | 20.000 | 9.000 | 46.000 | 0.2302 | 0.2958 | 0.4286 | 0.2302 | 0.0397 | 0.1429 | 0.0714 | 0.3651 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1230 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.2080 |
| predicted_AVG | 0.2312 |
| predicted_BB | 0.2730 |
| predicted_H | 0.7420 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.2190 |
| predicted_OBP | 0.2983 |
| predicted_R | 0.4820 |
| predicted_RBI | 0.6350 |
| predicted_SLG | 0.4916 |
| predicted_SO | 1.0350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1580 | 0.1230 | 0.1440 | model_form_blend |
| predicted_3B | 0.0530 | 0.0270 | 0.0426 | model_form_blend |
| predicted_AB | 3.3160 | 3.2080 | 3.2729 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2312 | 0.2353 | model_form_blend |
| predicted_BB | 0.2370 | 0.2730 | 0.2514 | model_form_blend |
| predicted_H | 0.7800 | 0.7420 | 0.7648 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.1800 | 0.2190 | 0.1956 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2983 | 0.2999 | model_form_blend |
| predicted_R | 0.5260 | 0.4820 | 0.5084 | model_form_blend |
| predicted_RBI | 0.5800 | 0.6350 | 0.6019 | model_form_blend |
| predicted_SLG | 0.4530 | 0.4916 | 0.4684 | model_form_blend |
| predicted_SO | 1.2110 | 1.0350 | 1.1408 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 118 |
| Season rows before report date | 118 |
| Report year | 2026 |
| Profile rows used | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B-SS |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 691777 |
| playerID | 691777 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 32.4 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.314 |
| sl_xwoba | 0.304 |
| sl_xba | 0.224 |
| sl_xslg | 0.404 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 51.8 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 32.1 |
| 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.091 | 0.000 | 0.000 | Hitting_2B | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.924 | 4.000 | 3.000 | Hitting_AB | 3.226 | 3.000 | 0.774 | 1.000 |
| predicted_AVG | 0.252 | 0.000 | 0.333 | Hitting_AVG | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_BB | 0.318 | 0.000 | 0.000 | Hitting_BB | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 0.690 | 0.000 | 1.000 | Hitting_H | 0.597 | 0.000 | -0.597 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.300 | 0.000 | 0.333 | Hitting_OBP | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_R | 0.379 | 0.000 | 0.000 | Hitting_R | 0.425 | 0.000 | -0.425 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SLG | 0.380 | 0.000 | 0.333 | Hitting_SLG | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_SO | 0.879 | 1.000 | 1.000 | Hitting_SO | 0.935 | 2.000 | 0.065 | -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.9240 -> 4.0000 (boost 1.0760, better) |
| Biggest Deboost | predicted_H: 0.6900 -> 0.0000 (deboost -0.6900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 1 | 2 | predicted_R: 0.3790 -> 0.4498 (boost 0.0708, better) | predicted_AVG: 0.2520 -> 0.2428 (deboost -0.0092, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2428 -> 0.2311 (deboost -0.0117, 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.6842 -> 1.0000 (boost 0.3158, better) | predicted_RBI: 0.3332 -> 0.0000 (deboost -0.3332, worse) | AB rounded to 3 (raw=2.96), rates preserved: AVG=0.231 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4419 -> 0.0000 (deboost -0.4419, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2311 -> 0.3330 (boost 0.1019, better) | predicted_SLG: 0.3718 -> 0.3330 (deboost -0.0388, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3718 (boost 0.0388, better) | predicted_AVG: 0.3330 -> 0.2311 (deboost -0.1019, worse) | 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.091,
"predicted_3B": 0.0,
"predicted_AB": 2.924,
"predicted_AVG": 0.252,
"predicted_BB": 0.318,
"predicted_H": 0.69,
"predicted_HR": 0.1,
"predicted_OBP": 0.3,
"predicted_R": 0.379,
"predicted_RBI": 0.35,
"predicted_SLG": 0.38,
"predicted_SO": 0.879
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1038,
"predicted_3B": 0.0004,
"predicted_AB": 2.9613,
"predicted_AVG": 0.2428,
"predicted_BB": 0.3002,
"predicted_H": 0.6908,
"predicted_HBP": 0.003,
"predicted_HR": 0.1041,
"predicted_OBP": 0.2983,
"predicted_R": 0.4498,
"predicted_RBI": 0.3392,
"predicted_SLG": 0.3802,
"predicted_SO": 0.9312
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.1038,
"delta": 0.0128,
"percent_delta": 0.1407,
"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.924,
"after": 2.9613,
"delta": 0.0373,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2428,
"delta": -0.0092,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 0.3002,
"delta": -0.0178,
"percent_delta": -0.056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.6908,
"delta": 0.0008,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1041,
"delta": 0.0041,
"percent_delta": 0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2983,
"delta": -0.0017,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.379,
"after": 0.4498,
"delta": 0.0708,
"percent_delta": 0.1868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3392,
"delta": -0.0108,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3802,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.879,
"after": 0.9312,
"delta": 0.0522,
"percent_delta": 0.0594,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.379,
"after": 0.4498,
"delta": 0.0708,
"percent_delta": 0.1868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2428,
"delta": -0.0092,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1038,
"predicted_3B": 0.0004,
"predicted_AB": 2.9613,
"predicted_AVG": 0.2311,
"predicted_BB": 0.2995,
"predicted_H": 0.6842,
"predicted_HBP": 0.003,
"predicted_HR": 0.104,
"predicted_OBP": 0.3017,
"predicted_R": 0.4419,
"predicted_RBI": 0.3332,
"predicted_SLG": 0.3718,
"predicted_SO": 0.9332
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1038,
"after": 0.1038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9613,
"after": 2.9613,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2428,
"after": 0.2311,
"delta": -0.0117,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3002,
"after": 0.2995,
"delta": -0.0007,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6908,
"after": 0.6842,
"delta": -0.0066,
"percent_delta": -0.0096,
"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.1041,
"after": 0.104,
"delta": -0.0001,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2983,
"after": 0.3017,
"delta": 0.0034,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4498,
"after": 0.4419,
"delta": -0.0079,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3392,
"after": 0.3332,
"delta": -0.006,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3802,
"after": 0.3718,
"delta": -0.0084,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9312,
"after": 0.9332,
"delta": 0.002,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2428,
"after": 0.2311,
"delta": -0.0117,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.96), rates preserved: AVG=0.231 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.1038,
"after": 0.0,
"delta": -0.1038,
"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.9613,
"after": 3.0,
"delta": 0.0387,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2995,
"after": 0.0,
"delta": -0.2995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6842,
"after": 1.0,
"delta": 0.3158,
"percent_delta": 0.4616,
"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.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3332,
"after": 0.0,
"delta": -0.3332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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_H",
"before": 0.6842,
"after": 1.0,
"delta": 0.3158,
"percent_delta": 0.4616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3332,
"after": 0.0,
"delta": -0.3332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4419,
"after": 0.0,
"delta": -0.4419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4419,
"after": 0.0,
"delta": -0.4419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2311,
"after": 0.333,
"delta": 0.1019,
"percent_delta": 0.4409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3017,
"after": 0.333,
"delta": 0.0313,
"percent_delta": 0.1037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3718,
"after": 0.333,
"delta": -0.0388,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2311,
"after": 0.333,
"delta": 0.1019,
"percent_delta": 0.4409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3718,
"after": 0.333,
"delta": -0.0388,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2311,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3017,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3718,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2311,
"delta": -0.1019,
"percent_delta": -0.3061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3017,
"delta": -0.0313,
"percent_delta": -0.094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3718,
"delta": 0.0388,
"percent_delta": 0.1164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3718,
"delta": 0.0388,
"percent_delta": 0.1164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2311,
"delta": -0.1019,
"percent_delta": -0.3061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.924,
"after": 4.0,
"delta": 1.076,
"percent_delta": 0.368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2311,
"delta": -0.0209,
"percent_delta": -0.0829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 0.0,
"delta": -0.318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.3,
"after": 0.3017,
"delta": 0.0017,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3718,
"delta": -0.0082,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.879,
"after": 1.0,
"delta": 0.121,
"percent_delta": 0.1377,
"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.924,
"after": 4.0,
"delta": 1.076,
"percent_delta": 0.368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.924 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.318 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.379 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.380 | - |
| predicted_SO | 0.879 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.013 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.961 | 0.037 |
| predicted_AVG | 0.243 | -0.009 |
| predicted_BB | 0.300 | -0.018 |
| predicted_H | 0.691 | 0.001 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.104 | 0.004 |
| predicted_OBP | 0.298 | -0.002 |
| predicted_R | 0.450 | 0.071 |
| predicted_RBI | 0.339 | -0.011 |
| predicted_SLG | 0.380 | 0.000 |
| predicted_SO | 0.931 | 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.104 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.961 | 0.000 |
| predicted_AVG | 0.231 | -0.012 |
| predicted_BB | 0.299 | -0.001 |
| predicted_H | 0.684 | -0.007 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.104 | -0.000 |
| predicted_OBP | 0.302 | 0.003 |
| predicted_R | 0.442 | -0.008 |
| predicted_RBI | 0.333 | -0.006 |
| predicted_SLG | 0.372 | -0.008 |
| predicted_SO | 0.933 | 0.002 |
AB rounded to 3 (raw=2.96), rates preserved: AVG=0.231 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.104 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.039 |
| predicted_AVG | 0.333 | 0.102 |
| predicted_BB | 0.000 | -0.299 |
| predicted_H | 1.000 | 0.316 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.333 | 0.031 |
| predicted_R | 0.000 | -0.442 |
| predicted_RBI | 0.000 | -0.333 |
| predicted_SLG | 0.333 | -0.039 |
| 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 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 1.000 | 7.000 | 0.2143 | 0.2667 | 0.4286 | 0.2143 | 0.0714 | 0.0714 | 0.0714 | 0.5000 |
| last_10 | 0.20 | 10 | - | 29.000 | 10.000 | 3.000 | 0.000 | 1.000 | 4.000 | 8.000 | 2.000 | 10.000 | 0.3448 | 0.3871 | 0.5517 | 0.3448 | 0.0345 | 0.1379 | 0.0690 | 0.3448 |
| season | 0.60 | 66 | - | 193.000 | 37.000 | 6.000 | 0.000 | 5.000 | 20.000 | 25.000 | 21.000 | 58.000 | 0.1917 | 0.2710 | 0.3005 | 0.1917 | 0.0259 | 0.1036 | 0.1088 | 0.3005 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0140 |
| predicted_AVG | 0.2298 |
| predicted_BB | 0.2750 |
| predicted_H | 0.6920 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1100 |
| predicted_OBP | 0.2958 |
| predicted_R | 0.5500 |
| predicted_RBI | 0.3240 |
| predicted_SLG | 0.3805 |
| predicted_SO | 1.0050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.1220 | 0.1038 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.9240 | 3.0140 | 2.9613 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2298 | 0.2428 | model_form_blend |
| predicted_BB | 0.3180 | 0.2750 | 0.3002 | model_form_blend |
| predicted_H | 0.6900 | 0.6920 | 0.6908 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1000 | 0.1100 | 0.1041 | model_form_blend |
| predicted_OBP | 0.3000 | 0.2958 | 0.2983 | model_form_blend |
| predicted_R | 0.3790 | 0.5500 | 0.4498 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3240 | 0.3392 | model_form_blend |
| predicted_SLG | 0.3800 | 0.3805 | 0.3802 | model_form_blend |
| predicted_SO | 0.8790 | 1.0050 | 0.9312 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 186 |
| Season rows before report date | 186 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.192 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 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 | 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 | 20260624_OAK@SF |
| game_type | full |
| mlbID | 671732 |
| playerID | 671732 |
| playerName | Lawrence Butler |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.26 |
| sl_xwoba | 0.306 |
| sl_xba | 0.243 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 3.7 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.139 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.167 | 3.000 | 3.000 | Hitting_AB | 3.421 | 3.000 | -0.421 | 0.000 |
| predicted_AVG | 0.235 | 0.333 | 0.333 | Hitting_AVG | 0.259 | 0.000 | 0.075 | 0.333 |
| predicted_BB | 0.292 | 1.000 | 0.000 | Hitting_BB | 0.330 | 0.000 | 0.670 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.690 | 1.000 | 1.000 | Hitting_H | 0.885 | 0.000 | 0.115 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_OBP | 0.270 | 0.500 | 0.333 | Hitting_OBP | 0.329 | 0.000 | 0.171 | 0.500 |
| predicted_R | 0.264 | 0.000 | 0.000 | Hitting_R | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_SLG | 0.332 | 0.333 | 0.333 | Hitting_SLG | 0.338 | 0.000 | -0.005 | 0.333 |
| predicted_SO | 0.486 | 1.000 | 0.000 | Hitting_SO | 0.498 | 0.000 | 0.502 | 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_BB: 0.2920 -> 1.0000 (boost 0.7080, better) |
| Biggest Deboost | predicted_RBI: 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 | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 3.1670 -> 3.0757 (deboost -0.0913, worse) | Final model input calibrated with local 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.2636 -> 0.2702 (boost 0.0066, better) | predicted_AVG: 0.2207 -> 0.2090 (deboost -0.0117, 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.6427 -> 1.0000 (boost 0.3573, better) | predicted_SO: 0.4606 -> 0.0000 (deboost -0.4606, better) | AB rounded to 3 (raw=3.17), rates preserved: AVG=0.203 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2565 -> 0.0000 (deboost -0.2565, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2090 -> 0.3330 (boost 0.1240, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2090 (deboost -0.1240, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643446",
"player_name": "Jeff McNeil",
"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.139,
"predicted_3B": 0.0,
"predicted_AB": 3.167,
"predicted_AVG": 0.235,
"predicted_BB": 0.292,
"predicted_H": 0.69,
"predicted_HR": 0.07,
"predicted_OBP": 0.27,
"predicted_R": 0.264,
"predicted_RBI": 0.31,
"predicted_SLG": 0.332,
"predicted_SO": 0.486
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1453,
"predicted_3B": 0.0004,
"predicted_AB": 3.0757,
"predicted_AVG": 0.2207,
"predicted_BB": 0.2585,
"predicted_H": 0.6489,
"predicted_HBP": 0.017,
"predicted_HR": 0.0629,
"predicted_OBP": 0.2636,
"predicted_R": 0.2611,
"predicted_RBI": 0.2878,
"predicted_SLG": 0.3217,
"predicted_SO": 0.4596
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.139,
"after": 0.1453,
"delta": 0.0063,
"percent_delta": 0.0453,
"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.167,
"after": 3.0757,
"delta": -0.0913,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2207,
"delta": -0.0143,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.2585,
"delta": -0.0335,
"percent_delta": -0.1147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.6489,
"delta": -0.0411,
"percent_delta": -0.0596,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0629,
"delta": -0.0071,
"percent_delta": -0.1014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2636,
"delta": -0.0064,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.264,
"after": 0.2611,
"delta": -0.0029,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.2878,
"delta": -0.0222,
"percent_delta": -0.0716,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3217,
"delta": -0.0103,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.486,
"after": 0.4596,
"delta": -0.0264,
"percent_delta": -0.0543,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.167,
"after": 3.0757,
"delta": -0.0913,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1453,
"predicted_3B": 0.0004,
"predicted_AB": 3.0757,
"predicted_AVG": 0.209,
"predicted_BB": 0.2579,
"predicted_H": 0.6427,
"predicted_HBP": 0.017,
"predicted_HR": 0.0629,
"predicted_OBP": 0.2702,
"predicted_R": 0.2565,
"predicted_RBI": 0.2827,
"predicted_SLG": 0.3178,
"predicted_SO": 0.4606
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1453,
"after": 0.1453,
"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.0757,
"after": 3.0757,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.209,
"delta": -0.0117,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2585,
"after": 0.2579,
"delta": -0.0006,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6489,
"after": 0.6427,
"delta": -0.0062,
"percent_delta": -0.0096,
"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.0629,
"after": 0.0629,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2636,
"after": 0.2702,
"delta": 0.0066,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2611,
"after": 0.2565,
"delta": -0.0046,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2878,
"after": 0.2827,
"delta": -0.0051,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3217,
"after": 0.3178,
"delta": -0.0039,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4596,
"after": 0.4606,
"delta": 0.001,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2636,
"after": 0.2702,
"delta": 0.0066,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.209,
"delta": -0.0117,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.17), rates preserved: AVG=0.203 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.1453,
"after": 0.0,
"delta": -0.1453,
"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.0757,
"after": 3.0,
"delta": -0.0757,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2579,
"after": 0.0,
"delta": -0.2579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6427,
"after": 1.0,
"delta": 0.3573,
"percent_delta": 0.5559,
"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.0629,
"after": 0.0,
"delta": -0.0629,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2827,
"after": 0.0,
"delta": -0.2827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4606,
"after": 0.0,
"delta": -0.4606,
"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.6427,
"after": 1.0,
"delta": 0.3573,
"percent_delta": 0.5559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4606,
"after": 0.0,
"delta": -0.4606,
"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.2565,
"after": 0.0,
"delta": -0.2565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.2565,
"after": 0.0,
"delta": -0.2565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.333,
"delta": 0.124,
"percent_delta": 0.5933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2702,
"after": 0.333,
"delta": 0.0628,
"percent_delta": 0.2324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3178,
"after": 0.333,
"delta": 0.0152,
"percent_delta": 0.0478,
"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.209,
"after": 0.333,
"delta": 0.124,
"percent_delta": 0.5933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.209,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2702,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3178,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.209,
"delta": -0.124,
"percent_delta": -0.3725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2702,
"delta": -0.0628,
"percent_delta": -0.1887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3178,
"delta": -0.0152,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.209,
"delta": -0.124,
"percent_delta": -0.3725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.167,
"after": 3.0,
"delta": -0.167,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.209,
"delta": -0.026,
"percent_delta": -0.1106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 1.0,
"delta": 0.708,
"percent_delta": 2.4247,
"direction": "boost",
"projection_effect": "better",
"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.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2702,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.264,
"after": 0.0,
"delta": -0.264,
"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.332,
"after": 0.3178,
"delta": -0.0142,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.486,
"after": 1.0,
"delta": 0.514,
"percent_delta": 1.0576,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.292,
"after": 1.0,
"delta": 0.708,
"percent_delta": 2.4247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": "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.000 | - |
| predicted_AB | 3.167 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.292 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.270 | - |
| predicted_R | 0.264 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.332 | - |
| predicted_SO | 0.486 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.006 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.076 | -0.091 |
| predicted_AVG | 0.221 | -0.014 |
| predicted_BB | 0.259 | -0.033 |
| predicted_H | 0.649 | -0.041 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.063 | -0.007 |
| predicted_OBP | 0.264 | -0.006 |
| predicted_R | 0.261 | -0.003 |
| predicted_RBI | 0.288 | -0.022 |
| predicted_SLG | 0.322 | -0.010 |
| predicted_SO | 0.460 | -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.145 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.076 | 0.000 |
| predicted_AVG | 0.209 | -0.012 |
| predicted_BB | 0.258 | -0.001 |
| predicted_H | 0.643 | -0.006 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.063 | 0.000 |
| predicted_OBP | 0.270 | 0.007 |
| predicted_R | 0.257 | -0.005 |
| predicted_RBI | 0.283 | -0.005 |
| predicted_SLG | 0.318 | -0.004 |
| predicted_SO | 0.461 | 0.001 |
AB rounded to 3 (raw=3.17), rates preserved: AVG=0.203 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 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.145 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.076 |
| predicted_AVG | 0.333 | 0.124 |
| predicted_BB | 0.000 | -0.258 |
| predicted_H | 1.000 | 0.357 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.333 | 0.063 |
| predicted_R | 0.000 | -0.257 |
| predicted_RBI | 0.000 | -0.283 |
| predicted_SLG | 0.333 | 0.015 |
| predicted_SO | 0.000 | -0.461 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.0909 | 0.0909 | 0.1818 | 0.0909 | 0.0000 | 0.0000 | 0.0000 | 0.0909 |
| last_10 | 0.20 | 10 | - | 25.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 3.000 | 0.2000 | 0.2593 | 0.3600 | 0.2000 | 0.0400 | 0.1600 | 0.0800 | 0.1200 |
| season | 0.60 | 72 | - | 228.000 | 52.000 | 10.000 | 0.000 | 3.000 | 19.000 | 19.000 | 21.000 | 35.000 | 0.2281 | 0.2964 | 0.3114 | 0.2281 | 0.0132 | 0.0833 | 0.0921 | 0.1535 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1540 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.9490 |
| predicted_AVG | 0.2009 |
| predicted_BB | 0.2120 |
| predicted_H | 0.5920 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.2548 |
| predicted_R | 0.2570 |
| predicted_RBI | 0.2570 |
| predicted_SLG | 0.3074 |
| predicted_SO | 0.4230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1390 | 0.1540 | 0.1453 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1670 | 2.9490 | 3.0757 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2009 | 0.2207 | model_form_blend |
| predicted_BB | 0.2920 | 0.2120 | 0.2585 | model_form_blend |
| predicted_H | 0.6900 | 0.5920 | 0.6489 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0700 | 0.0530 | 0.0629 | model_form_blend |
| predicted_OBP | 0.2700 | 0.2548 | 0.2636 | model_form_blend |
| predicted_R | 0.2640 | 0.2570 | 0.2611 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2570 | 0.2878 | model_form_blend |
| predicted_SLG | 0.3320 | 0.3074 | 0.3217 | model_form_blend |
| predicted_SO | 0.4860 | 0.4230 | 0.4596 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 209 |
| Season rows before report date | 209 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.228 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2B |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 643446 |
| playerID | 643446 |
| playerName | Jeff McNeil |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 13.7 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.276 |
| sl_xwoba | 0.301 |
| sl_xba | 0.264 |
| sl_xslg | 0.34 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 1.0 |
| sl_hard_hit_percent | 30.6 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 54.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.312 | 0.000 | 0.000 | Hitting_2B | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.812 | 3.000 | 3.000 | Hitting_AB | 2.192 | 1.000 | 0.808 | 2.000 |
| predicted_AVG | 0.290 | 0.333 | 0.333 | Hitting_AVG | 0.281 | 0.000 | 0.053 | 0.333 |
| predicted_BB | 0.125 | 0.000 | 0.000 | Hitting_BB | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_H | 0.210 | 1.000 | 1.000 | Hitting_H | 0.615 | 0.000 | 0.385 | 1.000 |
| predicted_HR | 0.030 | 1.000 | 0.000 | Hitting_HR | 0.038 | 0.000 | 0.962 | 1.000 |
| predicted_OBP | 0.315 | 0.333 | 0.333 | Hitting_OBP | 0.305 | 0.000 | 0.028 | 0.333 |
| predicted_R | 0.375 | 1.000 | 0.000 | Hitting_R | 0.231 | 0.000 | 0.769 | 1.000 |
| predicted_RBI | 0.130 | 2.000 | 0.000 | Hitting_RBI | 0.308 | 0.000 | 1.692 | 2.000 |
| predicted_SLG | 0.440 | 1.333 | 0.333 | Hitting_SLG | 0.421 | 0.000 | 0.912 | 1.333 |
| predicted_SO | 0.812 | 0.000 | 1.000 | Hitting_SO | 0.615 | 1.000 | -0.615 | -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.1300 -> 2.0000 (boost 1.8700, better) |
| Biggest Deboost | predicted_SO: 0.8120 -> 0.0000 (deboost -0.8120, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_H: 0.2100 -> 0.4711 (boost 0.2611, 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.4592 -> 0.3186 (deboost -0.1406, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.8061 -> 1.0000 (boost 0.1939, worse) | predicted_H: 0.4666 -> 0.0000 (deboost -0.4666, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.158 HR/AB=0.016 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3922 -> 0.0000 (deboost -0.3922, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1585 -> 0.3330 (boost 0.1745, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1585 (deboost -0.1745, 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.312,
"predicted_3B": 0.0,
"predicted_AB": 2.812,
"predicted_AVG": 0.29,
"predicted_BB": 0.125,
"predicted_H": 0.21,
"predicted_HR": 0.03,
"predicted_OBP": 0.315,
"predicted_R": 0.375,
"predicted_RBI": 0.13,
"predicted_SLG": 0.44,
"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.3258,
"predicted_3B": 0.0017,
"predicted_AB": 2.9447,
"predicted_AVG": 0.296,
"predicted_BB": 0.1522,
"predicted_H": 0.4711,
"predicted_HBP": 0.011,
"predicted_HR": 0.0475,
"predicted_OBP": 0.3277,
"predicted_R": 0.3992,
"predicted_RBI": 0.209,
"predicted_SLG": 0.4592,
"predicted_SO": 0.8043
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.312,
"after": 0.3258,
"delta": 0.0138,
"percent_delta": 0.0442,
"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.812,
"after": 2.9447,
"delta": 0.1327,
"percent_delta": 0.0472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.296,
"delta": 0.006,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.1522,
"delta": 0.0272,
"percent_delta": 0.2176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 0.4711,
"delta": 0.2611,
"percent_delta": 1.2433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0475,
"delta": 0.0175,
"percent_delta": 0.5833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3277,
"delta": 0.0127,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.3992,
"delta": 0.0242,
"percent_delta": 0.0645,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.209,
"delta": 0.079,
"percent_delta": 0.6077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4592,
"delta": 0.0192,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 0.8043,
"delta": -0.0077,
"percent_delta": -0.0095,
"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.21,
"after": 0.4711,
"delta": 0.2611,
"percent_delta": 1.2433,
"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": 16
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3258,
"predicted_3B": 0.0017,
"predicted_AB": 2.9447,
"predicted_AVG": 0.1585,
"predicted_BB": 0.1519,
"predicted_H": 0.4666,
"predicted_HBP": 0.011,
"predicted_HR": 0.0475,
"predicted_OBP": 0.1997,
"predicted_R": 0.3922,
"predicted_RBI": 0.2053,
"predicted_SLG": 0.3186,
"predicted_SO": 0.8061
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3258,
"after": 0.3258,
"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.9447,
"after": 2.9447,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.1585,
"delta": -0.1375,
"percent_delta": -0.4645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1522,
"after": 0.1519,
"delta": -0.0003,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4711,
"after": 0.4666,
"delta": -0.0045,
"percent_delta": -0.0096,
"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.0475,
"after": 0.0475,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3277,
"after": 0.1997,
"delta": -0.128,
"percent_delta": -0.3906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3992,
"after": 0.3922,
"delta": -0.007,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.209,
"after": 0.2053,
"delta": -0.0037,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4592,
"after": 0.3186,
"delta": -0.1406,
"percent_delta": -0.3062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8043,
"after": 0.8061,
"delta": 0.0018,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4592,
"after": 0.3186,
"delta": -0.1406,
"percent_delta": -0.3062,
"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.158 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3258,
"after": 0.0,
"delta": -0.3258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9447,
"after": 3.0,
"delta": 0.0553,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1519,
"after": 0.0,
"delta": -0.1519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4666,
"after": 0.0,
"delta": -0.4666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0475,
"after": 0.0,
"delta": -0.0475,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2053,
"after": 0.0,
"delta": -0.2053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8061,
"after": 1.0,
"delta": 0.1939,
"percent_delta": 0.2405,
"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.8061,
"after": 1.0,
"delta": 0.1939,
"percent_delta": 0.2405,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4666,
"after": 0.0,
"delta": -0.4666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3922,
"after": 0.0,
"delta": -0.3922,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3922,
"after": 0.0,
"delta": -0.3922,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1585,
"after": 0.333,
"delta": 0.1745,
"percent_delta": 1.1009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1997,
"after": 0.333,
"delta": 0.1333,
"percent_delta": 0.6675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3186,
"after": 0.333,
"delta": 0.0144,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1585,
"after": 0.333,
"delta": 0.1745,
"percent_delta": 1.1009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1585,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.1997,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3186,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1585,
"delta": -0.1745,
"percent_delta": -0.5241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.1997,
"delta": -0.1333,
"percent_delta": -0.4002,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3186,
"delta": -0.0144,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1585,
"delta": -0.1745,
"percent_delta": -0.5241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"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.812,
"after": 3.0,
"delta": 0.188,
"percent_delta": 0.0669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.1585,
"delta": -0.1315,
"percent_delta": -0.4534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 1.0,
"delta": 0.79,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 1.0,
"delta": 0.97,
"percent_delta": 32.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.1997,
"delta": -0.1153,
"percent_delta": -0.366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 2.0,
"delta": 1.87,
"percent_delta": 14.3846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.3186,
"delta": -0.1214,
"percent_delta": -0.2759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 0.0,
"delta": -0.812,
"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.13,
"after": 2.0,
"delta": 1.87,
"percent_delta": 14.3846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.812,
"after": 0.0,
"delta": -0.812,
"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.312 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.812 | - |
| predicted_AVG | 0.290 | - |
| predicted_BB | 0.125 | - |
| predicted_H | 0.210 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.375 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.440 | - |
| 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.326 | 0.014 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.945 | 0.133 |
| predicted_AVG | 0.296 | 0.006 |
| predicted_BB | 0.152 | 0.027 |
| predicted_H | 0.471 | 0.261 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.048 | 0.018 |
| predicted_OBP | 0.328 | 0.013 |
| predicted_R | 0.399 | 0.024 |
| predicted_RBI | 0.209 | 0.079 |
| predicted_SLG | 0.459 | 0.019 |
| predicted_SO | 0.804 | -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.326 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.945 | 0.000 |
| predicted_AVG | 0.159 | -0.137 |
| predicted_BB | 0.152 | -0.000 |
| predicted_H | 0.467 | -0.005 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.048 | 0.000 |
| predicted_OBP | 0.200 | -0.128 |
| predicted_R | 0.392 | -0.007 |
| predicted_RBI | 0.205 | -0.004 |
| predicted_SLG | 0.319 | -0.141 |
| predicted_SO | 0.806 | 0.002 |
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.158 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.326 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.055 |
| predicted_AVG | 0.333 | 0.175 |
| predicted_BB | 0.000 | -0.152 |
| predicted_H | 1.000 | 0.533 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.333 | 0.133 |
| predicted_R | 0.000 | -0.392 |
| predicted_RBI | 0.000 | -0.205 |
| predicted_SLG | 0.333 | 0.014 |
| predicted_SO | 1.000 | 0.194 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 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 | - | 12.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 3.000 | 0.5000 | 0.5385 | 0.7500 | 0.5000 | 0.0000 | 0.0833 | 0.0833 | 0.2500 |
| last_10 | 0.20 | 10 | - | 31.000 | 11.000 | 5.000 | 0.000 | 1.000 | 3.000 | 5.000 | 2.000 | 6.000 | 0.3548 | 0.3939 | 0.6129 | 0.3548 | 0.0323 | 0.0968 | 0.0645 | 0.1935 |
| season | 0.60 | 16 | - | 45.000 | 13.000 | 5.000 | 0.000 | 1.000 | 5.000 | 6.000 | 2.000 | 13.000 | 0.2889 | 0.3191 | 0.4667 | 0.2889 | 0.0222 | 0.1111 | 0.0444 | 0.2889 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3530 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.2070 |
| predicted_AVG | 0.3078 |
| predicted_BB | 0.2060 |
| predicted_H | 0.9870 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.3527 |
| predicted_R | 0.4470 |
| predicted_RBI | 0.3650 |
| predicted_SLG | 0.4971 |
| predicted_SO | 0.7890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3120 | 0.3530 | 0.3258 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.8120 | 3.2070 | 2.9447 | model_form_blend |
| predicted_AVG | 0.2900 | 0.3078 | 0.2960 | model_form_blend |
| predicted_BB | 0.1250 | 0.2060 | 0.1522 | model_form_blend |
| predicted_H | 0.2100 | 0.9870 | 0.4711 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0300 | 0.0820 | 0.0475 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3527 | 0.3277 | model_form_blend |
| predicted_R | 0.3750 | 0.4470 | 0.3992 | model_form_blend |
| predicted_RBI | 0.1300 | 0.3650 | 0.2090 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4971 | 0.4592 | model_form_blend |
| predicted_SO | 0.8120 | 0.7890 | 0.8043 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 16 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-2B |
| gameID | 20260620_LAA@OAK |
| game_type | ph |
| mlbID | 675961 |
| note | Struck out for McNeil in the 7th. |
| playerID | 675961 |
| playerName | Alika Williams |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-20 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.341 |
| sl_xwoba | 0.218 |
| sl_xba | 0.198 |
| sl_xslg | 0.257 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 50.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.688 | 4.000 | 1.312 | -1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 3.188 | 6.000 | 0.812 | -2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.312 | 4.000 | 0.688 | 2.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 5.050 | 3.200 | -0.950 | 0.900 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 4.500 | 4.000 | -2.500 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.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: 4.6667 -> 4.1000 (deboost -0.5667, 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": "605488",
"player_name": "Jeffrey Springs",
"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": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.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": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"predicted_R": 4.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.1,
"after": 4.1,
"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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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 | 6.000 | - |
| predicted_HR | 1.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 | 3.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.100 | -0.567 |
| 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.100 | 23.000 | 32.000 | 8.000 | 22.000 | 10.000 | 9.7031 | 1.8750 | 1.0781 | 1.5000 | 0.3750 | 1.0312 | 0.4688 |
| last_10 | 0.35 | 10 | 47.000 | 36.000 | 60.000 | 16.000 | 41.000 | 16.000 | 6.8936 | 1.6170 | 0.7660 | 1.2766 | 0.3404 | 0.8723 | 0.3404 |
| season | 0.20 | 16 | 82.200 | 51.000 | 85.000 | 27.000 | 72.000 | 21.000 | 5.5524 | 1.3548 | 0.6169 | 1.0282 | 0.3266 | 0.8710 | 0.2540 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6520 |
| predicted_ER | 3.6620 |
| predicted_ERA | 7.0818 |
| predicted_H | 5.7810 |
| predicted_HR | 1.5130 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.3950 |
| predicted_WHIP | 1.5971 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.6520 | 2.2594 | model_form_blend |
| predicted_ER | 4.0000 | 3.6620 | 3.8143 | model_form_blend |
| predicted_ERA | - | 7.0818 | 7.0818 | form_only |
| predicted_H | 6.0000 | 5.7810 | 5.8797 | model_form_blend |
| predicted_HR | 1.0000 | 1.5130 | 1.2818 | model_form_blend |
| predicted_IP | 4.2000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 2.0000 | 4.3950 | 3.3158 | model_form_blend |
| predicted_WHIP | - | 1.5971 | 1.5971 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 2 |
| HR | 1 |
| BF | 22 |
| Pitches | 86 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 1 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 18 |
| Pitching_ER | 6 |
| Pitching_ERA | 5.55 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 0 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.2 |
| Pitching_Pitches | 86 |
| Pitching_R | 6 |
| Pitching_SO | 4 |
| Pitching_Strikes | 47 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_LAA@OAK |
| game_type | full |
| mlbID | 605488 |
| playerID | 605488 |
| playerName | Jeffrey Springs |
| pos | P |
| started | True |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-19 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.358 |
| sl_xwoba | 0.33 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 35.8 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 76.683316746 |
| sl_avg_hyper_speed | 93.550693175 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.600 | 0.000 | 0.400 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.875 | 1.000 | -0.875 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.733 | 1.000 | 0.267 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.125 | 2.000 | -1.125 | -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": "663687",
"player_name": "Hogan Harris",
"position": "Middle Reliever",
"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": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 5.000 | 8.000 | 1.000 | 8.000 | 2.000 | 9.6429 | 1.9286 | 1.0714 | 1.7143 | 0.2143 | 1.7143 | 0.4286 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 13.000 | 2.000 | 14.000 | 2.000 | 6.7500 | 1.6071 | 0.7500 | 1.3929 | 0.2143 | 1.5000 | 0.2143 |
| season | 0.20 | 40 | 37.000 | 15.000 | 35.000 | 24.000 | 45.000 | 4.000 | 3.6486 | 1.5946 | 0.4054 | 0.9459 | 0.6486 | 1.2162 | 0.1081 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3250 |
| predicted_ER | 0.6930 |
| predicted_ERA | 6.2409 |
| predicted_H | 1.2540 |
| predicted_HR | 0.2310 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2990 |
| predicted_WHIP | 1.5790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3250 | 0.6770 | model_form_blend |
| predicted_ER | 0.0000 | 0.6930 | 0.3317 | model_form_blend |
| predicted_ERA | - | 6.2409 | 6.2409 | form_only |
| predicted_H | 0.0000 | 1.2540 | 0.6002 | model_form_blend |
| predicted_HR | 0.0000 | 0.2310 | 0.1106 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2990 | 0.6217 | model_form_blend |
| predicted_WHIP | - | 1.5790 | 1.5790 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 40 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.65 |
| 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 663687 |
| playerID | 663687 |
| playerName | Hogan Harris |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.327 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 28.3 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 43.6 |
| sl_avg_best_speed | 75.10941449 |
| sl_avg_hyper_speed | 92.424102551 |
| 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.243 | 0.000 | -0.243 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.865 | 0.000 | -0.865 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.843 | 1.000 | 0.157 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 0.946 | 0.000 | 2.054 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "686993",
"player_name": "Justin Sterner",
"position": "Middle Reliever",
"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": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 5.000 | 7.000 | 2.000 | 6.000 | 3.000 | 8.4375 | 1.6875 | 0.9375 | 1.3125 | 0.3750 | 1.1250 | 0.5625 |
| last_10 | 0.35 | 10 | 9.100 | 5.000 | 8.000 | 2.000 | 9.000 | 3.000 | 4.8214 | 1.0714 | 0.5357 | 0.8571 | 0.2143 | 0.9643 | 0.3214 |
| season | 0.20 | 37 | 36.100 | 16.000 | 32.000 | 9.000 | 35.000 | 7.000 | 3.9633 | 1.1284 | 0.4404 | 0.8807 | 0.2477 | 0.9633 | 0.1927 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3210 |
| predicted_ER | 0.6160 |
| predicted_ERA | 5.5471 |
| predicted_H | 1.0270 |
| predicted_HR | 0.2980 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0000 |
| predicted_WHIP | 1.3476 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3210 | 0.1530 | model_form_blend |
| predicted_ER | 0.0000 | 0.6160 | 0.2937 | model_form_blend |
| predicted_ERA | - | 5.5471 | 5.5471 | form_only |
| predicted_H | 0.0000 | 1.0270 | 0.4896 | model_form_blend |
| predicted_HR | 0.0000 | 0.2980 | 0.1421 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 1.0000 | 2.0464 | model_form_blend |
| predicted_WHIP | - | 1.3476 | 1.3476 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 3 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.96 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 686993 |
| playerID | 686993 |
| playerName | Justin Sterner |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.3 |
| sl_xwoba | 0.251 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 44.2 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 53.1 |
| sl_avg_best_speed | 79.524036735 |
| sl_avg_hyper_speed | 94.544465816 |
| 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 | 2.000 | -1.000 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.886 | 1.000 | -0.886 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 2.571 | 3.000 | -0.571 | -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": "686930",
"player_name": "Mason Barnett",
"position": "Middle Reliever",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.200 | 2.000 | 5.000 | 3.000 | 10.000 | 1.000 | 2.3478 | 1.0435 | 0.2609 | 0.6522 | 0.3913 | 1.3043 | 0.1304 |
| last_10 | 0.35 | 7 | 13.200 | 2.000 | 7.000 | 7.000 | 18.000 | 1.000 | 1.3171 | 1.0244 | 0.1463 | 0.5122 | 0.5122 | 1.3171 | 0.0732 |
| season | 0.20 | 7 | 13.200 | 2.000 | 7.000 | 7.000 | 18.000 | 1.000 | 1.3171 | 1.0244 | 0.1463 | 0.5122 | 0.5122 | 1.3171 | 0.0732 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4810 |
| predicted_ER | 0.5130 |
| predicted_ERA | 3.6561 |
| predicted_H | 1.0680 |
| predicted_HR | 0.1720 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3550 |
| predicted_WHIP | 1.2275 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4810 | 0.1808 | model_form_blend |
| predicted_ER | 0.0000 | 0.5130 | 0.1928 | model_form_blend |
| predicted_ERA | - | 3.6561 | 3.6561 | form_only |
| predicted_H | 1.0000 | 1.0680 | 1.0256 | model_form_blend |
| predicted_HR | 0.0000 | 0.1720 | 0.0647 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3550 | 1.7576 | model_form_blend |
| predicted_WHIP | - | 1.2275 | 1.2275 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 7 |
| Season rows before report date | 7 |
| Report year | 2026 |
| Profile rows used | 7 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.32 |
| Pitching_Flyouts | 0 |
| 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 | 25 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_OAK@SF |
| game_type | full |
| mlbID | 686930 |
| playerID | 686930 |
| playerName | Mason Barnett |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-23 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.233 |
| sl_xwoba | 0.27 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 27.6 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 79.226824 |
| sl_avg_hyper_speed | 92.750036207 |
| 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.389 | 0.000 | -0.389 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.778 | 2.000 | -0.778 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.961 | 0.200 | -0.761 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.389 | 0.000 | -1.389 | 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.2000 (deboost -0.1333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.3333 -> 0.2000 (deboost -0.1333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "665660",
"player_name": "Elvis Alvarado",
"position": "Middle Reliever",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.2,
"delta": -0.1333,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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.2,
"delta": -0.1333,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.2,
"delta": -0.1333,
"percent_delta": -0.3999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.2,
"delta": -0.1333,
"percent_delta": -0.3999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.100 | 5.000 | 6.000 | 0.000 | 7.000 | 4.000 | 7.1053 | 0.9474 | 0.7895 | 0.9474 | 0.0000 | 1.1053 | 0.6316 |
| last_10 | 0.35 | 10 | 13.000 | 9.000 | 10.000 | 3.000 | 19.000 | 5.000 | 6.2308 | 1.0000 | 0.6923 | 0.7692 | 0.2308 | 1.4615 | 0.3846 |
| season | 0.20 | 18 | 20.100 | 14.000 | 18.000 | 7.000 | 25.000 | 5.000 | 6.1967 | 1.2295 | 0.6885 | 0.8852 | 0.3443 | 1.2295 | 0.2459 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2000 |
| predicted_ER | 0.4530 |
| predicted_ERA | 5.4426 |
| predicted_H | 0.6940 |
| predicted_HR | 0.2170 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8130 |
| predicted_WHIP | 1.1925 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2000 | 0.0832 | model_form_blend |
| predicted_ER | 0.0000 | 0.4530 | 0.1884 | model_form_blend |
| predicted_ERA | - | 5.4426 | 5.4426 | form_only |
| predicted_H | 1.0000 | 0.6940 | 0.8727 | model_form_blend |
| predicted_HR | 0.0000 | 0.2170 | 0.0903 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8130 | 0.3382 | model_form_blend |
| predicted_WHIP | - | 1.1925 | 1.1925 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 6.20 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 12 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 665660 |
| playerID | 665660 |
| playerName | Elvis Alvarado |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-24 |
| sl_k_percent | 30.5 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.353 |
| sl_xwoba | 0.338 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 20.0 |
| sl_hard_hit_percent | 52.0 |
| sl_whiff_percent | 32.6 |
| sl_swing_percent | 53.6 |
| sl_avg_best_speed | 82.1215952 |
| sl_avg_hyper_speed | 95.4261176 |
| Field | Value |
|---|---|
| Pitcher | Landen Roupp |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4698 |
| ESPN Rank | 181 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1747 |
| Avg Velo | 86.6311 |
| Avg Spin | 2370.7389 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 4.1452 |
| Season WHIP | 1.2946 |
| Role Avg IP | 5.3560 |
| Recent Avg IP | 5.0670 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"opponent": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"edges": {
"quality_edge": 0.1128,
"offense_edge": -0.0587,
"opponent_offense_edge": 0.0305,
"defense_strength": -0.0125,
"opponent_defense_weakness": 0.148,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0029,
"run_prevention": 1.0005,
"strikeout": 1.0009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694738",
"profile": {
"available": true,
"pitcher_id": "694738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 246.0,
"k_percent": 26.3,
"bb_percent": 9.8,
"woba": 0.305,
"xwoba": 0.285,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 29.9,
"avg_best_speed": 76.5084,
"avg_hyper_speed": 92.8709,
"whiff_percent": 27.0,
"swing_percent": 42.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.6576,
"command_and_miss": 0.2539,
"regression_edge": 0.5714,
"xwoba_edge": 0.8429,
"barrel_edge": 0.7444,
"hard_hit_edge": 1.2,
"whiff_edge": 0.1643,
"bb_edge": -0.175,
"pitch_design_score": -0.1747
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694738",
"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.63108355489675,
"release_spin_rate": 2370.7388503015227,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.63108355489675,
"release_spin_rate": 2370.7388503015227,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6311,
"release_spin_rate": 2370.7389,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1747,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2481,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4698,
"sample_weight": 0.984,
"run_prevention_factor": 0.9601,
"strikeout_factor": 1.0267,
"walk_factor": 1.0138,
"homer_factor": 0.8693,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694738",
"espn_id": 4345404,
"player_name": "Landen Roupp",
"team": "SF",
"role": "pitcher",
"espn_rank": 181,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 181,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 15.0,
"gs_rank": 41,
"qs_value": 6.0,
"qs_rank": 42,
"era_value": 4.1452,
"era_rank": 48.0,
"w_value": 5.0,
"w_rank": 51,
"l_value": 7.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 80.1,
"ip_rank": 61,
"h_value": 71.0,
"h_rank": 74,
"er_value": 37.0,
"er_rank": 56,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 33.0,
"bb_rank": 22,
"k_value": 89.0,
"k_rank": 24,
"k_per_9_value": 9.970954,
"k_per_9_rank": 10,
"whip_value": 1.2946,
"whip_rank": 46.0,
"war_value": 0.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9607,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9607,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0136,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.8714,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0263,
"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": 52.2,
"ER": 30,
"H": 55,
"BB": 21,
"SO": 58,
"HR": 5,
"ERA": 5.1265822784810124,
"WHIP": 1.4430379746835442,
"K9": 9.91139240506329,
"HR9": 0.8544303797468353,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "694738",
"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.63108355489675,
"release_spin_rate": 2370.7388503015227,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.63108355489675,
"release_spin_rate": 2370.7388503015227,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6311,
"release_spin_rate": 2370.7389,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1747,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2481,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "694738",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.1,
"ER": 17.0,
"R": 19.0,
"H": 29.0,
"BB": 12.0,
"SO": 28.0,
"HR": 3.0,
"BF": 114.0,
"Pitches": 490.0
},
"per_game": {
"IP": 5.0,
"ER": 3.4,
"R": 3.8,
"H": 5.8,
"BB": 2.4,
"SO": 5.6,
"HR": 0.6,
"BF": 22.8,
"Pitches": 98.0
},
"rates": {
"ERA": 6.0395,
"WHIP": 1.6184,
"ER_per_IP": 0.67105,
"H_per_IP": 1.14474,
"BB_per_IP": 0.47368,
"SO_per_IP": 1.10526,
"HR_per_IP": 0.11842
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.2,
"ER": 30.0,
"R": 32.0,
"H": 55.0,
"BB": 21.0,
"SO": 58.0,
"HR": 5.0,
"BF": 228.0,
"Pitches": 971.0
},
"per_game": {
"IP": 5.1,
"ER": 3.0,
"R": 3.2,
"H": 5.5,
"BB": 2.1,
"SO": 5.8,
"HR": 0.5,
"BF": 22.8,
"Pitches": 97.1
},
"rates": {
"ERA": 5.1266,
"WHIP": 1.443,
"ER_per_IP": 0.56962,
"H_per_IP": 1.0443,
"BB_per_IP": 0.39873,
"SO_per_IP": 1.10127,
"HR_per_IP": 0.09494
}
},
"season": {
"games": 15,
"totals": {
"IP": 80.1,
"ER": 37.0,
"R": 41.0,
"H": 71.0,
"BB": 33.0,
"SO": 89.0,
"HR": 5.0,
"BF": 338.0,
"Pitches": 1440.0
},
"per_game": {
"IP": 5.1,
"ER": 2.4667,
"R": 2.7333,
"H": 4.7333,
"BB": 2.2,
"SO": 5.9333,
"HR": 0.3333,
"BF": 22.5333,
"Pitches": 96.0
},
"rates": {
"ERA": 4.1452,
"WHIP": 1.2946,
"ER_per_IP": 0.46058,
"H_per_IP": 0.88382,
"BB_per_IP": 0.41079,
"SO_per_IP": 1.10788,
"HR_per_IP": 0.06224
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.976,
"predicted_H": 5.406,
"predicted_BB": 2.173,
"predicted_SO": 5.561,
"predicted_HR": 0.578,
"predicted_ERA": 5.13,
"predicted_WHIP": 1.4516
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.976,
"final": 2.0757,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.406,
"final": 4.3098,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.173,
"final": 2.0942,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.561,
"final": 4.8498,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.578,
"final": 0.3146,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.13,
"final": 5.13,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4516,
"final": 1.4516,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Caleb Kilian |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0580 |
| ESPN Rank | 159 |
| 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.9700 |
| Season WHIP | 1.1400 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"opponent": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"edges": {
"quality_edge": 0.1128,
"offense_edge": -0.0587,
"opponent_offense_edge": 0.0305,
"defense_strength": -0.0125,
"opponent_defense_weakness": 0.148,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0029,
"run_prevention": 1.0005,
"strikeout": 1.0009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668873",
"profile": {
"available": true,
"pitcher_id": "668873",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 28.3,
"bb_percent": 11.6,
"woba": 0.269,
"xwoba": 0.305,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.2873,
"avg_hyper_speed": 93.7634,
"whiff_percent": 27.2,
"swing_percent": 48.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2734,
"command_and_miss": 0.3025,
"regression_edge": -1.0286,
"xwoba_edge": 0.2714,
"barrel_edge": -0.3667,
"hard_hit_edge": 0.0,
"whiff_edge": 0.1929,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668873",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.058,
"sample_weight": 0.45,
"run_prevention_factor": 0.9951,
"strikeout_factor": 1.0179,
"walk_factor": 1.0225,
"homer_factor": 1.0095,
"woba_minus_xwoba": -0.036,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "668873",
"espn_id": 4875969,
"player_name": "Caleb Kilian",
"team": "SF",
"role": "pitcher",
"espn_rank": 159,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 159,
"gp_value": 32.0,
"gp_rank": 66,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.97,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 5.0,
"sv_rank": 31,
"hld_value": 3.0,
"hld_rank": 147,
"ip_value": 33.1,
"ip_rank": 235,
"h_value": 22.0,
"h_rank": 325,
"er_value": 11.0,
"er_rank": 324,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 16.0,
"bb_rank": 203,
"k_value": 39.0,
"k_rank": 180,
"k_per_9_value": 10.53,
"k_per_9_rank": 20,
"whip_value": 1.14,
"whip_rank": null,
"war_value": 0.67,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9978,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9978,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0101,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0043,
"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": 9.0,
"ER": 5,
"H": 10,
"BB": 4,
"SO": 13,
"HR": 2,
"ERA": 5.000000000000001,
"WHIP": 1.5555555555555558,
"K9": 13.000000000000002,
"HR9": 2.0000000000000004,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "668873",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.6,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"role": "pitcher",
"player_id": "668873",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 32,
"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": 8.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 62.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.4
},
"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": 1.71429,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 4.0,
"SO": 13.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.0,
"BB": 0.4,
"SO": 1.3,
"HR": 0.2,
"BF": 4.1,
"Pitches": 14.7
},
"rates": {
"ERA": 5.0,
"WHIP": 1.5556,
"ER_per_IP": 0.55556,
"H_per_IP": 1.11111,
"BB_per_IP": 0.44444,
"SO_per_IP": 1.44444,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 32,
"totals": {
"IP": 33.1,
"ER": 11.0,
"R": 13.0,
"H": 22.0,
"BB": 16.0,
"SO": 39.0,
"HR": 5.0,
"BF": 138.0,
"Pitches": 519.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3438,
"R": 0.4062,
"H": 0.6875,
"BB": 0.5,
"SO": 1.2188,
"HR": 0.1562,
"BF": 4.3125,
"Pitches": 16.2188
},
"rates": {
"ERA": 2.97,
"WHIP": 1.14,
"ER_per_IP": 0.33,
"H_per_IP": 0.66,
"BB_per_IP": 0.48,
"SO_per_IP": 1.17,
"HR_per_IP": 0.15
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.364,
"predicted_H": 0.824,
"predicted_BB": 0.353,
"predicted_SO": 1.268,
"predicted_HR": 0.124,
"predicted_ERA": 3.2718,
"predicted_WHIP": 1.1772
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5321,
"form_weight": 0.4679,
"form_reliability": 0.569,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.6,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.364,
"final": 0.1703,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.824,
"final": 0.3856,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.353,
"final": 0.1652,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.268,
"final": 0.5933,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.124,
"final": 0.058,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2718,
"final": 3.2718,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1772,
"final": 1.1772,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Dylan Smith |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1095 |
| ESPN Rank | 206 |
| 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 | 1.1739 |
| Season WHIP | 1.1739 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"opponent": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"edges": {
"quality_edge": 0.1128,
"offense_edge": -0.0587,
"opponent_offense_edge": 0.0305,
"defense_strength": -0.0125,
"opponent_defense_weakness": 0.148,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0029,
"run_prevention": 1.0005,
"strikeout": 1.0009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681916",
"profile": {
"available": true,
"pitcher_id": "681916",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 3.0,
"k_percent": 23.5,
"bb_percent": 11.8,
"woba": 0.269,
"xwoba": 0.299,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 28.6,
"avg_best_speed": 75.1851,
"avg_hyper_speed": 91.7214,
"whiff_percent": 25.0,
"swing_percent": 45.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.6462,
"command_and_miss": -0.1261,
"regression_edge": -0.8571,
"xwoba_edge": 0.4429,
"barrel_edge": 0.5222,
"hard_hit_edge": 1.3857,
"whiff_edge": -0.1214,
"bb_edge": -0.675,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681916",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1095,
"sample_weight": 0.45,
"run_prevention_factor": 0.9907,
"strikeout_factor": 0.9999,
"walk_factor": 1.0243,
"homer_factor": 0.9503,
"woba_minus_xwoba": -0.03,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681916",
"espn_id": 4414123,
"player_name": "Dylan Smith",
"team": "SF",
"role": "pitcher",
"espn_rank": 206,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 206,
"gp_value": 9.0,
"gp_rank": 416,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.1739,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 7.2,
"ip_rank": 527,
"h_value": 5.0,
"h_rank": 577,
"er_value": 1.0,
"er_rank": 637,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 4.0,
"bb_rank": 514,
"k_value": 8.0,
"k_rank": 499,
"k_per_9_value": 9.391304,
"k_per_9_rank": 25,
"whip_value": 1.1739,
"whip_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0109,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9776,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 7.2,
"ER": 1,
"H": 5,
"BB": 4,
"SO": 8,
"HR": 1,
"ERA": 1.1739130434782608,
"WHIP": 1.1739130434782608,
"K9": 9.391304347826086,
"HR9": 1.1739130434782608,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 9,
"error_prone": false
},
"games_count": 9,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "681916",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.6164383561643836,
"last_10": 0.3835616438356164
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.518,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2329,
"prior_weight": 0.7671
},
"role": "pitcher",
"player_id": "681916",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 9,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 3.0,
"SO": 5.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.6,
"SO": 1.0,
"HR": 0.2,
"BF": 4.8,
"Pitches": 19.4
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.7143,
"ER_per_IP": 0.21429,
"H_per_IP": 1.07143,
"BB_per_IP": 0.64286,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 9,
"totals": {
"IP": 7.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 4.0,
"SO": 8.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1111,
"R": 0.1111,
"H": 0.5556,
"BB": 0.4444,
"SO": 0.8889,
"HR": 0.1111,
"BF": 3.7778,
"Pitches": 14.6667
},
"rates": {
"ERA": 1.1739,
"WHIP": 1.1739,
"ER_per_IP": 0.13043,
"H_per_IP": 0.65217,
"BB_per_IP": 0.52174,
"SO_per_IP": 1.04348,
"HR_per_IP": 0.13043
}
},
"season": {
"games": 9,
"totals": {
"IP": 7.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 4.0,
"SO": 8.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1111,
"R": 0.1111,
"H": 0.5556,
"BB": 0.4444,
"SO": 0.8889,
"HR": 0.1111,
"BF": 3.7778,
"Pitches": 14.6667
},
"rates": {
"ERA": 1.1739,
"WHIP": 1.1739,
"ER_per_IP": 0.13043,
"H_per_IP": 0.65217,
"BB_per_IP": 0.52174,
"SO_per_IP": 1.04348,
"HR_per_IP": 0.13043
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.426,
"predicted_H": 0.956,
"predicted_BB": 0.415,
"predicted_SO": 0.974,
"predicted_HR": 0.155,
"predicted_ERA": 3.8312,
"predicted_WHIP": 1.3709
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6741,
"form_weight": 0.3259,
"form_reliability": 0.2329,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.518,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2329,
"prior_weight": 0.7671
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.426,
"final": 0.1388,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.956,
"final": 0.3116,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.415,
"final": 0.1352,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.974,
"final": 0.9915,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.155,
"final": 0.0505,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8312,
"final": 3.8312,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3709,
"final": 1.3709,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Ryan Walker |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0328 |
| ESPN Rank | 540 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1067 |
| Avg Velo | 91.6563 |
| Avg Spin | 2438.5955 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.9500 |
| Season WHIP | 1.5500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"opponent": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"edges": {
"quality_edge": 0.1128,
"offense_edge": -0.0587,
"opponent_offense_edge": 0.0305,
"defense_strength": -0.0125,
"opponent_defense_weakness": 0.148,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0029,
"run_prevention": 1.0005,
"strikeout": 1.0009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676254",
"profile": {
"available": true,
"pitcher_id": "676254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 69.0,
"k_percent": 20.0,
"bb_percent": 12.2,
"woba": 0.324,
"xwoba": 0.311,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 30.0,
"avg_best_speed": 72.1476,
"avg_hyper_speed": 92.5269,
"whiff_percent": 17.6,
"swing_percent": 41.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3928,
"command_and_miss": -0.7411,
"regression_edge": 0.3714,
"xwoba_edge": 0.1,
"barrel_edge": 0.4778,
"hard_hit_edge": 1.1857,
"whiff_edge": -1.1786,
"bb_edge": -0.775,
"pitch_design_score": 0.1067
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 26,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 91.65625355179598,
"release_spin_rate": 2438.5955476682925,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 91.65625355179598,
"release_spin_rate": 2438.5955476682925,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6563,
"release_spin_rate": 2438.5955,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1067,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.762,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0328,
"sample_weight": 0.45,
"run_prevention_factor": 0.9972,
"strikeout_factor": 0.9718,
"walk_factor": 1.0279,
"homer_factor": 0.9601,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676254",
"espn_id": 5000950,
"player_name": "Ryan Walker",
"team": "SF",
"role": "pitcher",
"espn_rank": 540,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 540,
"gp_value": 21.0,
"gp_rank": 184,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.95,
"era_rank": null,
"w_value": 0.0,
"w_rank": 414,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 3.0,
"sv_rank": 46,
"hld_value": 3.0,
"hld_rank": 147,
"ip_value": 20.0,
"ip_rank": 396,
"h_value": 20.0,
"h_rank": 363,
"er_value": 11.0,
"er_rank": 324,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 11.0,
"bb_rank": 298,
"k_value": 18.0,
"k_rank": 396,
"k_per_9_value": 8.099999,
"k_per_9_rank": 27,
"whip_value": 1.55,
"whip_rank": null,
"war_value": -0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9987,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9987,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0126,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.982,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9873,
"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": 11,
"BB": 5,
"SO": 6,
"HR": 1,
"ERA": 7.0,
"WHIP": 1.7777777777777777,
"K9": 6.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-06-24T00:00:00"
}{
"available": true,
"pitcher_id": "676254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 26,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 91.65625355179598,
"release_spin_rate": 2438.5955476682925,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 91.65625355179598,
"release_spin_rate": 2438.5955476682925,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6563,
"release_spin_rate": 2438.5955,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1067,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.762,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.96,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.442,
"prior_weight": 0.558
},
"role": "pitcher",
"player_id": "676254",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 21,
"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": 4.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 64.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.4,
"Pitches": 12.8
},
"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.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 7.0,
"R": 8.0,
"H": 11.0,
"BB": 5.0,
"SO": 6.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 166.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.1,
"BB": 0.5,
"SO": 0.6,
"HR": 0.1,
"BF": 4.3,
"Pitches": 16.6
},
"rates": {
"ERA": 7.0,
"WHIP": 1.7778,
"ER_per_IP": 0.77778,
"H_per_IP": 1.22222,
"BB_per_IP": 0.55556,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 21,
"totals": {
"IP": 20.0,
"ER": 11.0,
"R": 12.0,
"H": 20.0,
"BB": 11.0,
"SO": 18.0,
"HR": 2.0,
"BF": 90.0,
"Pitches": 359.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5238,
"R": 0.5714,
"H": 0.9524,
"BB": 0.5238,
"SO": 0.8571,
"HR": 0.0952,
"BF": 4.2857,
"Pitches": 17.0952
},
"rates": {
"ERA": 4.95,
"WHIP": 1.55,
"ER_per_IP": 0.55,
"H_per_IP": 1.0,
"BB_per_IP": 0.55,
"SO_per_IP": 0.9,
"HR_per_IP": 0.1
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.448,
"predicted_H": 0.861,
"predicted_BB": 0.378,
"predicted_SO": 0.882,
"predicted_HR": 0.108,
"predicted_ERA": 4.0296,
"predicted_WHIP": 1.2392
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5858,
"form_weight": 0.4142,
"form_reliability": 0.442,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.96,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.442,
"prior_weight": 0.558
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.448,
"final": 1.3571,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.861,
"final": 1.5282,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.378,
"final": 0.1566,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.882,
"final": 0.9511,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.108,
"final": 0.6305,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0296,
"final": 4.0296,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2392,
"final": 1.2392,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Erik Miller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0725 |
| ESPN Rank | 342 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.8571 |
| Season WHIP | 1.5238 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 90,
"wins": 39,
"losses": 51,
"win_pct": 0.4333,
"runs_scored": 383.0,
"runs_allowed": 412.0,
"run_differential": -29.0,
"run_differential_per_game": -0.3222,
"avg_runs_scored": 4.2556,
"avg_runs_allowed": 4.5778,
"offense_index": 0.9413,
"defense_index": 0.9875,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 2.4,
"run_differential": 14.0
},
"available": true,
"quality_score": -0.0609
},
"opponent": {
"team": "OAK",
"games": 85,
"wins": 40,
"losses": 45,
"win_pct": 0.4706,
"runs_scored": 396.0,
"runs_allowed": 451.0,
"run_differential": -55.0,
"run_differential_per_game": -0.6471,
"avg_runs_scored": 4.6588,
"avg_runs_allowed": 5.3059,
"offense_index": 1.0305,
"defense_index": 0.852,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 7.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1737
},
"edges": {
"quality_edge": 0.1128,
"offense_edge": -0.0587,
"opponent_offense_edge": 0.0305,
"defense_strength": -0.0125,
"opponent_defense_weakness": 0.148,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0029,
"run_prevention": 1.0005,
"strikeout": 1.0009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669062",
"profile": {
"available": true,
"pitcher_id": "669062",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 67.0,
"k_percent": 29.9,
"bb_percent": 18.6,
"woba": 0.329,
"xwoba": 0.315,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 30.6,
"avg_best_speed": 70.0195,
"avg_hyper_speed": 93.1413,
"whiff_percent": 33.5,
"swing_percent": 36.8
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0442,
"command_and_miss": 0.3704,
"regression_edge": 0.4,
"xwoba_edge": -0.0143,
"barrel_edge": -0.6778,
"hard_hit_edge": 1.1,
"whiff_edge": 1.0929,
"bb_edge": -2.375,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "669062",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0725,
"sample_weight": 0.45,
"run_prevention_factor": 0.9938,
"strikeout_factor": 1.0382,
"walk_factor": 1.0855,
"homer_factor": 1.0048,
"woba_minus_xwoba": 0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669062",
"espn_id": 4152950,
"player_name": "Erik Miller",
"team": "SF",
"role": "pitcher",
"espn_rank": 342,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 342,
"gp_value": 26.0,
"gp_rank": 135,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.2857,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 8.0,
"hld_rank": 49,
"ip_value": 21.0,
"ip_rank": 383,
"h_value": 17.0,
"h_rank": 401,
"er_value": 10.0,
"er_rank": 351,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 18.0,
"bb_rank": 163,
"k_value": 29.0,
"k_rank": 285,
"k_per_9_value": 12.428572,
"k_per_9_rank": 20,
"whip_value": 1.6666,
"whip_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9972,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9972,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0385,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0022,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0172,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 6.2,
"ER": 3,
"H": 8,
"BB": 4,
"SO": 8,
"HR": 2,
"ERA": 4.050000000000001,
"WHIP": 1.8000000000000003,
"K9": 10.8,
"HR9": 2.7,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "669062",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.158,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.454,
"prior_weight": 0.546
},
"role": "pitcher",
"player_id": "669062",
"report_date": "20260625_O",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 66.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 3.2,
"Pitches": 13.2
},
"rates": {
"ERA": 2.7,
"WHIP": 1.8,
"ER_per_IP": 0.3,
"H_per_IP": 1.2,
"BB_per_IP": 0.6,
"SO_per_IP": 1.2,
"HR_per_IP": 0.3
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.2,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 4.0,
"SO": 9.0,
"HR": 2.0,
"BF": 34.0,
"Pitches": 141.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 0.8,
"BB": 0.4,
"SO": 0.9,
"HR": 0.2,
"BF": 3.4,
"Pitches": 14.1
},
"rates": {
"ERA": 3.5217,
"WHIP": 1.5652,
"ER_per_IP": 0.3913,
"H_per_IP": 1.04348,
"BB_per_IP": 0.52174,
"SO_per_IP": 1.17391,
"HR_per_IP": 0.26087
}
},
"season": {
"games": 25,
"totals": {
"IP": 21.0,
"ER": 9.0,
"R": 9.0,
"H": 16.0,
"BB": 16.0,
"SO": 29.0,
"HR": 2.0,
"BF": 94.0,
"Pitches": 440.0
},
"per_game": {
"IP": 1.0,
"ER": 0.36,
"R": 0.36,
"H": 0.64,
"BB": 0.64,
"SO": 1.16,
"HR": 0.08,
"BF": 3.76,
"Pitches": 17.6
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.5238,
"ER_per_IP": 0.42857,
"H_per_IP": 0.7619,
"BB_per_IP": 0.7619,
"SO_per_IP": 1.38095,
"HR_per_IP": 0.09524
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.303,
"predicted_H": 0.703,
"predicted_BB": 0.329,
"predicted_SO": 0.749,
"predicted_HR": 0.133,
"predicted_ERA": 3.9166,
"predicted_WHIP": 1.4808
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5807,
"form_weight": 0.4193,
"form_reliability": 0.454,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.158,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.454,
"prior_weight": 0.546
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.303,
"final": 0.1271,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.703,
"final": 0.8755,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.329,
"final": 0.138,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.749,
"final": 0.8948,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.133,
"final": 0.0558,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9166,
"final": 3.9166,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4808,
"final": 1.4808,
"source": "form_only"
}
}
}{
"available": false,
"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.211 | 0.000 | 0.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 4.400 | 4.000 | 4.000 | Hitting_AB | 3.982 | 4.000 | 0.018 | 0.000 |
| predicted_AVG | 0.275 | 0.250 | 0.250 | Hitting_AVG | 0.308 | 0.000 | -0.058 | 0.250 |
| predicted_BB | 0.099 | 0.000 | 0.000 | Hitting_BB | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.210 | 1.000 | 1.000 | Hitting_H | 1.225 | 0.000 | -0.225 | 1.000 |
| predicted_HR | 0.190 | 1.000 | 0.000 | Hitting_HR | 0.252 | 0.000 | 0.748 | 1.000 |
| predicted_OBP | 0.355 | 0.250 | 0.250 | Hitting_OBP | 0.347 | 0.000 | -0.097 | 0.250 |
| predicted_R | 0.493 | 1.000 | 0.000 | Hitting_R | 0.628 | 0.000 | 0.372 | 1.000 |
| predicted_RBI | 0.590 | 2.000 | 1.000 | Hitting_RBI | 0.656 | 0.000 | 1.344 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_SLG | 0.506 | 1.000 | 0.250 | Hitting_SLG | 0.579 | 0.000 | 0.421 | 1.000 |
| predicted_SO | 0.845 | 1.000 | 1.000 | Hitting_SO | 0.826 | 2.000 | 0.174 | -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: 0.5900 -> 2.0000 (boost 1.4100, better) |
| Biggest Deboost | predicted_AB: 4.4000 -> 4.0000 (deboost -0.4000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.2100 -> 1.2769 (boost 0.0669, better) | predicted_AB: 4.4000 -> 4.1880 (deboost -0.2120, worse) | Final model input calibrated with local 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.3632 -> 0.3255 (deboost -0.0377, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_RBI: 0.6030 -> 1.0000 (boost 0.3970, better) | predicted_H: 1.3018 -> 1.0000 (deboost -0.3018, worse) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.296 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4788 -> 0.0000 (deboost -0.4788, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5092 -> 0.2500 (deboost -0.2592, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5092 (boost 0.2592, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669477",
"player_name": "Casey Schmitt",
"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.211,
"predicted_3B": 0.014,
"predicted_AB": 4.4,
"predicted_AVG": 0.275,
"predicted_BB": 0.099,
"predicted_H": 1.21,
"predicted_HR": 0.19,
"predicted_OBP": 0.355,
"predicted_R": 0.493,
"predicted_RBI": 0.59,
"predicted_SLG": 0.506,
"predicted_SO": 0.845
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2317,
"predicted_3B": 0.0119,
"predicted_AB": 4.188,
"predicted_AVG": 0.3071,
"predicted_BB": 0.091,
"predicted_H": 1.2769,
"predicted_HBP": 0.068,
"predicted_HR": 0.1892,
"predicted_OBP": 0.3632,
"predicted_R": 0.4638,
"predicted_RBI": 0.5841,
"predicted_SLG": 0.5318,
"predicted_SO": 0.8387
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.2317,
"delta": 0.0207,
"percent_delta": 0.0981,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 4.188,
"delta": -0.212,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.3071,
"delta": 0.0321,
"percent_delta": 0.1167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.099,
"after": 0.091,
"delta": -0.008,
"percent_delta": -0.0808,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.21,
"after": 1.2769,
"delta": 0.0669,
"percent_delta": 0.0553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1892,
"delta": -0.0008,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3632,
"delta": 0.0082,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 0.4638,
"delta": -0.0292,
"percent_delta": -0.0592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.5841,
"delta": -0.0059,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.5318,
"delta": 0.0258,
"percent_delta": 0.051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.845,
"after": 0.8387,
"delta": -0.0063,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.21,
"after": 1.2769,
"delta": 0.0669,
"percent_delta": 0.0553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.188,
"delta": -0.212,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2317,
"predicted_3B": 0.0119,
"predicted_AB": 4.188,
"predicted_AVG": 0.3108,
"predicted_BB": 0.0911,
"predicted_H": 1.3018,
"predicted_HBP": 0.068,
"predicted_HR": 0.1917,
"predicted_OBP": 0.3255,
"predicted_R": 0.4788,
"predicted_RBI": 0.603,
"predicted_SLG": 0.5092,
"predicted_SO": 0.8379
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2317,
"after": 0.2317,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.188,
"after": 4.188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3071,
"after": 0.3108,
"delta": 0.0037,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.091,
"after": 0.0911,
"delta": 0.0001,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2769,
"after": 1.3018,
"delta": 0.0249,
"percent_delta": 0.0195,
"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.1892,
"after": 0.1917,
"delta": 0.0025,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3632,
"after": 0.3255,
"delta": -0.0377,
"percent_delta": -0.1038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4638,
"after": 0.4788,
"delta": 0.015,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5841,
"after": 0.603,
"delta": 0.0189,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5318,
"after": 0.5092,
"delta": -0.0226,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8387,
"after": 0.8379,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3632,
"after": 0.3255,
"delta": -0.0377,
"percent_delta": -0.1038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.296 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2317,
"after": 0.0,
"delta": -0.2317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.188,
"after": 4.0,
"delta": -0.188,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0911,
"after": 0.0,
"delta": -0.0911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3018,
"after": 1.0,
"delta": -0.3018,
"percent_delta": -0.2318,
"direction": "deboost",
"projection_effect": "worse",
"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.1917,
"after": 0.0,
"delta": -0.1917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8379,
"after": 1.0,
"delta": 0.1621,
"percent_delta": 0.1935,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3018,
"after": 1.0,
"delta": -0.3018,
"percent_delta": -0.2318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4788,
"after": 0.0,
"delta": -0.4788,
"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.4788,
"after": 0.0,
"delta": -0.4788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3108,
"after": 0.25,
"delta": -0.0608,
"percent_delta": -0.1956,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3255,
"after": 0.25,
"delta": -0.0755,
"percent_delta": -0.232,
"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.5092,
"after": 0.25,
"delta": -0.2592,
"percent_delta": -0.509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5092,
"after": 0.25,
"delta": -0.2592,
"percent_delta": -0.509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3108,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3255,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5092,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.3108,
"delta": 0.0608,
"percent_delta": 0.2434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3255,
"delta": 0.0755,
"percent_delta": 0.302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5092,
"delta": 0.2592,
"percent_delta": 1.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5092,
"delta": 0.2592,
"percent_delta": 1.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0,
"delta": -0.4,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.3108,
"delta": 0.0358,
"percent_delta": 0.1302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.21,
"after": 1.0,
"delta": -0.21,
"percent_delta": -0.1736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3255,
"delta": -0.0295,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 1.0,
"delta": 0.507,
"percent_delta": 1.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.5092,
"delta": 0.0032,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.0,
"delta": 1.41,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0,
"delta": -0.4,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.211 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.099 | - |
| predicted_H | 1.210 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.493 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.506 | - |
| predicted_SO | 0.845 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.021 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 4.188 | -0.212 |
| predicted_AVG | 0.307 | 0.032 |
| predicted_BB | 0.091 | -0.008 |
| predicted_H | 1.277 | 0.067 |
| predicted_HBP | 0.068 | - |
| predicted_HR | 0.189 | -0.001 |
| predicted_OBP | 0.363 | 0.008 |
| predicted_R | 0.464 | -0.029 |
| predicted_RBI | 0.584 | -0.006 |
| predicted_SLG | 0.532 | 0.026 |
| predicted_SO | 0.839 | -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.232 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.188 | 0.000 |
| predicted_AVG | 0.311 | 0.004 |
| predicted_BB | 0.091 | 0.000 |
| predicted_H | 1.302 | 0.025 |
| predicted_HBP | 0.068 | 0.000 |
| predicted_HR | 0.192 | 0.003 |
| predicted_OBP | 0.326 | -0.038 |
| predicted_R | 0.479 | 0.015 |
| predicted_RBI | 0.603 | 0.019 |
| predicted_SLG | 0.509 | -0.023 |
| predicted_SO | 0.838 | -0.001 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.296 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.232 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | -0.188 |
| predicted_AVG | 0.250 | -0.061 |
| predicted_BB | 0.000 | -0.091 |
| predicted_H | 1.000 | -0.302 |
| predicted_HR | 0.000 | -0.192 |
| predicted_OBP | 0.250 | -0.076 |
| predicted_R | 0.000 | -0.479 |
| predicted_RBI | 1.000 | 0.397 |
| predicted_SLG | 0.250 | -0.259 |
| predicted_SO | 1.000 | 0.162 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 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 | 9.000 | 2.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 4.000 | 0.4500 | 0.4500 | 0.7000 | 0.4500 | 0.0500 | 0.2000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 36.000 | 17.000 | 3.000 | 0.000 | 1.000 | 4.000 | 4.000 | 0.000 | 8.000 | 0.4722 | 0.4865 | 0.6389 | 0.4722 | 0.0278 | 0.1111 | 0.0000 | 0.2222 |
| season | 0.60 | 71 | - | 282.000 | 83.000 | 15.000 | 1.000 | 16.000 | 41.000 | 35.000 | 7.000 | 60.000 | 0.2943 | 0.3221 | 0.5248 | 0.2943 | 0.0567 | 0.1454 | 0.0248 | 0.2128 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2600 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.8990 |
| predicted_AVG | 0.3509 |
| predicted_BB | 0.0800 |
| predicted_H | 1.3680 |
| predicted_HBP | 0.0680 |
| predicted_HR | 0.1880 |
| predicted_OBP | 0.3744 |
| predicted_R | 0.4240 |
| predicted_RBI | 0.5760 |
| predicted_SLG | 0.5669 |
| predicted_SO | 0.8300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.2600 | 0.2317 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 4.4000 | 3.8990 | 4.1880 | model_form_blend |
| predicted_AVG | 0.2750 | 0.3509 | 0.3071 | model_form_blend |
| predicted_BB | 0.0990 | 0.0800 | 0.0910 | model_form_blend |
| predicted_H | 1.2100 | 1.3680 | 1.2769 | model_form_blend |
| predicted_HBP | - | 0.0680 | 0.0680 | form_only |
| predicted_HR | 0.1900 | 0.1880 | 0.1892 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3744 | 0.3632 | model_form_blend |
| predicted_R | 0.4930 | 0.4240 | 0.4638 | model_form_blend |
| predicted_RBI | 0.5900 | 0.5760 | 0.5841 | model_form_blend |
| predicted_SLG | 0.5060 | 0.5669 | 0.5318 | model_form_blend |
| predicted_SO | 0.8450 | 0.8300 | 0.8387 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 218 |
| Season rows before report date | 218 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.294 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 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 | 2B |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 669477 |
| playerID | 669477 |
| playerName | Casey Schmitt |
| pos | LF |
| started | True |
| startingPosition | 2B |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 2.3 |
| sl_woba | 0.362 |
| sl_xwoba | 0.363 |
| sl_xba | 0.3 |
| sl_xslg | 0.523 |
| sl_sweet_spot_percent | 39.9 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 43.9 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 21.2 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 53.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.205 | 0.000 | 0.000 | Hitting_2B | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.230 | 4.000 | 4.000 | Hitting_AB | 3.797 | 3.000 | 0.203 | 1.000 |
| predicted_AVG | 0.207 | 0.250 | 0.250 | Hitting_AVG | 0.228 | 0.000 | 0.022 | 0.250 |
| predicted_BB | 0.423 | 0.000 | 0.000 | Hitting_BB | 0.470 | 1.000 | -0.470 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.880 | 1.000 | 1.000 | Hitting_H | 0.865 | 0.000 | 0.135 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_OBP | 0.287 | 0.250 | 0.250 | Hitting_OBP | 0.320 | 0.250 | -0.070 | 0.000 |
| predicted_R | 0.436 | 1.000 | 0.000 | Hitting_R | 0.422 | 0.000 | 0.578 | 1.000 |
| predicted_RBI | 0.530 | 1.000 | 1.000 | Hitting_RBI | 0.410 | 0.000 | 0.590 | 1.000 |
| predicted_SLG | 0.320 | 0.250 | 0.250 | Hitting_SLG | 0.335 | 0.000 | -0.085 | 0.250 |
| predicted_SO | 0.936 | 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_R: 0.4360 -> 1.0000 (boost 0.5640, better) |
| Biggest Deboost | predicted_SO: 0.9360 -> 0.0000 (deboost -0.9360, 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.9360 -> 1.0670 (boost 0.1310, worse) | predicted_AB: 4.2300 -> 3.9497 (deboost -0.2803, worse) | Final model input calibrated with local 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.3041 -> 0.3233 (boost 0.0192, better) | predicted_OBP: 0.2822 -> 0.2764 (deboost -0.0058, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5300 -> 1.0000 (boost 0.4700, better) | predicted_BB: 0.4157 -> 0.0000 (deboost -0.4157, worse) | AB rounded to 4 (raw=4.23), rates preserved: AVG=0.187 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.118) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3961 -> 0.0000 (deboost -0.3961, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2003 -> 0.2500 (boost 0.0497, better) | predicted_SLG: 0.3233 -> 0.2500 (deboost -0.0733, 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_R: 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3233 (boost 0.0733, better) | predicted_AVG: 0.2500 -> 0.2003 (deboost -0.0497, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656305",
"player_name": "Matt Chapman",
"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.205,
"predicted_3B": 0.013,
"predicted_AB": 4.23,
"predicted_AVG": 0.207,
"predicted_BB": 0.423,
"predicted_H": 0.88,
"predicted_HR": 0.11,
"predicted_OBP": 0.287,
"predicted_R": 0.436,
"predicted_RBI": 0.53,
"predicted_SLG": 0.32,
"predicted_SO": 0.936
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.0109,
"predicted_AB": 3.9497,
"predicted_AVG": 0.1945,
"predicted_BB": 0.4153,
"predicted_H": 0.7758,
"predicted_HBP": 0.095,
"predicted_HR": 0.0964,
"predicted_OBP": 0.2822,
"predicted_R": 0.3837,
"predicted_RBI": 0.5134,
"predicted_SLG": 0.3041,
"predicted_SO": 1.067
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.171,
"delta": -0.034,
"percent_delta": -0.1659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.23,
"after": 3.9497,
"delta": -0.2803,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.1945,
"delta": -0.0125,
"percent_delta": -0.0604,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 0.4153,
"delta": -0.0077,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.7758,
"delta": -0.1042,
"percent_delta": -0.1184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0964,
"delta": -0.0136,
"percent_delta": -0.1236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2822,
"delta": -0.0048,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.436,
"after": 0.3837,
"delta": -0.0523,
"percent_delta": -0.12,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5134,
"delta": -0.0166,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3041,
"delta": -0.0159,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.936,
"after": 1.067,
"delta": 0.131,
"percent_delta": 0.14,
"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.936,
"after": 1.067,
"delta": 0.131,
"percent_delta": 0.14,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.23,
"after": 3.9497,
"delta": -0.2803,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.171,
"predicted_3B": 0.0109,
"predicted_AB": 3.9497,
"predicted_AVG": 0.2003,
"predicted_BB": 0.4157,
"predicted_H": 0.7909,
"predicted_HBP": 0.095,
"predicted_HR": 0.0977,
"predicted_OBP": 0.2764,
"predicted_R": 0.3961,
"predicted_RBI": 0.53,
"predicted_SLG": 0.3233,
"predicted_SO": 1.0659
},
"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.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9497,
"after": 3.9497,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1945,
"after": 0.2003,
"delta": 0.0058,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4153,
"after": 0.4157,
"delta": 0.0004,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7758,
"after": 0.7909,
"delta": 0.0151,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0964,
"after": 0.0977,
"delta": 0.0013,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2822,
"after": 0.2764,
"delta": -0.0058,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3837,
"after": 0.3961,
"delta": 0.0124,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5134,
"after": 0.53,
"delta": 0.0166,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3041,
"after": 0.3233,
"delta": 0.0192,
"percent_delta": 0.0631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.067,
"after": 1.0659,
"delta": -0.0011,
"percent_delta": -0.001,
"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.3041,
"after": 0.3233,
"delta": 0.0192,
"percent_delta": 0.0631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2822,
"after": 0.2764,
"delta": -0.0058,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.23), rates preserved: AVG=0.187 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.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9497,
"after": 4.0,
"delta": 0.0503,
"percent_delta": 0.0127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4157,
"after": 0.0,
"delta": -0.4157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7909,
"after": 1.0,
"delta": 0.2091,
"percent_delta": 0.2644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0977,
"after": 0.0,
"delta": -0.0977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0659,
"after": 1.0,
"delta": -0.0659,
"percent_delta": -0.0618,
"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.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4157,
"after": 0.0,
"delta": -0.4157,
"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.118)",
"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.3961,
"after": 0.0,
"delta": -0.3961,
"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.3961,
"after": 0.0,
"delta": -0.3961,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2003,
"after": 0.25,
"delta": 0.0497,
"percent_delta": 0.2481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.0264,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.3233,
"after": 0.25,
"delta": -0.0733,
"percent_delta": -0.2267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2003,
"after": 0.25,
"delta": 0.0497,
"percent_delta": 0.2481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3233,
"after": 0.25,
"delta": -0.0733,
"percent_delta": -0.2267,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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": 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.2003,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2764,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3233,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2003,
"delta": -0.0497,
"percent_delta": -0.199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2764,
"delta": 0.0264,
"percent_delta": 0.1056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3233,
"delta": 0.0733,
"percent_delta": 0.2931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3233,
"delta": 0.0733,
"percent_delta": 0.2931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2003,
"delta": -0.0497,
"percent_delta": -0.199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.23,
"after": 4.0,
"delta": -0.23,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2003,
"delta": -0.0067,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 0.0,
"delta": -0.423,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"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.287,
"after": 0.2764,
"delta": -0.0106,
"percent_delta": -0.0369,
"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.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3233,
"delta": 0.0033,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.936,
"after": 0.0,
"delta": -0.936,
"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_R",
"before": 0.436,
"after": 1.0,
"delta": 0.564,
"percent_delta": 1.2936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.936,
"after": 0.0,
"delta": -0.936,
"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.013 | - |
| predicted_AB | 4.230 | - |
| predicted_AVG | 0.207 | - |
| predicted_BB | 0.423 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.436 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.320 | - |
| predicted_SO | 0.936 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | -0.034 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.950 | -0.280 |
| predicted_AVG | 0.195 | -0.012 |
| predicted_BB | 0.415 | -0.008 |
| predicted_H | 0.776 | -0.104 |
| predicted_HBP | 0.095 | - |
| predicted_HR | 0.096 | -0.014 |
| predicted_OBP | 0.282 | -0.005 |
| predicted_R | 0.384 | -0.052 |
| predicted_RBI | 0.513 | -0.017 |
| predicted_SLG | 0.304 | -0.016 |
| predicted_SO | 1.067 | 0.131 |
Step 3: 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.011 | 0.000 |
| predicted_AB | 3.950 | 0.000 |
| predicted_AVG | 0.200 | 0.006 |
| predicted_BB | 0.416 | 0.000 |
| predicted_H | 0.791 | 0.015 |
| predicted_HBP | 0.095 | 0.000 |
| predicted_HR | 0.098 | 0.001 |
| predicted_OBP | 0.276 | -0.006 |
| predicted_R | 0.396 | 0.012 |
| predicted_RBI | 0.530 | 0.017 |
| predicted_SLG | 0.323 | 0.019 |
| predicted_SO | 1.066 | -0.001 |
AB rounded to 4 (raw=4.23), rates preserved: AVG=0.187 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 | - |
Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.118)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.171 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.050 |
| predicted_AVG | 0.250 | 0.050 |
| predicted_BB | 0.000 | -0.416 |
| predicted_H | 1.000 | 0.209 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.250 | -0.026 |
| predicted_R | 0.000 | -0.396 |
| predicted_RBI | 1.000 | 0.470 |
| predicted_SLG | 0.250 | -0.073 |
| predicted_SO | 1.000 | -0.066 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 0.000 | 1.000 | 0.000 | 2.000 | 10.000 | 0.0588 | 0.2000 | 0.0588 | 0.0588 | 0.0000 | 0.0588 | 0.1177 | 0.5882 |
| last_10 | 0.20 | 10 | - | 34.000 | 3.000 | 0.000 | 0.000 | 1.000 | 6.000 | 2.000 | 4.000 | 15.000 | 0.0882 | 0.1951 | 0.1765 | 0.0882 | 0.0294 | 0.1765 | 0.1177 | 0.4412 |
| season | 0.60 | 78 | - | 284.000 | 67.000 | 16.000 | 1.000 | 7.000 | 43.000 | 34.000 | 33.000 | 73.000 | 0.2359 | 0.3221 | 0.3732 | 0.2359 | 0.0246 | 0.1514 | 0.1162 | 0.2570 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.5710 |
| predicted_AVG | 0.1776 |
| predicted_BB | 0.4050 |
| predicted_H | 0.6350 |
| predicted_HBP | 0.0950 |
| predicted_HR | 0.0780 |
| predicted_OBP | 0.2757 |
| predicted_R | 0.3130 |
| predicted_RBI | 0.4910 |
| predicted_SLG | 0.2827 |
| predicted_SO | 1.2440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.1250 | 0.1710 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.2300 | 3.5710 | 3.9497 | model_form_blend |
| predicted_AVG | 0.2070 | 0.1776 | 0.1945 | model_form_blend |
| predicted_BB | 0.4230 | 0.4050 | 0.4153 | model_form_blend |
| predicted_H | 0.8800 | 0.6350 | 0.7758 | model_form_blend |
| predicted_HBP | - | 0.0950 | 0.0950 | form_only |
| predicted_HR | 0.1100 | 0.0780 | 0.0964 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2757 | 0.2822 | model_form_blend |
| predicted_R | 0.4360 | 0.3130 | 0.3837 | model_form_blend |
| predicted_RBI | 0.5300 | 0.4910 | 0.5134 | model_form_blend |
| predicted_SLG | 0.3200 | 0.2827 | 0.3041 | model_form_blend |
| predicted_SO | 0.9360 | 1.2440 | 1.0670 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 251 |
| Season rows before report date | 251 |
| Report year | 2026 |
| Profile rows used | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 656305 |
| playerID | 656305 |
| playerName | Matt Chapman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.315 |
| sl_xwoba | 0.291 |
| sl_xba | 0.214 |
| sl_xslg | 0.329 |
| sl_sweet_spot_percent | 25.5 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 36.6 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 10.5 |
| sl_whiff_percent | 23.0 |
| 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.291 | 0.000 | 0.000 | Hitting_2B | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.110 | 4.000 | 4.000 | Hitting_AB | 3.881 | 4.000 | 0.119 | 0.000 |
| predicted_AVG | 0.234 | 0.250 | 0.250 | Hitting_AVG | 0.251 | 0.250 | -0.001 | 0.000 |
| predicted_BB | 0.354 | 0.000 | 0.000 | Hitting_BB | 0.298 | 0.000 | -0.298 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 0.972 | 1.000 | 0.028 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.135 | 1.000 | -0.135 | -1.000 |
| predicted_OBP | 0.320 | 0.250 | 0.250 | Hitting_OBP | 0.303 | 0.250 | -0.053 | 0.000 |
| predicted_R | 0.456 | 0.000 | 0.000 | Hitting_R | 0.425 | 1.000 | -0.425 | -1.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.528 | 1.000 | -0.528 | -1.000 |
| predicted_SLG | 0.453 | 0.250 | 0.250 | Hitting_SLG | 0.427 | 1.000 | -0.177 | -0.750 |
| predicted_SO | 1.241 | 2.000 | 1.000 | Hitting_SO | 1.246 | 2.000 | 0.754 | 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_SO: 1.2410 -> 2.0000 (boost 0.7590, worse) |
| Biggest Deboost | predicted_RBI: 0.5300 -> 0.0000 (deboost -0.5300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_SLG: 0.4530 -> 0.4737 (boost 0.0207, better) | predicted_AB: 4.1100 -> 3.9337 (deboost -0.1763, worse) | Final model input calibrated with local 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.4737 -> 0.4815 (boost 0.0078, better) | predicted_OBP: 0.3218 -> 0.3110 (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 | 6 | 2 | 4 | 3 | 3 | predicted_RBI: 0.5388 -> 1.0000 (boost 0.4612, better) | predicted_BB: 0.3783 -> 0.0000 (deboost -0.3783, worse) | AB rounded to 4 (raw=4.11), rates preserved: AVG=0.234 HR/AB=0.052 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4540 -> 0.0000 (deboost -0.4540, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2447 -> 0.2500 (boost 0.0053, better) | predicted_SLG: 0.4815 -> 0.2500 (deboost -0.2315, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4815 (boost 0.2315, better) | predicted_AVG: 0.2500 -> 0.2447 (deboost -0.0053, worse) | 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.291,
"predicted_3B": 0.013,
"predicted_AB": 4.11,
"predicted_AVG": 0.234,
"predicted_BB": 0.354,
"predicted_H": 0.96,
"predicted_HR": 0.2,
"predicted_OBP": 0.32,
"predicted_R": 0.456,
"predicted_RBI": 0.53,
"predicted_SLG": 0.453,
"predicted_SO": 1.241
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2654,
"predicted_3B": 0.0109,
"predicted_AB": 3.9337,
"predicted_AVG": 0.2407,
"predicted_BB": 0.3779,
"predicted_H": 0.9442,
"predicted_HBP": 0.009,
"predicted_HR": 0.2119,
"predicted_OBP": 0.3218,
"predicted_R": 0.4398,
"predicted_RBI": 0.5219,
"predicted_SLG": 0.4737,
"predicted_SO": 1.1469
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.291,
"after": 0.2654,
"delta": -0.0256,
"percent_delta": -0.088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.11,
"after": 3.9337,
"delta": -0.1763,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2407,
"delta": 0.0067,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.3779,
"delta": 0.0239,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9442,
"delta": -0.0158,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2119,
"delta": 0.0119,
"percent_delta": 0.0595,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3218,
"delta": 0.0018,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.4398,
"delta": -0.0162,
"percent_delta": -0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5219,
"delta": -0.0081,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4737,
"delta": 0.0207,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.241,
"after": 1.1469,
"delta": -0.0941,
"percent_delta": -0.0758,
"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.453,
"after": 0.4737,
"delta": 0.0207,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.11,
"after": 3.9337,
"delta": -0.1763,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2654,
"predicted_3B": 0.0109,
"predicted_AB": 3.9337,
"predicted_AVG": 0.2447,
"predicted_BB": 0.3783,
"predicted_H": 0.9626,
"predicted_HBP": 0.009,
"predicted_HR": 0.2147,
"predicted_OBP": 0.311,
"predicted_R": 0.454,
"predicted_RBI": 0.5388,
"predicted_SLG": 0.4815,
"predicted_SO": 1.1458
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2654,
"after": 0.2654,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9337,
"after": 3.9337,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2407,
"after": 0.2447,
"delta": 0.004,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3779,
"after": 0.3783,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9442,
"after": 0.9626,
"delta": 0.0184,
"percent_delta": 0.0195,
"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.2119,
"after": 0.2147,
"delta": 0.0028,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3218,
"after": 0.311,
"delta": -0.0108,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4398,
"after": 0.454,
"delta": 0.0142,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5219,
"after": 0.5388,
"delta": 0.0169,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4737,
"after": 0.4815,
"delta": 0.0078,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1469,
"after": 1.1458,
"delta": -0.0011,
"percent_delta": -0.001,
"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.4737,
"after": 0.4815,
"delta": 0.0078,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3218,
"after": 0.311,
"delta": -0.0108,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.11), rates preserved: AVG=0.234 HR/AB=0.052",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2654,
"after": 0.0,
"delta": -0.2654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9337,
"after": 4.0,
"delta": 0.0663,
"percent_delta": 0.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3783,
"after": 0.0,
"delta": -0.3783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9626,
"after": 1.0,
"delta": 0.0374,
"percent_delta": 0.0389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2147,
"after": 0.0,
"delta": -0.2147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5388,
"after": 1.0,
"delta": 0.4612,
"percent_delta": 0.856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1458,
"after": 1.0,
"delta": -0.1458,
"percent_delta": -0.1272,
"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.5388,
"after": 1.0,
"delta": 0.4612,
"percent_delta": 0.856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3783,
"after": 0.0,
"delta": -0.3783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.454,
"after": 0.0,
"delta": -0.454,
"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.454,
"after": 0.0,
"delta": -0.454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2447,
"after": 0.25,
"delta": 0.0053,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.061,
"percent_delta": -0.1961,
"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.4815,
"after": 0.25,
"delta": -0.2315,
"percent_delta": -0.4808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2447,
"after": 0.25,
"delta": 0.0053,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4815,
"after": 0.25,
"delta": -0.2315,
"percent_delta": -0.4808,
"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": 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": 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.2447,
"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.311,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4815,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2447,
"delta": -0.0053,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.311,
"delta": 0.061,
"percent_delta": 0.2439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4815,
"delta": 0.2315,
"percent_delta": 0.926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4815,
"delta": 0.2315,
"percent_delta": 0.926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2447,
"delta": -0.0053,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.291,
"after": 0.0,
"delta": -0.291,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.11,
"after": 4.0,
"delta": -0.11,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2447,
"delta": 0.0107,
"percent_delta": 0.0457,
"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.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.311,
"delta": -0.009,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.0,
"delta": -0.456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4815,
"delta": 0.0285,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.241,
"after": 2.0,
"delta": 0.759,
"percent_delta": 0.6116,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.241,
"after": 2.0,
"delta": 0.759,
"percent_delta": 0.6116,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.291 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 4.110 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.354 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.453 | - |
| predicted_SO | 1.241 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.265 | -0.026 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.934 | -0.176 |
| predicted_AVG | 0.241 | 0.007 |
| predicted_BB | 0.378 | 0.024 |
| predicted_H | 0.944 | -0.016 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.212 | 0.012 |
| predicted_OBP | 0.322 | 0.002 |
| predicted_R | 0.440 | -0.016 |
| predicted_RBI | 0.522 | -0.008 |
| predicted_SLG | 0.474 | 0.021 |
| predicted_SO | 1.147 | -0.094 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.265 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.934 | 0.000 |
| predicted_AVG | 0.245 | 0.004 |
| predicted_BB | 0.378 | 0.000 |
| predicted_H | 0.963 | 0.018 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.215 | 0.003 |
| predicted_OBP | 0.311 | -0.011 |
| predicted_R | 0.454 | 0.014 |
| predicted_RBI | 0.539 | 0.017 |
| predicted_SLG | 0.481 | 0.008 |
| predicted_SO | 1.146 | -0.001 |
AB rounded to 4 (raw=4.11), rates preserved: AVG=0.234 HR/AB=0.052
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.265 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.066 |
| predicted_AVG | 0.250 | 0.005 |
| predicted_BB | 0.000 | -0.378 |
| predicted_H | 1.000 | 0.037 |
| predicted_HR | 0.000 | -0.215 |
| predicted_OBP | 0.250 | -0.061 |
| predicted_R | 0.000 | -0.454 |
| predicted_RBI | 1.000 | 0.461 |
| predicted_SLG | 0.250 | -0.231 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 2.000 | 4.000 | 0.2222 | 0.3000 | 0.5556 | 0.2222 | 0.1111 | 0.1667 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 33.000 | 10.000 | 3.000 | 0.000 | 3.000 | 5.000 | 3.000 | 6.000 | 7.000 | 0.3030 | 0.4103 | 0.6667 | 0.3030 | 0.0909 | 0.1515 | 0.1818 | 0.2121 |
| season | 0.60 | 79 | - | 303.000 | 73.000 | 23.000 | 1.000 | 12.000 | 38.000 | 36.000 | 28.000 | 98.000 | 0.2409 | 0.3054 | 0.4422 | 0.2409 | 0.0396 | 0.1254 | 0.0924 | 0.3234 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2310 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6960 |
| predicted_AVG | 0.2497 |
| predicted_BB | 0.4100 |
| predicted_H | 0.9230 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2280 |
| predicted_OBP | 0.3243 |
| predicted_R | 0.4180 |
| predicted_RBI | 0.5110 |
| predicted_SLG | 0.5016 |
| predicted_SO | 1.0200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2910 | 0.2310 | 0.2654 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.1100 | 3.6960 | 3.9337 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2497 | 0.2407 | model_form_blend |
| predicted_BB | 0.3540 | 0.4100 | 0.3779 | model_form_blend |
| predicted_H | 0.9600 | 0.9230 | 0.9442 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.2000 | 0.2280 | 0.2119 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3243 | 0.3218 | model_form_blend |
| predicted_R | 0.4560 | 0.4180 | 0.4398 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5110 | 0.5219 | model_form_blend |
| predicted_SLG | 0.4530 | 0.5016 | 0.4737 | model_form_blend |
| predicted_SO | 1.2410 | 1.0200 | 1.1469 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260624_OAK@SF |
| game_type | full |
| mlbID | 646240 |
| playerID | 646240 |
| playerName | Rafael Devers |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.319 |
| sl_xwoba | 0.304 |
| sl_xba | 0.223 |
| sl_xslg | 0.418 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 10.1 |
| sl_hard_hit_percent | 50.2 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 49.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.800 | 2.000 | 4.000 | Hitting_AB | 3.324 | 3.000 | -1.324 | -1.000 |
| predicted_AVG | 0.233 | 0.500 | 0.250 | Hitting_AVG | 0.240 | 0.000 | 0.260 | 0.500 |
| predicted_BB | 0.564 | 2.000 | 1.000 | Hitting_BB | 0.473 | 1.000 | 1.527 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 1.000 | 1.000 | Hitting_H | 0.797 | 0.000 | 0.203 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_OBP | 0.337 | 0.750 | 0.400 | Hitting_OBP | 0.333 | 0.250 | 0.417 | 0.500 |
| predicted_R | 0.513 | 0.000 | 0.000 | Hitting_R | 0.351 | 0.000 | -0.351 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_SLG | 0.383 | 0.500 | 0.250 | Hitting_SLG | 0.398 | 0.000 | 0.102 | 0.500 |
| predicted_SO | 0.872 | 0.000 | 1.000 | Hitting_SO | 0.919 | 2.000 | -0.919 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.5640 -> 2.0000 (boost 1.4360, better) |
| Biggest Deboost | predicted_AB: 3.8000 -> 2.0000 (deboost -1.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 | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.8720 -> 0.9235 (boost 0.0515, worse) | predicted_AB: 3.8000 -> 3.6544 (deboost -0.1456, worse) | Final model input calibrated with local 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.3804 -> 0.3956 (boost 0.0152, 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.5823 -> 1.0000 (boost 0.4177, better) | predicted_RBI: 0.4116 -> 0.0000 (deboost -0.4116, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.229 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4847 -> 0.0000 (deboost -0.4847, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3426 -> 0.4000 (boost 0.0574, better) | predicted_SLG: 0.3956 -> 0.2500 (deboost -0.1456, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3956 (boost 0.1456, better) | predicted_OBP: 0.4000 -> 0.3426 (deboost -0.0574, 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.231,
"predicted_3B": 0.0,
"predicted_AB": 3.8,
"predicted_AVG": 0.233,
"predicted_BB": 0.564,
"predicted_H": 0.89,
"predicted_HR": 0.13,
"predicted_OBP": 0.337,
"predicted_R": 0.513,
"predicted_RBI": 0.42,
"predicted_SLG": 0.383,
"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.1968,
"predicted_3B": 0.0008,
"predicted_AB": 3.6544,
"predicted_AVG": 0.2326,
"predicted_BB": 0.5817,
"predicted_H": 0.8526,
"predicted_HBP": 0.005,
"predicted_HR": 0.1244,
"predicted_OBP": 0.3413,
"predicted_R": 0.4695,
"predicted_RBI": 0.3987,
"predicted_SLG": 0.3804,
"predicted_SO": 0.9235
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.1968,
"delta": -0.0342,
"percent_delta": -0.1481,
"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.8,
"after": 3.6544,
"delta": -0.1456,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2326,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.564,
"after": 0.5817,
"delta": 0.0177,
"percent_delta": 0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8526,
"delta": -0.0374,
"percent_delta": -0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1244,
"delta": -0.0056,
"percent_delta": -0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3413,
"delta": 0.0043,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.513,
"after": 0.4695,
"delta": -0.0435,
"percent_delta": -0.0848,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.3987,
"delta": -0.0213,
"percent_delta": -0.0507,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3804,
"delta": -0.0026,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.872,
"after": 0.9235,
"delta": 0.0515,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.872,
"after": 0.9235,
"delta": 0.0515,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.8,
"after": 3.6544,
"delta": -0.1456,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 39
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1968,
"predicted_3B": 0.0008,
"predicted_AB": 3.6544,
"predicted_AVG": 0.2379,
"predicted_BB": 0.5823,
"predicted_H": 0.8692,
"predicted_HBP": 0.005,
"predicted_HR": 0.1261,
"predicted_OBP": 0.3426,
"predicted_R": 0.4847,
"predicted_RBI": 0.4116,
"predicted_SLG": 0.3956,
"predicted_SO": 0.9226
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1968,
"after": 0.1968,
"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.6544,
"after": 3.6544,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2326,
"after": 0.2379,
"delta": 0.0053,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5817,
"after": 0.5823,
"delta": 0.0006,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8526,
"after": 0.8692,
"delta": 0.0166,
"percent_delta": 0.0195,
"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.1244,
"after": 0.1261,
"delta": 0.0017,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3413,
"after": 0.3426,
"delta": 0.0013,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4695,
"after": 0.4847,
"delta": 0.0152,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3987,
"after": 0.4116,
"delta": 0.0129,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3804,
"after": 0.3956,
"delta": 0.0152,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9235,
"after": 0.9226,
"delta": -0.0009,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3804,
"after": 0.3956,
"delta": 0.0152,
"percent_delta": 0.04,
"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.80), rates preserved: AVG=0.229 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1968,
"after": 0.0,
"delta": -0.1968,
"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.6544,
"after": 4.0,
"delta": 0.3456,
"percent_delta": 0.0946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5823,
"after": 1.0,
"delta": 0.4177,
"percent_delta": 0.7173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8692,
"after": 1.0,
"delta": 0.1308,
"percent_delta": 0.1505,
"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.1261,
"after": 0.0,
"delta": -0.1261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4116,
"after": 0.0,
"delta": -0.4116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9226,
"after": 1.0,
"delta": 0.0774,
"percent_delta": 0.0839,
"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.5823,
"after": 1.0,
"delta": 0.4177,
"percent_delta": 0.7173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4116,
"after": 0.0,
"delta": -0.4116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4847,
"after": 0.0,
"delta": -0.4847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4847,
"after": 0.0,
"delta": -0.4847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2379,
"after": 0.25,
"delta": 0.0121,
"percent_delta": 0.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3426,
"after": 0.4,
"delta": 0.0574,
"percent_delta": 0.1675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3956,
"after": 0.25,
"delta": -0.1456,
"percent_delta": -0.368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3426,
"after": 0.4,
"delta": 0.0574,
"percent_delta": 0.1675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3956,
"after": 0.25,
"delta": -0.1456,
"percent_delta": -0.368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2379,
"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.3426,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3956,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2379,
"delta": -0.0121,
"percent_delta": -0.0486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3426,
"delta": -0.0574,
"percent_delta": -0.1435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3956,
"delta": 0.1456,
"percent_delta": 0.5826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3956,
"delta": 0.1456,
"percent_delta": 0.5826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3426,
"delta": -0.0574,
"percent_delta": -0.1435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 2.0,
"delta": -1.8,
"percent_delta": -0.4737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2379,
"delta": 0.0049,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.564,
"after": 2.0,
"delta": 1.436,
"percent_delta": 2.5461,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3426,
"delta": 0.0056,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.513,
"after": 0.0,
"delta": -0.513,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3956,
"delta": 0.0126,
"percent_delta": 0.0329,
"direction": "boost",
"projection_effect": "better",
"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": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.564,
"after": 2.0,
"delta": 1.436,
"percent_delta": 2.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.8,
"after": 2.0,
"delta": -1.8,
"percent_delta": -0.4737,
"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.231 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.564 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.513 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.383 | - |
| 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.197 | -0.034 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.654 | -0.146 |
| predicted_AVG | 0.233 | -0.000 |
| predicted_BB | 0.582 | 0.018 |
| predicted_H | 0.853 | -0.037 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.124 | -0.006 |
| predicted_OBP | 0.341 | 0.004 |
| predicted_R | 0.469 | -0.044 |
| predicted_RBI | 0.399 | -0.021 |
| predicted_SLG | 0.380 | -0.003 |
| predicted_SO | 0.923 | 0.051 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.654 | 0.000 |
| predicted_AVG | 0.238 | 0.005 |
| predicted_BB | 0.582 | 0.001 |
| predicted_H | 0.869 | 0.017 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.126 | 0.002 |
| predicted_OBP | 0.343 | 0.001 |
| predicted_R | 0.485 | 0.015 |
| predicted_RBI | 0.412 | 0.013 |
| predicted_SLG | 0.396 | 0.015 |
| predicted_SO | 0.923 | -0.001 |
AB rounded to 4 (raw=3.80), rates preserved: AVG=0.229 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.197 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.346 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 1.000 | 0.418 |
| predicted_H | 1.000 | 0.131 |
| predicted_HR | 0.000 | -0.126 |
| predicted_OBP | 0.400 | 0.057 |
| predicted_R | 0.000 | -0.485 |
| predicted_RBI | 0.000 | -0.412 |
| predicted_SLG | 0.250 | -0.146 |
| predicted_SO | 1.000 | 0.077 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -2.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 | 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 | 0.000 | 0.000 | 1.000 | 4.000 | 8.000 | 0.0588 | 0.2381 | 0.0588 | 0.0588 | 0.0000 | 0.0000 | 0.2353 | 0.4706 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 8.000 | 9.000 | 0.2121 | 0.3659 | 0.3030 | 0.2121 | 0.0303 | 0.1212 | 0.2424 | 0.2727 |
| season | 0.60 | 39 | - | 131.000 | 38.000 | 9.000 | 0.000 | 6.000 | 17.000 | 20.000 | 22.000 | 34.000 | 0.2901 | 0.3896 | 0.4962 | 0.2901 | 0.0458 | 0.1298 | 0.1679 | 0.2595 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4380 |
| predicted_AVG | 0.2319 |
| predicted_BB | 0.6080 |
| predicted_H | 0.7970 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.3478 |
| predicted_R | 0.4050 |
| predicted_RBI | 0.3670 |
| predicted_SLG | 0.3766 |
| predicted_SO | 1.0000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.1460 | 0.1968 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8000 | 3.4380 | 3.6544 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2319 | 0.2326 | model_form_blend |
| predicted_BB | 0.5640 | 0.6080 | 0.5817 | model_form_blend |
| predicted_H | 0.8900 | 0.7970 | 0.8526 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1300 | 0.1160 | 0.1244 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3478 | 0.3413 | model_form_blend |
| predicted_R | 0.5130 | 0.4050 | 0.4695 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3670 | 0.3987 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3766 | 0.3804 | model_form_blend |
| predicted_SO | 0.8720 | 1.0000 | 0.9235 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 74 |
| Season rows before report date | 74 |
| Report year | 2026 |
| Profile rows used | 39 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 805811 |
| playerID | 805811 |
| playerName | Bryce Eldridge |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.379 |
| sl_xwoba | 0.371 |
| sl_xba | 0.269 |
| sl_xslg | 0.492 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 53.6 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 22.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.247 | 0.000 | 0.000 | Hitting_2B | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.190 | 4.000 | 4.000 | Hitting_AB | 4.165 | 4.000 | -0.165 | 0.000 |
| predicted_AVG | 0.215 | 0.000 | 0.250 | Hitting_AVG | 0.248 | 0.000 | -0.248 | 0.000 |
| predicted_BB | 0.208 | 0.000 | 0.000 | Hitting_BB | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 1.031 | 0.000 | -1.031 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_OBP | 0.255 | 0.000 | 0.250 | Hitting_OBP | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_R | 0.494 | 0.000 | 0.000 | Hitting_R | 0.524 | 0.000 | -0.524 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.390 | 0.000 | -0.390 | 0.000 |
| predicted_SLG | 0.377 | 0.000 | 0.250 | Hitting_SLG | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_SO | 1.169 | 1.000 | 1.000 | Hitting_SO | 1.209 | 2.000 | -0.209 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | - |
| Biggest Deboost | predicted_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 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.1900 -> 4.0748 (deboost -0.1152, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3728 -> 0.3804 (boost 0.0076, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.8708 -> 1.0000 (boost 0.1292, better) | predicted_RBI: 0.3512 -> 0.0000 (deboost -0.3512, worse) | AB rounded to 4 (raw=4.19), rates preserved: AVG=0.208 HR/AB=0.034 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4950 -> 0.0000 (deboost -0.4950, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2137 -> 0.2500 (boost 0.0363, better) | predicted_SLG: 0.3804 -> 0.2500 (deboost -0.1304, 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 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3804 (boost 0.1304, better) | predicted_AVG: 0.2500 -> 0.2137 (deboost -0.0363, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642715",
"player_name": "Willy Adames",
"position": "SS",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.247,
"predicted_3B": 0.013,
"predicted_AB": 4.19,
"predicted_AVG": 0.215,
"predicted_BB": 0.208,
"predicted_H": 0.9,
"predicted_HR": 0.14,
"predicted_OBP": 0.255,
"predicted_R": 0.494,
"predicted_RBI": 0.37,
"predicted_SLG": 0.377,
"predicted_SO": 1.169
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2291,
"predicted_3B": 0.0109,
"predicted_AB": 4.0748,
"predicted_AVG": 0.2096,
"predicted_BB": 0.1782,
"predicted_H": 0.8541,
"predicted_HBP": 0.01,
"predicted_HR": 0.1409,
"predicted_OBP": 0.2441,
"predicted_R": 0.4795,
"predicted_RBI": 0.3402,
"predicted_SLG": 0.3728,
"predicted_SO": 1.138
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.2291,
"delta": -0.0179,
"percent_delta": -0.0725,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.19,
"after": 4.0748,
"delta": -0.1152,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2096,
"delta": -0.0054,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.208,
"after": 0.1782,
"delta": -0.0298,
"percent_delta": -0.1433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.8541,
"delta": -0.0459,
"percent_delta": -0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1409,
"delta": 0.0009,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2441,
"delta": -0.0109,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.4795,
"delta": -0.0145,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3402,
"delta": -0.0298,
"percent_delta": -0.0805,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3728,
"delta": -0.0042,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.169,
"after": 1.138,
"delta": -0.031,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.19,
"after": 4.0748,
"delta": -0.1152,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2291,
"predicted_3B": 0.0109,
"predicted_AB": 4.0748,
"predicted_AVG": 0.2137,
"predicted_BB": 0.1784,
"predicted_H": 0.8708,
"predicted_HBP": 0.01,
"predicted_HR": 0.1428,
"predicted_OBP": 0.2467,
"predicted_R": 0.495,
"predicted_RBI": 0.3512,
"predicted_SLG": 0.3804,
"predicted_SO": 1.1369
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2291,
"after": 0.2291,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0748,
"after": 4.0748,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2096,
"after": 0.2137,
"delta": 0.0041,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1782,
"after": 0.1784,
"delta": 0.0002,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8541,
"after": 0.8708,
"delta": 0.0167,
"percent_delta": 0.0196,
"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.1409,
"after": 0.1428,
"delta": 0.0019,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2441,
"after": 0.2467,
"delta": 0.0026,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4795,
"after": 0.495,
"delta": 0.0155,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3402,
"after": 0.3512,
"delta": 0.011,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3728,
"after": 0.3804,
"delta": 0.0076,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.138,
"after": 1.1369,
"delta": -0.0011,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3728,
"after": 0.3804,
"delta": 0.0076,
"percent_delta": 0.0204,
"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.208 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.2291,
"after": 0.0,
"delta": -0.2291,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0748,
"after": 4.0,
"delta": -0.0748,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1784,
"after": 0.0,
"delta": -0.1784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8708,
"after": 1.0,
"delta": 0.1292,
"percent_delta": 0.1484,
"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.1428,
"after": 0.0,
"delta": -0.1428,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1369,
"after": 1.0,
"delta": -0.1369,
"percent_delta": -0.1204,
"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.8708,
"after": 1.0,
"delta": 0.1292,
"percent_delta": 0.1484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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=7.0, weight=0.076, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.0,
"delta": -0.495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.495,
"after": 0.0,
"delta": -0.495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2137,
"after": 0.25,
"delta": 0.0363,
"percent_delta": 0.1699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2467,
"after": 0.25,
"delta": 0.0033,
"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.3804,
"after": 0.25,
"delta": -0.1304,
"percent_delta": -0.3428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2137,
"after": 0.25,
"delta": 0.0363,
"percent_delta": 0.1699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3804,
"after": 0.25,
"delta": -0.1304,
"percent_delta": -0.3428,
"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.2137,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2467,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3804,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2137,
"delta": -0.0363,
"percent_delta": -0.1452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2467,
"delta": -0.0033,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3804,
"delta": 0.1304,
"percent_delta": 0.5216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3804,
"delta": 0.1304,
"percent_delta": 0.5216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2137,
"delta": -0.0363,
"percent_delta": -0.1452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.19,
"after": 4.0,
"delta": -0.19,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2137,
"delta": -0.0013,
"percent_delta": -0.006,
"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": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2467,
"delta": -0.0083,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.0,
"delta": -0.494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3804,
"delta": 0.0034,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.169,
"after": 1.0,
"delta": -0.169,
"percent_delta": -0.1446,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": null,
"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.247 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 4.190 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.208 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.255 | - |
| predicted_R | 0.494 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.377 | - |
| predicted_SO | 1.169 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.229 | -0.018 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 4.075 | -0.115 |
| predicted_AVG | 0.210 | -0.005 |
| predicted_BB | 0.178 | -0.030 |
| predicted_H | 0.854 | -0.046 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.141 | 0.001 |
| predicted_OBP | 0.244 | -0.011 |
| predicted_R | 0.479 | -0.015 |
| predicted_RBI | 0.340 | -0.030 |
| predicted_SLG | 0.373 | -0.004 |
| predicted_SO | 1.138 | -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.229 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 4.075 | 0.000 |
| predicted_AVG | 0.214 | 0.004 |
| predicted_BB | 0.178 | 0.000 |
| predicted_H | 0.871 | 0.017 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.143 | 0.002 |
| predicted_OBP | 0.247 | 0.003 |
| predicted_R | 0.495 | 0.016 |
| predicted_RBI | 0.351 | 0.011 |
| predicted_SLG | 0.380 | 0.008 |
| predicted_SO | 1.137 | -0.001 |
AB rounded to 4 (raw=4.19), rates preserved: AVG=0.208 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.229 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | -0.075 |
| predicted_AVG | 0.250 | 0.036 |
| predicted_BB | 0.000 | -0.178 |
| predicted_H | 1.000 | 0.129 |
| predicted_HR | 0.000 | -0.143 |
| predicted_OBP | 0.250 | 0.003 |
| predicted_R | 0.000 | -0.495 |
| predicted_RBI | 0.000 | -0.351 |
| predicted_SLG | 0.250 | -0.130 |
| predicted_SO | 1.000 | -0.137 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 6.000 | 0.1500 | 0.1500 | 0.2000 | 0.1500 | 0.0000 | 0.0000 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 1.000 | 0.000 | 2.000 | 2.000 | 4.000 | 0.000 | 9.000 | 0.1622 | 0.1622 | 0.3514 | 0.1622 | 0.0541 | 0.0541 | 0.0000 | 0.2432 |
| season | 0.60 | 77 | - | 306.000 | 69.000 | 19.000 | 1.000 | 13.000 | 31.000 | 38.000 | 16.000 | 90.000 | 0.2255 | 0.2654 | 0.4216 | 0.2255 | 0.0425 | 0.1013 | 0.0523 | 0.2941 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2050 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.9190 |
| predicted_AVG | 0.2022 |
| predicted_BB | 0.1380 |
| predicted_H | 0.7920 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.2294 |
| predicted_R | 0.4600 |
| predicted_RBI | 0.3000 |
| predicted_SLG | 0.3672 |
| predicted_SO | 1.0960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2470 | 0.2050 | 0.2291 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.1900 | 3.9190 | 4.0748 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2022 | 0.2096 | model_form_blend |
| predicted_BB | 0.2080 | 0.1380 | 0.1782 | model_form_blend |
| predicted_H | 0.9000 | 0.7920 | 0.8541 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1400 | 0.1420 | 0.1409 | model_form_blend |
| predicted_OBP | 0.2550 | 0.2294 | 0.2441 | model_form_blend |
| predicted_R | 0.4940 | 0.4600 | 0.4795 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3000 | 0.3402 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3672 | 0.3728 | model_form_blend |
| predicted_SO | 1.1690 | 1.0960 | 1.1380 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 254 |
| Season rows before report date | 254 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | SS |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 642715 |
| playerID | 642715 |
| playerName | Willy Adames |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 27.5 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.297 |
| sl_xwoba | 0.287 |
| sl_xba | 0.22 |
| sl_xslg | 0.396 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 40.6 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 22.7 |
| sl_whiff_percent | 28.0 |
| 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.156 | 0.000 | 0.000 | Hitting_2B | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_AB | 3.188 | 3.000 | 3.000 | Hitting_AB | 3.247 | 0.000 | -0.247 | 3.000 |
| predicted_AVG | 0.227 | 0.000 | 0.333 | Hitting_AVG | 0.312 | - | -0.312 | - |
| predicted_BB | 0.188 | 1.000 | 0.000 | Hitting_BB | 0.260 | 0.000 | 0.740 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_H | 0.240 | 0.000 | 1.000 | Hitting_H | 1.014 | 0.000 | -1.014 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.248 | 0.250 | 0.333 | Hitting_OBP | 0.365 | - | -0.115 | - |
| predicted_R | 0.156 | 0.000 | 0.000 | Hitting_R | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.562 | 0.000 | -0.562 | 0.000 |
| predicted_SLG | 0.302 | 0.000 | 0.333 | Hitting_SLG | 0.409 | - | -0.409 | - |
| predicted_SO | 0.844 | 1.000 | 1.000 | Hitting_SO | 0.795 | 0.000 | 0.205 | 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.1880 -> 1.0000 (boost 0.8120, better) |
| Biggest Deboost | predicted_H: 0.2400 -> 0.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 | 4 | 2 | 2 | 2 | 2 | predicted_H: 0.2400 -> 0.4201 (boost 0.1801, better) | predicted_SLG: 0.3020 -> 0.2956 (deboost -0.0064, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2220 -> 0.1327 (deboost -0.0893, 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.8672 -> 1.0000 (boost 0.1328, worse) | predicted_H: 0.4283 -> 0.0000 (deboost -0.4283, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.133 HR/AB=0.007 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.1719 -> 0.0000 (deboost -0.1719, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1327 -> 0.3330 (boost 0.2003, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1327 (deboost -0.2003, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691740",
"player_name": "Daniel Susac",
"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.156,
"predicted_3B": 0.031,
"predicted_AB": 3.188,
"predicted_AVG": 0.227,
"predicted_BB": 0.188,
"predicted_H": 0.24,
"predicted_HR": 0.02,
"predicted_OBP": 0.248,
"predicted_R": 0.156,
"predicted_RBI": 0.15,
"predicted_SLG": 0.302,
"predicted_SO": 0.844
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1447,
"predicted_3B": 0.026,
"predicted_AB": 3.2264,
"predicted_AVG": 0.222,
"predicted_BB": 0.1775,
"predicted_H": 0.4201,
"predicted_HBP": 0.054,
"predicted_HR": 0.0216,
"predicted_OBP": 0.2515,
"predicted_R": 0.1665,
"predicted_RBI": 0.2428,
"predicted_SLG": 0.2956,
"predicted_SO": 0.8681
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.1447,
"delta": -0.0113,
"percent_delta": -0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.026,
"delta": -0.005,
"percent_delta": -0.1613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.188,
"after": 3.2264,
"delta": 0.0384,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.222,
"delta": -0.005,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 0.1775,
"delta": -0.0105,
"percent_delta": -0.0559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.4201,
"delta": 0.1801,
"percent_delta": 0.7504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0216,
"delta": 0.0016,
"percent_delta": 0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.2515,
"delta": 0.0035,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.156,
"after": 0.1665,
"delta": 0.0105,
"percent_delta": 0.0673,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.2428,
"delta": 0.0928,
"percent_delta": 0.6187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.2956,
"delta": -0.0064,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.844,
"after": 0.8681,
"delta": 0.0241,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.24,
"after": 0.4201,
"delta": 0.1801,
"percent_delta": 0.7504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.2956,
"delta": -0.0064,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1447,
"predicted_3B": 0.026,
"predicted_AB": 3.2264,
"predicted_AVG": 0.1327,
"predicted_BB": 0.1777,
"predicted_H": 0.4283,
"predicted_HBP": 0.054,
"predicted_HR": 0.0219,
"predicted_OBP": 0.178,
"predicted_R": 0.1719,
"predicted_RBI": 0.2507,
"predicted_SLG": 0.2141,
"predicted_SO": 0.8672
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1447,
"after": 0.1447,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2264,
"after": 3.2264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.1327,
"delta": -0.0893,
"percent_delta": -0.4023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1775,
"after": 0.1777,
"delta": 0.0002,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4201,
"after": 0.4283,
"delta": 0.0082,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0216,
"after": 0.0219,
"delta": 0.0003,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2515,
"after": 0.178,
"delta": -0.0735,
"percent_delta": -0.2922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1665,
"after": 0.1719,
"delta": 0.0054,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2428,
"after": 0.2507,
"delta": 0.0079,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2956,
"after": 0.2141,
"delta": -0.0815,
"percent_delta": -0.2757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8681,
"after": 0.8672,
"delta": -0.0009,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.1327,
"delta": -0.0893,
"percent_delta": -0.4023,
"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.133 HR/AB=0.007",
"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.1447,
"after": 0.0,
"delta": -0.1447,
"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.2264,
"after": 3.0,
"delta": -0.2264,
"percent_delta": -0.0702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1777,
"after": 0.0,
"delta": -0.1777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4283,
"after": 0.0,
"delta": -0.4283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0219,
"after": 0.0,
"delta": -0.0219,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2507,
"after": 0.0,
"delta": -0.2507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8672,
"after": 1.0,
"delta": 0.1328,
"percent_delta": 0.1531,
"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.8672,
"after": 1.0,
"delta": 0.1328,
"percent_delta": 0.1531,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4283,
"after": 0.0,
"delta": -0.4283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.1719,
"after": 0.0,
"delta": -0.1719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1719,
"after": 0.0,
"delta": -0.1719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1327,
"after": 0.333,
"delta": 0.2003,
"percent_delta": 1.5094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.178,
"after": 0.333,
"delta": 0.155,
"percent_delta": 0.8708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2141,
"after": 0.333,
"delta": 0.1189,
"percent_delta": 0.5553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1327,
"after": 0.333,
"delta": 0.2003,
"percent_delta": 1.5094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1327,
"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.178,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2141,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1327,
"delta": -0.2003,
"percent_delta": -0.6014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.178,
"delta": -0.155,
"percent_delta": -0.4654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2141,
"delta": -0.1189,
"percent_delta": -0.3572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1327,
"delta": -0.2003,
"percent_delta": -0.6014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.188,
"after": 3.0,
"delta": -0.188,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.1327,
"delta": -0.0943,
"percent_delta": -0.4154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 1.0,
"delta": 0.812,
"percent_delta": 4.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.178,
"delta": -0.07,
"percent_delta": -0.2823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.2141,
"delta": -0.0879,
"percent_delta": -0.2911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.844,
"after": 1.0,
"delta": 0.156,
"percent_delta": 0.1848,
"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.188,
"after": 1.0,
"delta": 0.812,
"percent_delta": 4.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.031 | - |
| predicted_AB | 3.188 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.188 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.248 | - |
| predicted_R | 0.156 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.302 | - |
| predicted_SO | 0.844 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.011 |
| predicted_3B | 0.026 | -0.005 |
| predicted_AB | 3.226 | 0.038 |
| predicted_AVG | 0.222 | -0.005 |
| predicted_BB | 0.177 | -0.011 |
| predicted_H | 0.420 | 0.180 |
| predicted_HBP | 0.054 | - |
| predicted_HR | 0.022 | 0.002 |
| predicted_OBP | 0.252 | 0.004 |
| predicted_R | 0.167 | 0.011 |
| predicted_RBI | 0.243 | 0.093 |
| predicted_SLG | 0.296 | -0.006 |
| predicted_SO | 0.868 | 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.145 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 3.226 | 0.000 |
| predicted_AVG | 0.133 | -0.089 |
| predicted_BB | 0.178 | 0.000 |
| predicted_H | 0.428 | 0.008 |
| predicted_HBP | 0.054 | 0.000 |
| predicted_HR | 0.022 | 0.000 |
| predicted_OBP | 0.178 | -0.074 |
| predicted_R | 0.172 | 0.005 |
| predicted_RBI | 0.251 | 0.008 |
| predicted_SLG | 0.214 | -0.081 |
| predicted_SO | 0.867 | -0.001 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.133 HR/AB=0.007
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.145 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 3.000 | -0.226 |
| predicted_AVG | 0.333 | 0.200 |
| predicted_BB | 0.000 | -0.178 |
| predicted_H | 1.000 | 0.572 |
| predicted_HR | 0.000 | -0.022 |
| predicted_OBP | 0.333 | 0.155 |
| predicted_R | 0.000 | -0.172 |
| predicted_RBI | 0.000 | -0.251 |
| predicted_SLG | 0.333 | 0.119 |
| predicted_SO | 1.000 | 0.133 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 6.000 | 0.0667 | 0.0667 | 0.0667 | 0.0667 | 0.0000 | 0.0667 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 31.000 | 5.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 8.000 | 0.1613 | 0.2059 | 0.1935 | 0.1613 | 0.0000 | 0.0968 | 0.0323 | 0.2581 |
| season | 0.60 | 32 | - | 102.000 | 27.000 | 5.000 | 1.000 | 0.000 | 14.000 | 5.000 | 6.000 | 27.000 | 0.2647 | 0.3125 | 0.3333 | 0.2647 | 0.0000 | 0.1373 | 0.0588 | 0.2647 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1270 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.2870 |
| predicted_AVG | 0.2142 |
| predicted_BB | 0.1610 |
| predicted_H | 0.7040 |
| predicted_HBP | 0.0540 |
| predicted_HR | 0.0240 |
| predicted_OBP | 0.2571 |
| predicted_R | 0.1830 |
| predicted_RBI | 0.3890 |
| predicted_SLG | 0.2854 |
| predicted_SO | 0.9060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.1270 | 0.1447 | model_form_blend |
| predicted_3B | 0.0310 | 0.0180 | 0.0260 | model_form_blend |
| predicted_AB | 3.1880 | 3.2870 | 3.2264 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2142 | 0.2220 | model_form_blend |
| predicted_BB | 0.1880 | 0.1610 | 0.1775 | model_form_blend |
| predicted_H | 0.2400 | 0.7040 | 0.4201 | model_form_blend |
| predicted_HBP | - | 0.0540 | 0.0540 | form_only |
| predicted_HR | 0.0200 | 0.0240 | 0.0216 | model_form_blend |
| predicted_OBP | 0.2480 | 0.2571 | 0.2515 | model_form_blend |
| predicted_R | 0.1560 | 0.1830 | 0.1665 | model_form_blend |
| predicted_RBI | 0.1500 | 0.3890 | 0.2428 | model_form_blend |
| predicted_SLG | 0.3020 | 0.2854 | 0.2956 | model_form_blend |
| predicted_SO | 0.8440 | 0.9060 | 0.8681 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 73 |
| Season rows before report date | 73 |
| 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 | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.265 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260624_OAK@SF |
| game_type | short |
| mlbID | 691740 |
| playerID | 691740 |
| playerName | Daniel Susac |
| pos | C |
| started | False |
| startingPosition | C |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.291 |
| sl_xwoba | 0.29 |
| sl_xba | 0.252 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 40.5 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 29.1 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 55.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.271 | 0.000 | 0.000 | Hitting_2B | 0.249 | 1.000 | -0.249 | -1.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.870 | 4.000 | 4.000 | Hitting_AB | 3.912 | 4.000 | 0.088 | 0.000 |
| predicted_AVG | 0.278 | 0.500 | 0.250 | Hitting_AVG | 0.304 | 0.500 | 0.196 | 0.000 |
| predicted_BB | 0.186 | 0.000 | 0.000 | Hitting_BB | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.080 | 2.000 | 1.000 | Hitting_H | 1.189 | 2.000 | 0.811 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.360 | 0.500 | 0.250 | Hitting_OBP | 0.346 | 0.500 | 0.154 | 0.000 |
| predicted_R | 0.571 | 1.000 | 1.000 | Hitting_R | 0.516 | 0.000 | 0.484 | 1.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.387 | 0.000 | -0.387 | 0.000 |
| predicted_SLG | 0.485 | 0.500 | 0.250 | Hitting_SLG | 0.431 | 0.750 | 0.069 | -0.250 |
| predicted_SO | 0.343 | 0.000 | 0.000 | Hitting_SO | 0.406 | 0.000 | -0.406 | 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.0800 -> 2.0000 (boost 0.9200, better) |
| Biggest Deboost | predicted_RBI: 0.3900 -> 0.0000 (deboost -0.3900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.0800 -> 1.1653 (boost 0.0853, better) | predicted_AB: 3.8700 -> 3.8126 (deboost -0.0574, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3055 -> 0.3116 (boost 0.0061, better) | predicted_OBP: 0.3695 -> 0.3473 (deboost -0.0222, 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.8126 -> 4.0000 (boost 0.1874, better) | predicted_RBI: 0.3834 -> 0.0000 (deboost -0.3834, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.307 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6083 -> 1.0000 (boost 0.3917, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5008 -> 0.2500 (deboost -0.2508, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5008 (boost 0.2508, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"position": "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.271,
"predicted_3B": 0.029,
"predicted_AB": 3.87,
"predicted_AVG": 0.278,
"predicted_BB": 0.186,
"predicted_H": 1.08,
"predicted_HR": 0.11,
"predicted_OBP": 0.36,
"predicted_R": 0.571,
"predicted_RBI": 0.39,
"predicted_SLG": 0.485,
"predicted_SO": 0.343
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.32,
"predicted_3B": 0.0239,
"predicted_AB": 3.8126,
"predicted_AVG": 0.3055,
"predicted_BB": 0.2084,
"predicted_H": 1.1653,
"predicted_HBP": 0.026,
"predicted_HR": 0.1163,
"predicted_OBP": 0.3695,
"predicted_R": 0.5892,
"predicted_RBI": 0.3714,
"predicted_SLG": 0.5152,
"predicted_SO": 0.3324
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.271,
"after": 0.32,
"delta": 0.049,
"percent_delta": 0.1808,
"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": 3.87,
"after": 3.8126,
"delta": -0.0574,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.3055,
"delta": 0.0275,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.2084,
"delta": 0.0224,
"percent_delta": 0.1204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.1653,
"delta": 0.0853,
"percent_delta": 0.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1163,
"delta": 0.0063,
"percent_delta": 0.0573,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.36,
"after": 0.3695,
"delta": 0.0095,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 0.5892,
"delta": 0.0182,
"percent_delta": 0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3714,
"delta": -0.0186,
"percent_delta": -0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.5152,
"delta": 0.0302,
"percent_delta": 0.0623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.343,
"after": 0.3324,
"delta": -0.0106,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.08,
"after": 1.1653,
"delta": 0.0853,
"percent_delta": 0.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.87,
"after": 3.8126,
"delta": -0.0574,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.32,
"predicted_3B": 0.0239,
"predicted_AB": 3.8126,
"predicted_AVG": 0.3116,
"predicted_BB": 0.2086,
"predicted_H": 1.188,
"predicted_HBP": 0.026,
"predicted_HR": 0.1179,
"predicted_OBP": 0.3473,
"predicted_R": 0.6083,
"predicted_RBI": 0.3834,
"predicted_SLG": 0.5008,
"predicted_SO": 0.3321
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.32,
"after": 0.32,
"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": 3.8126,
"after": 3.8126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3055,
"after": 0.3116,
"delta": 0.0061,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2084,
"after": 0.2086,
"delta": 0.0002,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1653,
"after": 1.188,
"delta": 0.0227,
"percent_delta": 0.0195,
"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.1163,
"after": 0.1179,
"delta": 0.0016,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3695,
"after": 0.3473,
"delta": -0.0222,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5892,
"after": 0.6083,
"delta": 0.0191,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3714,
"after": 0.3834,
"delta": 0.012,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5152,
"after": 0.5008,
"delta": -0.0144,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3324,
"after": 0.3321,
"delta": -0.0003,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_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.3055,
"after": 0.3116,
"delta": 0.0061,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3695,
"after": 0.3473,
"delta": -0.0222,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.307 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"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": 3.8126,
"after": 4.0,
"delta": 0.1874,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2086,
"after": 0.0,
"delta": -0.2086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.188,
"after": 1.0,
"delta": -0.188,
"percent_delta": -0.1582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1179,
"after": 0.0,
"delta": -0.1179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3834,
"after": 0.0,
"delta": -0.3834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3321,
"after": 0.0,
"delta": -0.3321,
"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_AB",
"before": 3.8126,
"after": 4.0,
"delta": 0.1874,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3834,
"after": 0.0,
"delta": -0.3834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6083,
"after": 1.0,
"delta": 0.3917,
"percent_delta": 0.6439,
"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.6083,
"after": 1.0,
"delta": 0.3917,
"percent_delta": 0.6439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3116,
"after": 0.25,
"delta": -0.0616,
"percent_delta": -0.1977,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3473,
"after": 0.25,
"delta": -0.0973,
"percent_delta": -0.2802,
"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.5008,
"after": 0.25,
"delta": -0.2508,
"percent_delta": -0.5008,
"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.5008,
"after": 0.25,
"delta": -0.2508,
"percent_delta": -0.5008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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": 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_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3116,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3473,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5008,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.3116,
"delta": 0.0616,
"percent_delta": 0.2464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3473,
"delta": 0.0973,
"percent_delta": 0.3893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5008,
"delta": 0.2508,
"percent_delta": 1.0033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5008,
"delta": 0.2508,
"percent_delta": 1.0033,
"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.271,
"after": 0.0,
"delta": -0.271,
"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.87,
"after": 4.0,
"delta": 0.13,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.3116,
"delta": 0.0336,
"percent_delta": 0.1209,
"direction": "boost",
"projection_effect": "better",
"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.08,
"after": 2.0,
"delta": 0.92,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.36,
"after": 0.3473,
"delta": -0.0127,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 1.0,
"delta": 0.429,
"percent_delta": 0.7513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.5008,
"delta": 0.0158,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"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.08,
"after": 2.0,
"delta": 0.92,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"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.271 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.870 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.186 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.360 | - |
| predicted_R | 0.571 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.485 | - |
| predicted_SO | 0.343 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.320 | 0.049 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.813 | -0.057 |
| predicted_AVG | 0.305 | 0.027 |
| predicted_BB | 0.208 | 0.022 |
| predicted_H | 1.165 | 0.085 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.116 | 0.006 |
| predicted_OBP | 0.369 | 0.010 |
| predicted_R | 0.589 | 0.018 |
| predicted_RBI | 0.371 | -0.019 |
| predicted_SLG | 0.515 | 0.030 |
| predicted_SO | 0.332 | -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.320 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.813 | 0.000 |
| predicted_AVG | 0.312 | 0.006 |
| predicted_BB | 0.209 | 0.000 |
| predicted_H | 1.188 | 0.023 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.118 | 0.002 |
| predicted_OBP | 0.347 | -0.022 |
| predicted_R | 0.608 | 0.019 |
| predicted_RBI | 0.383 | 0.012 |
| predicted_SLG | 0.501 | -0.014 |
| predicted_SO | 0.332 | -0.000 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.307 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.320 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.187 |
| predicted_AVG | 0.250 | -0.062 |
| predicted_BB | 0.000 | -0.209 |
| predicted_H | 1.000 | -0.188 |
| predicted_HR | 0.000 | -0.118 |
| predicted_OBP | 0.250 | -0.097 |
| predicted_R | 1.000 | 0.392 |
| predicted_RBI | 0.000 | -0.383 |
| predicted_SLG | 0.250 | -0.251 |
| predicted_SO | 0.000 | -0.332 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 8.000 | 4.000 | 0.000 | 1.000 | 1.000 | 4.000 | 2.000 | 1.000 | 0.4444 | 0.5000 | 0.8333 | 0.4444 | 0.0556 | 0.0556 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 4.000 | 0.000 | 2.000 | 3.000 | 6.000 | 2.000 | 1.000 | 0.3056 | 0.3333 | 0.5833 | 0.3056 | 0.0556 | 0.0833 | 0.0556 | 0.0278 |
| season | 0.60 | 70 | - | 266.000 | 90.000 | 19.000 | 2.000 | 5.000 | 27.000 | 40.000 | 13.000 | 24.000 | 0.3383 | 0.3719 | 0.4812 | 0.3383 | 0.0188 | 0.1015 | 0.0489 | 0.0902 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3870 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.7340 |
| predicted_AVG | 0.3432 |
| predicted_BB | 0.2390 |
| predicted_H | 1.2820 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.3825 |
| predicted_R | 0.6140 |
| predicted_RBI | 0.3460 |
| predicted_SLG | 0.5566 |
| predicted_SO | 0.3180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2710 | 0.3870 | 0.3200 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0239 | model_form_blend |
| predicted_AB | 3.8700 | 3.7340 | 3.8126 | model_form_blend |
| predicted_AVG | 0.2780 | 0.3432 | 0.3055 | model_form_blend |
| predicted_BB | 0.1860 | 0.2390 | 0.2084 | model_form_blend |
| predicted_H | 1.0800 | 1.2820 | 1.1653 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.1100 | 0.1250 | 0.1163 | model_form_blend |
| predicted_OBP | 0.3600 | 0.3825 | 0.3695 | model_form_blend |
| predicted_R | 0.5710 | 0.6140 | 0.5892 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3460 | 0.3714 | model_form_blend |
| predicted_SLG | 0.4850 | 0.5566 | 0.5152 | model_form_blend |
| predicted_SO | 0.3430 | 0.3180 | 0.3324 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 217 |
| Season rows before report date | 217 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.338 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_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 | 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 | 20260624_OAK@SF |
| game_type | full |
| mlbID | 808982 |
| playerID | 808982 |
| playerName | Jung Hoo Lee |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 9.0 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.366 |
| sl_xwoba | 0.334 |
| sl_xba | 0.31 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 30.8 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 12.4 |
| 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.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 | 2.500 | 3.000 | 3.000 | Hitting_AB | 1.625 | 4.000 | 1.375 | -1.000 |
| predicted_AVG | 0.279 | 0.333 | 0.333 | Hitting_AVG | 0.231 | 0.500 | 0.103 | -0.167 |
| predicted_BB | 0.000 | 1.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 0.190 | 1.000 | 1.000 | Hitting_H | 0.375 | 2.000 | 0.625 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.125 | 1.000 | -0.125 | -1.000 |
| predicted_OBP | 0.279 | 0.500 | 0.333 | Hitting_OBP | 0.231 | 0.500 | 0.269 | 0.000 |
| predicted_R | 0.227 | 0.000 | 0.000 | Hitting_R | 0.125 | 1.000 | -0.125 | -1.000 |
| predicted_RBI | 0.130 | 0.000 | 0.000 | Hitting_RBI | 0.125 | 1.000 | -0.125 | -1.000 |
| predicted_SLG | 0.417 | 0.667 | 0.333 | Hitting_SLG | 0.462 | 1.250 | 0.205 | -0.583 |
| predicted_SO | 0.795 | 1.000 | 1.000 | Hitting_SO | 0.500 | 1.000 | 0.500 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_R: 0.2270 -> 0.0000 (deboost -0.2270, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_AB: 2.5000 -> 2.6643 (boost 0.1643, better) | predicted_AVG: 0.2790 -> 0.2678 (deboost -0.0112, worse) | Final model input calibrated with local 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.4263 -> 0.2421 (deboost -0.1842, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_AB: 2.6643 -> 3.0000 (boost 0.3357, better) | predicted_H: 0.3508 -> 0.0000 (deboost -0.3508, worse) | AB rounded to 3 (raw=2.66), rates preserved: AVG=0.132 HR/AB=0.033 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2709 -> 0.0000 (deboost -0.2709, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1317 -> 0.3330 (boost 0.2013, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1317 (deboost -0.2013, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682674",
"player_name": "Victor Bericoto",
"position": "LF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.279,
"predicted_BB": 0.0,
"predicted_H": 0.19,
"predicted_HR": 0.05,
"predicted_OBP": 0.279,
"predicted_R": 0.227,
"predicted_RBI": 0.13,
"predicted_SLG": 0.417,
"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.0245,
"predicted_3B": 0.002,
"predicted_AB": 2.6643,
"predicted_AVG": 0.2678,
"predicted_BB": 0.0383,
"predicted_H": 0.3441,
"predicted_HBP": 0.016,
"predicted_HR": 0.0874,
"predicted_OBP": 0.278,
"predicted_R": 0.2624,
"predicted_RBI": 0.1936,
"predicted_SLG": 0.4263,
"predicted_SO": 0.795
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0245,
"delta": 0.0245,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.002,
"delta": 0.002,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6643,
"delta": 0.1643,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2678,
"delta": -0.0112,
"percent_delta": -0.0401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0383,
"delta": 0.0383,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.3441,
"delta": 0.1541,
"percent_delta": 0.8111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0874,
"delta": 0.0374,
"percent_delta": 0.748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.278,
"delta": -0.001,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.227,
"after": 0.2624,
"delta": 0.0354,
"percent_delta": 0.1559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.1936,
"delta": 0.0636,
"percent_delta": 0.4892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4263,
"delta": 0.0093,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.795,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6643,
"delta": 0.1643,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2678,
"delta": -0.0112,
"percent_delta": -0.0401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0245,
"predicted_3B": 0.002,
"predicted_AB": 2.6643,
"predicted_AVG": 0.1317,
"predicted_BB": 0.0383,
"predicted_H": 0.3508,
"predicted_HBP": 0.016,
"predicted_HR": 0.0886,
"predicted_OBP": 0.144,
"predicted_R": 0.2709,
"predicted_RBI": 0.1999,
"predicted_SLG": 0.2421,
"predicted_SO": 0.7942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0245,
"after": 0.0245,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6643,
"after": 2.6643,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2678,
"after": 0.1317,
"delta": -0.1361,
"percent_delta": -0.5082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0383,
"after": 0.0383,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3441,
"after": 0.3508,
"delta": 0.0067,
"percent_delta": 0.0195,
"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.0874,
"after": 0.0886,
"delta": 0.0012,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.144,
"delta": -0.134,
"percent_delta": -0.482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2624,
"after": 0.2709,
"delta": 0.0085,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1936,
"after": 0.1999,
"delta": 0.0063,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4263,
"after": 0.2421,
"delta": -0.1842,
"percent_delta": -0.4321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.7942,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4263,
"after": 0.2421,
"delta": -0.1842,
"percent_delta": -0.4321,
"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.132 HR/AB=0.033",
"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.0245,
"after": 0.0,
"delta": -0.0245,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6643,
"after": 3.0,
"delta": 0.3357,
"percent_delta": 0.126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0383,
"after": 0.0,
"delta": -0.0383,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3508,
"after": 0.0,
"delta": -0.3508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0886,
"after": 0.0,
"delta": -0.0886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1999,
"after": 0.0,
"delta": -0.1999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7942,
"after": 1.0,
"delta": 0.2058,
"percent_delta": 0.2591,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6643,
"after": 3.0,
"delta": 0.3357,
"percent_delta": 0.126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3508,
"after": 0.0,
"delta": -0.3508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2709,
"after": 0.0,
"delta": -0.2709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2709,
"after": 0.0,
"delta": -0.2709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1317,
"after": 0.333,
"delta": 0.2013,
"percent_delta": 1.5285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.144,
"after": 0.333,
"delta": 0.189,
"percent_delta": 1.3125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2421,
"after": 0.333,
"delta": 0.0909,
"percent_delta": 0.3755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1317,
"after": 0.333,
"delta": 0.2013,
"percent_delta": 1.5285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1317,
"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.144,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2421,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1317,
"delta": -0.2013,
"percent_delta": -0.6046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.144,
"delta": -0.189,
"percent_delta": -0.5676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2421,
"delta": -0.0909,
"percent_delta": -0.273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1317,
"delta": -0.2013,
"percent_delta": -0.6046,
"direction": "deboost",
"projection_effect": "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": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.1317,
"delta": -0.1473,
"percent_delta": -0.528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"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.279,
"after": 0.144,
"delta": -0.135,
"percent_delta": -0.4839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.2421,
"delta": -0.1749,
"percent_delta": -0.4194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 1.0,
"delta": 0.205,
"percent_delta": 0.2579,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"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": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.279 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.190 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.227 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.417 | - |
| 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.025 | 0.025 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.664 | 0.164 |
| predicted_AVG | 0.268 | -0.011 |
| predicted_BB | 0.038 | 0.038 |
| predicted_H | 0.344 | 0.154 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.087 | 0.037 |
| predicted_OBP | 0.278 | -0.001 |
| predicted_R | 0.262 | 0.035 |
| predicted_RBI | 0.194 | 0.064 |
| predicted_SLG | 0.426 | 0.009 |
| predicted_SO | 0.795 | 0.000 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.025 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.664 | 0.000 |
| predicted_AVG | 0.132 | -0.136 |
| predicted_BB | 0.038 | 0.000 |
| predicted_H | 0.351 | 0.007 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.089 | 0.001 |
| predicted_OBP | 0.144 | -0.134 |
| predicted_R | 0.271 | 0.008 |
| predicted_RBI | 0.200 | 0.006 |
| predicted_SLG | 0.242 | -0.184 |
| predicted_SO | 0.794 | -0.001 |
AB rounded to 3 (raw=2.66), rates preserved: AVG=0.132 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.025 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.336 |
| predicted_AVG | 0.333 | 0.201 |
| predicted_BB | 0.000 | -0.038 |
| predicted_H | 1.000 | 0.649 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.333 | 0.189 |
| predicted_R | 0.000 | -0.271 |
| predicted_RBI | 0.000 | -0.200 |
| predicted_SLG | 0.333 | 0.091 |
| predicted_SO | 1.000 | 0.206 |
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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 3.000 | 0.2000 | 0.2000 | 0.5000 | 0.2000 | 0.1000 | 0.1000 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 21.000 | 5.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 6.000 | 0.2381 | 0.2381 | 0.5238 | 0.2381 | 0.0952 | 0.0952 | 0.0000 | 0.2857 |
| season | 0.60 | 11 | - | 22.000 | 5.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 7.000 | 0.2273 | 0.2273 | 0.5000 | 0.2273 | 0.0909 | 0.0909 | 0.0000 | 0.3182 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0870 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.0840 |
| predicted_AVG | 0.2393 |
| predicted_BB | 0.1360 |
| predicted_H | 0.7380 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1830 |
| predicted_OBP | 0.2755 |
| predicted_R | 0.3530 |
| predicted_RBI | 0.3560 |
| predicted_SLG | 0.4501 |
| predicted_SO | 0.7950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0870 | 0.0245 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0020 | model_form_blend |
| predicted_AB | 2.5000 | 3.0840 | 2.6643 | model_form_blend |
| predicted_AVG | 0.2790 | 0.2393 | 0.2678 | model_form_blend |
| predicted_BB | 0.0000 | 0.1360 | 0.0383 | model_form_blend |
| predicted_H | 0.1900 | 0.7380 | 0.3441 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0500 | 0.1830 | 0.0874 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2755 | 0.2780 | model_form_blend |
| predicted_R | 0.2270 | 0.3530 | 0.2624 | model_form_blend |
| predicted_RBI | 0.1300 | 0.3560 | 0.1936 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4501 | 0.4263 | model_form_blend |
| predicted_SO | 0.7950 | 0.7950 | 0.7950 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | LF |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 682674 |
| playerID | 682674 |
| playerName | Victor Bericoto |
| pos | RF |
| started | True |
| startingPosition | LF |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 31.8 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.308 |
| sl_xwoba | 0.244 |
| sl_xba | 0.171 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 20.0 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 53.3 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 2.9 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 60.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.132 | 1.000 | 0.000 | Hitting_2B | 0.059 | 0.000 | 0.941 | 1.000 |
| predicted_3B | 0.132 | 0.000 | 0.000 | Hitting_3B | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 1.118 | 2.000 | 2.882 | 2.000 |
| predicted_AVG | 0.301 | 0.250 | 0.333 | Hitting_AVG | 0.368 | 0.500 | -0.118 | -0.250 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.180 | 1.000 | 1.000 | Hitting_H | 0.412 | 1.000 | 0.588 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.301 | 0.250 | 0.333 | Hitting_OBP | 0.368 | 0.500 | -0.118 | -0.250 |
| predicted_R | 0.395 | 1.000 | 0.000 | Hitting_R | 0.294 | 0.000 | 0.706 | 1.000 |
| predicted_RBI | 0.120 | 1.000 | 0.000 | Hitting_RBI | 0.118 | 0.000 | 0.882 | 1.000 |
| predicted_SLG | 0.438 | 0.500 | 0.333 | Hitting_SLG | 0.684 | 0.500 | -0.184 | 0.000 |
| predicted_SO | 1.316 | 1.000 | 1.000 | Hitting_SO | 0.588 | 1.000 | 0.412 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_SO: 1.3160 -> 1.0000 (deboost -0.3160, 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_H: 0.1800 -> 0.3705 (boost 0.1905, 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.2961 -> 0.1415 (deboost -0.1546, 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: 2.6685 -> 3.0000 (boost 0.3315, better) | predicted_H: 0.3777 -> 0.0000 (deboost -0.3777, worse) | AB rounded to 3 (raw=2.67), rates preserved: AVG=0.142 HR/AB=0.018 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3936 -> 0.0000 (deboost -0.3936, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1415 -> 0.3330 (boost 0.1915, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.1415 (deboost -0.1915, 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.132,
"predicted_3B": 0.132,
"predicted_AB": 2.5,
"predicted_AVG": 0.301,
"predicted_BB": 0.0,
"predicted_H": 0.18,
"predicted_HR": 0.03,
"predicted_OBP": 0.301,
"predicted_R": 0.395,
"predicted_RBI": 0.12,
"predicted_SLG": 0.438,
"predicted_SO": 1.316
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1301,
"predicted_3B": 0.1233,
"predicted_AB": 2.6685,
"predicted_AVG": 0.2961,
"predicted_BB": 0.0396,
"predicted_H": 0.3705,
"predicted_HBP": 0.017,
"predicted_HR": 0.0482,
"predicted_OBP": 0.3065,
"predicted_R": 0.3812,
"predicted_RBI": 0.1891,
"predicted_SLG": 0.4496,
"predicted_SO": 1.2748
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1301,
"delta": -0.0019,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.132,
"after": 0.1233,
"delta": -0.0087,
"percent_delta": -0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6685,
"delta": 0.1685,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.2961,
"delta": -0.0049,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0396,
"delta": 0.0396,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.3705,
"delta": 0.1905,
"percent_delta": 1.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0482,
"delta": 0.0182,
"percent_delta": 0.6067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3065,
"delta": 0.0055,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 0.3812,
"delta": -0.0138,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.1891,
"delta": 0.0691,
"percent_delta": 0.5758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4496,
"delta": 0.0116,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.316,
"after": 1.2748,
"delta": -0.0412,
"percent_delta": -0.0313,
"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.18,
"after": 0.3705,
"delta": 0.1905,
"percent_delta": 1.0583,
"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": 10
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1301,
"predicted_3B": 0.1233,
"predicted_AB": 2.6685,
"predicted_AVG": 0.1415,
"predicted_BB": 0.0396,
"predicted_H": 0.3777,
"predicted_HBP": 0.017,
"predicted_HR": 0.0488,
"predicted_OBP": 0.1541,
"predicted_R": 0.3936,
"predicted_RBI": 0.1952,
"predicted_SLG": 0.3376,
"predicted_SO": 1.2735
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1301,
"after": 0.1301,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1233,
"after": 0.1233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6685,
"after": 2.6685,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2961,
"after": 0.1415,
"delta": -0.1546,
"percent_delta": -0.5221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0396,
"after": 0.0396,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3705,
"after": 0.3777,
"delta": 0.0072,
"percent_delta": 0.0194,
"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.0482,
"after": 0.0488,
"delta": 0.0006,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3065,
"after": 0.1541,
"delta": -0.1524,
"percent_delta": -0.4972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3812,
"after": 0.3936,
"delta": 0.0124,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1891,
"after": 0.1952,
"delta": 0.0061,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4496,
"after": 0.3376,
"delta": -0.112,
"percent_delta": -0.2491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2748,
"after": 1.2735,
"delta": -0.0013,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2961,
"after": 0.1415,
"delta": -0.1546,
"percent_delta": -0.5221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.142 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1301,
"after": 0.0,
"delta": -0.1301,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1233,
"after": 0.0,
"delta": -0.1233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.6685,
"after": 3.0,
"delta": 0.3315,
"percent_delta": 0.1242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0396,
"after": 0.0,
"delta": -0.0396,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3777,
"after": 0.0,
"delta": -0.3777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0488,
"after": 0.0,
"delta": -0.0488,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1952,
"after": 0.0,
"delta": -0.1952,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2735,
"after": 1.0,
"delta": -0.2735,
"percent_delta": -0.2148,
"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": 2.6685,
"after": 3.0,
"delta": 0.3315,
"percent_delta": 0.1242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3777,
"after": 0.0,
"delta": -0.3777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3936,
"after": 0.0,
"delta": -0.3936,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3936,
"after": 0.0,
"delta": -0.3936,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1415,
"after": 0.333,
"delta": 0.1915,
"percent_delta": 1.3534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1541,
"after": 0.333,
"delta": 0.1789,
"percent_delta": 1.1609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3376,
"after": 0.333,
"delta": -0.0046,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1415,
"after": 0.333,
"delta": 0.1915,
"percent_delta": 1.3534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1415,
"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.1541,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3376,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1415,
"delta": -0.1915,
"percent_delta": -0.5749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1541,
"delta": -0.1789,
"percent_delta": -0.5372,
"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.3376,
"delta": 0.0046,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1415,
"delta": -0.1915,
"percent_delta": -0.5749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 1.0,
"delta": 0.868,
"percent_delta": 6.5758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.301,
"after": 0.1415,
"delta": -0.1595,
"percent_delta": -0.5299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.1541,
"delta": -0.1469,
"percent_delta": -0.488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 1.0,
"delta": 0.605,
"percent_delta": 1.5316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.3376,
"delta": -0.1004,
"percent_delta": -0.2292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.316,
"after": 1.0,
"delta": -0.316,
"percent_delta": -0.2401,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 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.316,
"after": 1.0,
"delta": -0.316,
"percent_delta": -0.2401,
"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.132 | - |
| predicted_3B | 0.132 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.301 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.180 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.395 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 1.316 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.002 |
| predicted_3B | 0.123 | -0.009 |
| predicted_AB | 2.668 | 0.168 |
| predicted_AVG | 0.296 | -0.005 |
| predicted_BB | 0.040 | 0.040 |
| predicted_H | 0.370 | 0.191 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.048 | 0.018 |
| predicted_OBP | 0.306 | 0.006 |
| predicted_R | 0.381 | -0.014 |
| predicted_RBI | 0.189 | 0.069 |
| predicted_SLG | 0.450 | 0.012 |
| predicted_SO | 1.275 | -0.041 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.130 | 0.000 |
| predicted_3B | 0.123 | 0.000 |
| predicted_AB | 2.668 | 0.000 |
| predicted_AVG | 0.141 | -0.155 |
| predicted_BB | 0.040 | 0.000 |
| predicted_H | 0.378 | 0.007 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.049 | 0.001 |
| predicted_OBP | 0.154 | -0.152 |
| predicted_R | 0.394 | 0.012 |
| predicted_RBI | 0.195 | 0.006 |
| predicted_SLG | 0.338 | -0.112 |
| predicted_SO | 1.274 | -0.001 |
AB rounded to 3 (raw=2.67), rates preserved: AVG=0.142 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.130 |
| predicted_3B | 0.000 | -0.123 |
| predicted_AB | 3.000 | 0.332 |
| predicted_AVG | 0.333 | 0.192 |
| predicted_BB | 0.000 | -0.040 |
| predicted_H | 1.000 | 0.622 |
| predicted_HR | 0.000 | -0.049 |
| predicted_OBP | 0.333 | 0.179 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 0.000 | -0.195 |
| predicted_SLG | 0.333 | -0.005 |
| predicted_SO | 1.000 | -0.274 |
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 | 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 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 7.000 | 0.3000 | 0.3000 | 0.5000 | 0.3000 | 0.0000 | 0.1000 | 0.0000 | 0.7000 |
| last_10 | 0.20 | 10 | - | 19.000 | 7.000 | 1.000 | 1.000 | 1.000 | 2.000 | 3.000 | 0.000 | 10.000 | 0.3684 | 0.3684 | 0.6842 | 0.3684 | 0.0526 | 0.1053 | 0.0000 | 0.5263 |
| season | 0.60 | 10 | - | 19.000 | 7.000 | 1.000 | 1.000 | 1.000 | 2.000 | 3.000 | 0.000 | 10.000 | 0.3684 | 0.3684 | 0.6842 | 0.3684 | 0.0526 | 0.1053 | 0.0000 | 0.5263 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.1000 |
| predicted_AB | 3.1220 |
| predicted_AVG | 0.2830 |
| predicted_BB | 0.1460 |
| predicted_H | 0.8830 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.3214 |
| predicted_R | 0.3440 |
| predicted_RBI | 0.3750 |
| predicted_SLG | 0.4807 |
| predicted_SO | 1.1640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.1250 | 0.1301 | model_form_blend |
| predicted_3B | 0.1320 | 0.1000 | 0.1233 | model_form_blend |
| predicted_AB | 2.5000 | 3.1220 | 2.6685 | model_form_blend |
| predicted_AVG | 0.3010 | 0.2830 | 0.2961 | model_form_blend |
| predicted_BB | 0.0000 | 0.1460 | 0.0396 | model_form_blend |
| predicted_H | 0.1800 | 0.8830 | 0.3705 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0300 | 0.0970 | 0.0482 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3214 | 0.3065 | model_form_blend |
| predicted_R | 0.3950 | 0.3440 | 0.3812 | model_form_blend |
| predicted_RBI | 0.1200 | 0.3750 | 0.1891 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4807 | 0.4496 | model_form_blend |
| predicted_SO | 1.3160 | 1.1640 | 1.2748 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 10 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.368 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| 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 | CF |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 813841 |
| playerID | 813841 |
| playerName | Jonah Cox |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 47.6 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.446 |
| sl_xwoba | 0.339 |
| sl_xba | 0.288 |
| sl_xslg | 0.513 |
| sl_sweet_spot_percent | 45.5 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 45.5 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 23.9 |
| sl_whiff_percent | 46.3 |
| sl_swing_percent | 58.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.200 | 1.000 | -0.200 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.467 | 2.000 | -1.467 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.733 | 7.000 | -1.733 | -4.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.200 | 6.000 | -0.100 | -0.900 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.933 | 7.000 | -1.933 | -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.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "694738",
"player_name": "Landen Roupp",
"position": "Starter",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 1.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 25.100 | 17.000 | 29.000 | 12.000 | 28.000 | 3.000 | 6.0395 | 1.6184 | 0.6711 | 1.1447 | 0.4737 | 1.1053 | 0.1184 |
| last_10 | 0.35 | 10 | 52.200 | 30.000 | 55.000 | 21.000 | 58.000 | 5.000 | 5.1266 | 1.4430 | 0.5696 | 1.0443 | 0.3987 | 1.1013 | 0.0949 |
| season | 0.20 | 15 | 80.100 | 37.000 | 71.000 | 33.000 | 89.000 | 5.000 | 4.1452 | 1.2946 | 0.4606 | 0.8838 | 0.4108 | 1.1079 | 0.0622 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1730 |
| predicted_ER | 2.9760 |
| predicted_ERA | 5.1300 |
| predicted_H | 5.4060 |
| predicted_HR | 0.5780 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.5610 |
| predicted_WHIP | 1.4516 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.1730 | 2.0942 | model_form_blend |
| predicted_ER | 1.0000 | 2.9760 | 2.0757 | model_form_blend |
| predicted_ERA | - | 5.1300 | 5.1300 | form_only |
| predicted_H | 3.0000 | 5.4060 | 4.3098 | model_form_blend |
| predicted_HR | 0.0000 | 0.5780 | 0.3146 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 5.5610 | 4.8498 | model_form_blend |
| predicted_WHIP | - | 1.4516 | 1.4516 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 4 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.15 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 7 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 98 |
| Pitching_R | 2 |
| Pitching_SO | 7 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_SF@MIA |
| game_type | full |
| mlbID | 694738 |
| playerID | 694738 |
| playerName | Landen Roupp |
| pos | P |
| started | True |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-19 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.305 |
| sl_xwoba | 0.285 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 29.9 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 42.5 |
| sl_avg_best_speed | 76.508361635 |
| sl_avg_hyper_speed | 92.870862019 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.344 | 0.000 | -0.344 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.688 | 1.000 | -0.688 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.903 | 1.000 | 0.097 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.219 | 1.000 | -1.219 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668873",
"player_name": "Caleb Kilian",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 2.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.4286 | 0.2143 | 1.7143 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 10.000 | 4.000 | 13.000 | 2.000 | 5.0000 | 1.5556 | 0.5556 | 1.1111 | 0.4444 | 1.4444 | 0.2222 |
| season | 0.20 | 32 | 33.100 | 11.000 | 22.000 | 16.000 | 39.000 | 5.000 | 2.9700 | 1.1400 | 0.3300 | 0.6600 | 0.4800 | 1.1700 | 0.1500 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3530 |
| predicted_ER | 0.3640 |
| predicted_ERA | 3.2718 |
| predicted_H | 0.8240 |
| predicted_HR | 0.1240 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2680 |
| predicted_WHIP | 1.1772 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3530 | 0.1652 | model_form_blend |
| predicted_ER | 0.0000 | 0.3640 | 0.1703 | model_form_blend |
| predicted_ERA | - | 3.2718 | 3.2718 | form_only |
| predicted_H | 0.0000 | 0.8240 | 0.3856 | model_form_blend |
| predicted_HR | 0.0000 | 0.1240 | 0.0580 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2680 | 0.5933 | model_form_blend |
| predicted_WHIP | - | 1.1772 | 1.1772 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.97 |
| 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 | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260623_OAK@SF |
| game_type | full |
| mlbID | 668873 |
| playerID | 668873 |
| playerName | Caleb Kilian |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-23 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.269 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 38.3 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 77.28733725 |
| sl_avg_hyper_speed | 93.763413924 |
| 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 | 0.000 | -0.444 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.111 | 1.000 | -0.111 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.556 | 1.000 | -0.556 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.722 | 1.000 | 0.278 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.889 | 1.000 | 0.111 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681916",
"player_name": "Dylan Smith",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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.200 | 1.000 | 5.000 | 3.000 | 5.000 | 1.000 | 1.9286 | 1.7143 | 0.2143 | 1.0714 | 0.6429 | 1.0714 | 0.2143 |
| last_10 | 0.35 | 9 | 7.200 | 1.000 | 5.000 | 4.000 | 8.000 | 1.000 | 1.1739 | 1.1739 | 0.1304 | 0.6522 | 0.5217 | 1.0435 | 0.1304 |
| season | 0.20 | 9 | 7.200 | 1.000 | 5.000 | 4.000 | 8.000 | 1.000 | 1.1739 | 1.1739 | 0.1304 | 0.6522 | 0.5217 | 1.0435 | 0.1304 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4150 |
| predicted_ER | 0.4260 |
| predicted_ERA | 3.8312 |
| predicted_H | 0.9560 |
| predicted_HR | 0.1550 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9740 |
| predicted_WHIP | 1.3709 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4150 | 0.1352 | model_form_blend |
| predicted_ER | 0.0000 | 0.4260 | 0.1388 | model_form_blend |
| predicted_ERA | - | 3.8312 | 3.8312 | form_only |
| predicted_H | 0.0000 | 0.9560 | 0.3116 | model_form_blend |
| predicted_HR | 0.0000 | 0.1550 | 0.0505 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9740 | 0.9915 | model_form_blend |
| predicted_WHIP | - | 1.3709 | 1.3709 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 9 |
| Season rows before report date | 9 |
| Report year | 2026 |
| Profile rows used | 9 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.17 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 681916 |
| playerID | 681916 |
| playerName | Dylan Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.269 |
| sl_xwoba | 0.299 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 28.6 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 45.5 |
| sl_avg_best_speed | 75.185056364 |
| sl_avg_hyper_speed | 91.721405238 |
| 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.524 | 0.000 | -0.524 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.524 | 0.000 | 1.476 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.952 | 0.000 | 1.048 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.819 | 1.000 | 0.181 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.857 | 1.000 | 0.143 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676254",
"player_name": "Ryan Walker",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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 | 4.200 | 0.000 | 1.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.2143 | 0.2143 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 7.000 | 11.000 | 5.000 | 6.000 | 1.000 | 7.0000 | 1.7778 | 0.7778 | 1.2222 | 0.5556 | 0.6667 | 0.1111 |
| season | 0.20 | 21 | 20.000 | 11.000 | 20.000 | 11.000 | 18.000 | 2.000 | 4.9500 | 1.5500 | 0.5500 | 1.0000 | 0.5500 | 0.9000 | 0.1000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3780 |
| predicted_ER | 0.4480 |
| predicted_ERA | 4.0296 |
| predicted_H | 0.8610 |
| predicted_HR | 0.1080 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8820 |
| predicted_WHIP | 1.2392 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3780 | 0.1566 | model_form_blend |
| predicted_ER | 2.0000 | 0.4480 | 1.3571 | model_form_blend |
| predicted_ERA | - | 4.0296 | 4.0296 | form_only |
| predicted_H | 2.0000 | 0.8610 | 1.5282 | model_form_blend |
| predicted_HR | 1.0000 | 0.1080 | 0.6305 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8820 | 0.9511 | model_form_blend |
| predicted_WHIP | - | 1.2392 | 1.2392 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.95 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 676254 |
| playerID | 676254 |
| playerName | Ryan Walker |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.324 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 30.0 |
| sl_whiff_percent | 17.6 |
| sl_swing_percent | 41.2 |
| sl_avg_best_speed | 72.147574483 |
| sl_avg_hyper_speed | 92.526944138 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.692 | 1.000 | -0.692 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.654 | 0.000 | 0.346 | 1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.673 | 1.000 | -0.473 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.115 | 1.000 | -0.115 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669062",
"player_name": "Erik Miller",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.100 | 1.000 | 4.000 | 2.000 | 4.000 | 1.000 | 2.7000 | 1.8000 | 0.3000 | 1.2000 | 0.6000 | 1.2000 | 0.3000 |
| last_10 | 0.35 | 10 | 7.200 | 3.000 | 8.000 | 4.000 | 9.000 | 2.000 | 3.5217 | 1.5652 | 0.3913 | 1.0435 | 0.5217 | 1.1739 | 0.2609 |
| season | 0.20 | 25 | 21.000 | 9.000 | 16.000 | 16.000 | 29.000 | 2.000 | 3.8571 | 1.5238 | 0.4286 | 0.7619 | 0.7619 | 1.3809 | 0.0952 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3290 |
| predicted_ER | 0.3030 |
| predicted_ERA | 3.9166 |
| predicted_H | 0.7030 |
| predicted_HR | 0.1330 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7490 |
| predicted_WHIP | 1.4808 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3290 | 0.1380 | model_form_blend |
| predicted_ER | 0.0000 | 0.3030 | 0.1271 | model_form_blend |
| predicted_ERA | - | 3.9166 | 3.9166 | form_only |
| predicted_H | 1.0000 | 0.7030 | 0.8755 | model_form_blend |
| predicted_HR | 0.0000 | 0.1330 | 0.0558 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7490 | 0.8948 | model_form_blend |
| predicted_WHIP | - | 1.4808 | 1.4808 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.29 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260624_OAK@SF |
| game_type | full |
| mlbID | 669062 |
| playerID | 669062 |
| playerName | Erik Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-06-24 |
| sl_k_percent | 29.9 |
| sl_bb_percent | 18.6 |
| sl_woba | 0.329 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 30.6 |
| sl_whiff_percent | 33.5 |
| sl_swing_percent | 36.8 |
| sl_avg_best_speed | 70.01948875 |
| sl_avg_hyper_speed | 93.141325 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | PHI 3 - 1 WAS | PHI | 0.525 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | PHI 3 - 2 WAS | PHI | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5250 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 6.281 | 3.204 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 3 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 1 | 0.5250 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 1 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 1 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4755553846153847,
"base_low_score_probability": 0.4238461538461539,
"low_score_signal_threshold": 0.5038461538461538,
"low_score_signal_strength": 0.05170923076923084,
"confidence": 0.661,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.122
},
"prediction": "normal_scoring",
"expected_total_runs": 4,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 5,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 12,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 2,
"wide_bucket_sample_size": 12,
"global_sample_size": 12,
"bucket_scope": "sparse_pooled_0.12",
"sparse_bucket": true,
"empirical_hit_rate": 0.3333,
"bayesian_hit_rate": 0.45,
"sample_weight": 0.255,
"prior_strength": 28.0,
"reliability": 0.3,
"confidence_cap": 0.525,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.525,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "WAS",
"games": 81,
"wins": 41,
"losses": 40,
"win_pct": 0.5061728395061729,
"runs_scored": 433,
"runs_allowed": 424,
"run_differential": 9,
"run_differential_per_game": 0.1111111111111111,
"available": true
},
"away": {
"team": "PHI",
"games": 80,
"wins": 44,
"losses": 36,
"win_pct": 0.55,
"runs_scored": 349,
"runs_allowed": 350,
"run_differential": -1,
"run_differential_per_game": -0.0125,
"available": true
},
"run_differential_edge_per_game": 0.1236,
"win_pct_edge": -0.0438,
"quality_edge": 0.0579,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "PHI",
"guardrail_predicted_team": "PHI",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "PHI",
"output_opponent_team": "WAS",
"final_score_winner": "PHI",
"pre_simulation_winner": "PHI",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "PHI 3 - 1 WAS",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "PHI 3 - 2 WAS",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "WAS",
"games": 81,
"wins": 41,
"losses": 40,
"win_pct": 0.5061728395061729,
"runs_scored": 433,
"runs_allowed": 424,
"run_differential": 9,
"run_differential_per_game": 0.1111111111111111,
"available": true
},
"away": {
"team": "PHI",
"games": 80,
"wins": 44,
"losses": 36,
"win_pct": 0.55,
"runs_scored": 349,
"runs_allowed": 350,
"run_differential": -1,
"run_differential_per_game": -0.0125,
"available": true
}
}
}{
"applied": true,
"raw_margin": -2.2591,
"final_margin": -1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.0579,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 2.734,
"home_runs": 1.234
}
}{
"applied": false,
"raw_confidence": 0.525,
"final_confidence": 0.525,
"confidence_cap": 0.525,
"score_gap": 1.5,
"calibration_sample_size": 12,
"calibration_empirical_hit_rate": 0.3333,
"calibration_bayesian_hit_rate": 0.45,
"calibration_sparse_bucket": true,
"season_quality_edge": 0.0579,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"historical confidence bucket is sparse",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "PHI 3 - 1 WAS",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "PHI 3 - 2 WAS",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 3,
"home_runs": 1,
"confidence": 0.525,
"home_win_probability": 0.475,
"away_win_probability": 0.525,
"predicted_score_text": "PHI 3 - 1 WAS",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "PHI",
"original_runs": 3,
"run_delta": 0.1218,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.20622253378686997,
"contact": 0.05783684225484876,
"power": 0.10446162676919835,
"discipline": -0.1195788156490969,
"xwoba": 0.30608571428571424,
"recent_xwoba": 0.30608571428571424,
"barrel": 7.8742857142857146,
"ab_hard_contact": 0.01617719088263299,
"ab_bat_speed": 70.83600561224102,
"ab_strikeout_rate": 0.21251314967256144,
"available_players": 8,
"top_players": [
{
"player_id": "656941",
"player_name": "Kyle Schwarber",
"position": "DH",
"weight": 4.0,
"quality": 1.1043653857641214,
"contact": 0.8610600814489091,
"power": 2.0,
"discipline": -0.07421398046398037,
"xwoba": 0.386,
"recent_xwoba": 0.386,
"barrel": 21.2,
"ab_hard_contact": 0.7208609737085729,
"ab_bat_speed": 74.57395451770452,
"ab_strikeout_rate": 0.33621794871794874,
"available": 1.0
},
{
"player_id": "547180",
"player_name": "Bryce Harper",
"position": "1B",
"weight": 4.0,
"quality": 1.2115621593943107,
"contact": 1.3017927617786607,
"power": 1.3275228826162195,
"discipline": 0.6311159778376758,
"xwoba": 0.403,
"recent_xwoba": 0.403,
"barrel": 12.2,
"ab_hard_contact": 1.5348386047053344,
"ab_bat_speed": 72.87975995807128,
"ab_strikeout_rate": 0.18731656184486373,
"available": 1.0
},
{
"player_id": "702222",
"player_name": "Justin Crawford",
"position": "CF",
"weight": 3.0,
"quality": -0.6206766396178086,
"contact": -0.7020273389773201,
"power": -1.1633746266237974,
"discipline": -0.038462018140589374,
"xwoba": 0.266,
"recent_xwoba": 0.266,
"barrel": 1.2,
"ab_hard_contact": -0.7821591991426196,
"ab_bat_speed": 66.64708616780045,
"ab_strikeout_rate": 0.19353741496598637,
"available": 1.0
},
{
"player_id": "607208",
"player_name": "Trea Turner",
"position": "SS",
"weight": 5.0,
"quality": -0.35033100961034436,
"contact": -0.3521879899796629,
"power": -0.4350052354509825,
"discipline": -0.4281291208791207,
"xwoba": 0.284,
"recent_xwoba": 0.284,
"barrel": 4.5,
"ab_hard_contact": 0.046942910027971345,
"ab_bat_speed": 70.81053472222222,
"ab_strikeout_rate": 0.21591880341880343,
"available": 1.0
},
{
"player_id": "669016",
"player_name": "Brandon Marsh",
"position": "LF",
"weight": 4.0,
"quality": 0.27881986864711605,
"contact": 0.5964265759886657,
"power": 0.5376582184047932,
"discipline": -0.6518565759637187,
"xwoba": 0.328,
"recent_xwoba": 0.328,
"barrel": 8.4,
"ab_hard_contact": 0.3230691300006315,
"ab_bat_speed": 70.35567857142857,
"ab_strikeout_rate": 0.2370748299319728,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "676917",
"player_name": "Cade Cavalli",
"quality": -0.2257324028415548,
"contact": -0.49011227635484134,
"command": 0.04021428571428581,
"movement": 0.15336010482656953,
"xwoba": 0.329,
"whiff": 23.8,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "WAS",
"original_runs": 1,
"run_delta": -0.3059,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.11806198736164521,
"contact": 0.2175356675695902,
"power": 0.14258300057264175,
"discipline": 0.17711930286503186,
"xwoba": 0.3302903225806452,
"recent_xwoba": 0.3302903225806452,
"barrel": 8.906451612903227,
"ab_hard_contact": 0.02740829149543848,
"ab_bat_speed": 69.24713467957292,
"ab_strikeout_rate": 0.20050217690967384,
"available_players": 9,
"top_players": [
{
"player_id": "695578",
"player_name": "James Wood",
"position": "DH",
"weight": 4.0,
"quality": 1.5326299187258254,
"contact": 1.5120821381849736,
"power": 2.0,
"discipline": 0.39187811791383237,
"xwoba": 0.42400000000000004,
"recent_xwoba": 0.424,
"barrel": 23.6,
"ab_hard_contact": 1.3510015512825506,
"ab_bat_speed": 74.21144047619048,
"ab_strikeout_rate": 0.2949829931972789,
"available": 1.0
},
{
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "SS",
"weight": 3.0,
"quality": -0.9262038402043141,
"contact": -1.116887841892772,
"power": -1.6624647506317343,
"discipline": 0.28918424036281204,
"xwoba": 0.271,
"recent_xwoba": 0.271,
"barrel": 0.0,
"ab_hard_contact": -1.1971045364442077,
"ab_bat_speed": 63.84837018140589,
"ab_strikeout_rate": 0.19931972789115648,
"available": 1.0
},
{
"player_id": "678554",
"player_name": "Curtis Mead",
"position": "3B",
"weight": 3.0,
"quality": 0.43227239518888355,
"contact": 0.6816131681809438,
"power": 0.698296393936991,
"discipline": 0.7851154665118081,
"xwoba": 0.361,
"recent_xwoba": 0.361,
"barrel": 11.5,
"ab_hard_contact": 0.335070735882672,
"ab_bat_speed": 71.61702574525745,
"ab_strikeout_rate": 0.1573170731707317,
"available": 1.0
},
{
"player_id": "678391",
"player_name": "Jorbit Vivas",
"position": "2B",
"weight": 3.0,
"quality": -0.20933396483781244,
"contact": -0.22637173340151837,
"power": -0.8444547056369308,
"discipline": 0.4850039682539684,
"xwoba": 0.314,
"recent_xwoba": 0.314,
"barrel": 4.8,
"ab_hard_contact": -0.9271893508338517,
"ab_bat_speed": 67.52140625,
"ab_strikeout_rate": 0.1925,
"available": 1.0
},
{
"player_id": "686611",
"player_name": "Dylan Crews",
"position": "RF",
"weight": 4.0,
"quality": 0.07008815443115271,
"contact": 0.5218182450848764,
"power": 0.7755553382288097,
"discipline": -0.8035674603174603,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 9.7,
"ab_hard_contact": 0.4082496217190587,
"ab_bat_speed": 70.58190476190477,
"ab_strikeout_rate": 0.16428571428571428,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "650911",
"player_name": "Cristopher Sánchez",
"quality": 0.5036982985173659,
"contact": 0.43141124958126975,
"command": 0.787357142857143,
"movement": 0.40791450975514143,
"xwoba": 0.271,
"whiff": 31.4,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 1,
"predicted_score_text": "PHI 3 - 1 WAS",
"confidence": 0.525,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "PHI 3 - 1 WAS",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "PHI 3 - 2 WAS",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away PHI | True | 1.0205 | 1.0205 | 1 | 9 | 0 |
| Home WAS | True | 1.0214 | 1.0214 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Kyle Schwarber | 34 | 1.1173 | 1.5639 | neutral | 0.3860 | 0.2470 | 0.5450 | 21.20 | 52 | 93.20 | 21.80 | 34.40 | 34 | 14.20 | -0.6000 |
| 1B | Bryce Harper | 70 | 1.1233 | 1.6438 | neutral | 0.4030 | 0.2880 | 0.5440 | 12.20 | 45.20 | 90.20 | 11.60 | 30 | 19.20 | 14.40 | 0.7714 |
| LF | Brandon Marsh | 59 | 1.0336 | 0.4481 | negative_batter_regression | 0.3280 | 0.2840 | 0.4460 | 8.40 | 46.80 | 90.30 | 12.90 | 25.30 | 25.30 | 4.50 | -1.2000 |
| SS | Trea Turner | 482 | 0.9806 | -0.2583 | neutral | 0.2840 | 0.2390 | 0.3490 | 4.50 | 39.10 | 88.80 | 10 | 27.40 | 22.40 | 6.10 | 0.2571 |
| 3B | Alec Bohm | 463 | 0.9966 | -0.0454 | neutral | 0.2930 | 0.2430 | 0.3600 | 4.60 | 40.40 | 89.70 | 10 | 16.10 | 13.80 | 6.60 | 0.3143 |
| C | J.T. Realmuto | 253 | 1.0132 | 0.1756 | positive_batter_regression | 0.3170 | 0.2490 | 0.3830 | 4.90 | 37.10 | 89.10 | 11.50 | 24.90 | 19.90 | 8.30 | 1.1714 |
| 2B | Bryson Stott | 239 | 1.0221 | 0.2950 | neutral | 0.3180 | 0.2580 | 0.4120 | 7.50 | 39.90 | 89.30 | 15.40 | 17.30 | 16.70 | 6.80 | 0.2857 |
| RF | Gabriel Rincones Jr. | 465 | 0.9475 | -0.6995 | neutral | 0.1580 | 0.1350 | 0.2350 | 4.80 | 38.10 | 87.20 | 6.30 | 23.10 | 25 | 0 | -0.3143 |
| CF | Justin Crawford | 494 | 0.9505 | -0.6594 | neutral | 0.2660 | 0.2350 | 0.2950 | 1.20 | 33.50 | 86.70 | 2.70 | 19.70 | 21.30 | 6.70 | -0.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Curtis Mead | 162 | 1.0463 | 0.6178 | neutral | 0.3610 | 0.2560 | 0.4660 | 11.50 | 43 | 88.70 | 15.80 | 16.70 | 18.50 | 11.60 | 0.3714 |
| DH | James Wood | 22 | 1.1500 | 2 | positive_batter_regression | 0.4240 | 0.2760 | 0.6040 | 23.60 | 60.80 | 95.80 | 10.60 | 32.30 | 30 | 16.20 | 1 |
| RF | Dylan Crews | 291 | 1.0307 | 0.4090 | positive_batter_regression | 0.3320 | 0.2640 | 0.4750 | 9.70 | 44.10 | 91 | 13.10 | 25.10 | 20.20 | 1.60 | 1.6857 |
| 1B | Andrés Chaparro | 309 | 1.0276 | 0.3674 | positive_batter_regression | 0.3580 | 0.2380 | 0.3930 | 8 | 40 | 90.20 | 10.30 | 25.70 | 22.70 | 20.50 | 1.3714 |
| 2B | Jorbit Vivas | 296 | 0.9945 | -0.0730 | neutral | 0.3140 | 0.2630 | 0.3560 | 4.80 | 27.40 | 84 | 13.70 | 17.40 | 12.80 | 8.50 | -0.2286 |
| LF | Daylen Lile | 152 | 1.0174 | 0.2317 | neutral | 0.3180 | 0.2560 | 0.4090 | 7 | 34.40 | 87.40 | 17.10 | 22.60 | 16.70 | 7 | 0.2857 |
| CF | Jacob Young | 181 | 1.0081 | 0.1080 | neutral | 0.3030 | 0.2560 | 0.3880 | 6.30 | 36.50 | 89.20 | 11.70 | 20.10 | 19.10 | 4.70 | 0.4857 |
| SS | Nasim Nuñez | 74 | 0.9390 | -0.8133 | neutral | 0.2710 | 0.2240 | 0.2710 | 0 | 20 | 84.60 | 9.60 | 22.20 | 22.50 | 10.30 | -0.2286 |
| C | Keibert Ruiz | 146 | 0.9788 | -0.2828 | negative_batter_regression | 0.2730 | 0.2320 | 0.3640 | 5.60 | 40.60 | 89.30 | 16.70 | 13.70 | 12.80 | 2.90 | -1.9143 |
{
"home": {
"applied": true,
"offense_factor": 1.0214,
"raw_average_factor": 1.0214,
"team_espn_average_rank": 181.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "678554",
"player_name": "Curtis Mead",
"offense_factor": 1.0463,
"quality_score": 0.6178,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678554",
"espn_id": 42360,
"player_name": "Curtis Mead",
"team": "WSH",
"role": "batter",
"espn_rank": 162,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 162,
"gp_value": 65.0,
"gp_rank": 173,
"ab_value": 201.0,
"ab_rank": 173,
"r_value": 35.0,
"r_rank": 99,
"h_value": 45.0,
"h_rank": 195,
"avg_value": 0.2238805,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 13.0,
"hr_rank": 44,
"rbi_value": 38.0,
"rbi_rank": 69,
"tb_value": 94.0,
"tb_rank": 886,
"bb_value": 27.0,
"bb_rank": 92,
"so_value": 43.0,
"so_rank": 191,
"sb_value": 3.0,
"sb_rank": 161,
"obp_value": 0.3275862,
"obp_rank": "-",
"slg_value": 0.4676616,
"slg_rank": "-",
"ops_value": 0.7952478,
"ops_rank": null,
"war_value": 0.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 18.5,
"bb_percent": 11.6,
"woba": 0.348,
"xwoba": 0.361,
"xba": 0.256,
"xslg": 0.466,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 15.8,
"whiff_percent": 16.7,
"swing_percent": 41.1
},
"components": {
"expected_quality": 1.0605,
"regression_edge": 0.3714,
"xwoba_edge": 1.6286,
"xba_edge": 0.4571,
"xslg_edge": 1.3143,
"barrel_edge": 1.0,
"hard_hit_edge": 0.6714,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "695578",
"player_name": "James Wood",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695578",
"espn_id": 4918256,
"player_name": "James Wood",
"team": "WSH",
"role": "batter",
"espn_rank": 22,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 22,
"gp_value": 81.0,
"gp_rank": 2,
"ab_value": 310.0,
"ab_rank": 10,
"r_value": 70.0,
"r_rank": 1,
"h_value": 82.0,
"h_rank": 25,
"avg_value": 0.2645161,
"avg_rank": 59.0,
"2b_value": 19.0,
"2b_rank": 8,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 20.0,
"hr_rank": 6,
"rbi_value": 49.0,
"rbi_rank": 18,
"tb_value": 161.0,
"tb_rank": 459,
"bb_value": 61.0,
"bb_rank": 4,
"so_value": 113.0,
"so_rank": 3,
"sb_value": 13.0,
"sb_rank": 23,
"obp_value": 0.3899204,
"obp_rank": "9",
"slg_value": 0.5193548,
"slg_rank": "18",
"ops_value": 0.9092752,
"ops_rank": 27.0,
"war_value": 2.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 255.0,
"k_percent": 30.0,
"bb_percent": 16.2,
"woba": 0.389,
"xwoba": 0.424,
"xba": 0.276,
"xslg": 0.604,
"sweet_spot_percent": 42.2,
"barrel_batted_rate": 23.6,
"hard_hit_percent": 60.8,
"exit_velocity_avg": 95.8,
"launch_angle_avg": 10.6,
"whiff_percent": 32.3,
"swing_percent": 38.0
},
"components": {
"expected_quality": 2.1827,
"regression_edge": 1.0,
"xwoba_edge": 2.5,
"xba_edge": 1.0286,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 1.4833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "686611",
"player_name": "Dylan Crews",
"offense_factor": 1.0307,
"quality_score": 0.409,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686611",
"espn_id": 4719511,
"player_name": "Dylan Crews",
"team": "WSH",
"role": "batter",
"espn_rank": 291,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 291,
"gp_value": 31.0,
"gp_rank": 369,
"ab_value": 118.0,
"ab_rank": 302,
"r_value": 17.0,
"r_rank": 262,
"h_value": 25.0,
"h_rank": 315,
"avg_value": 0.2118644,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 17.0,
"rbi_rank": 256,
"tb_value": 44.0,
"tb_rank": 1639,
"bb_value": 2.0,
"bb_rank": 454,
"so_value": 25.0,
"so_rank": 321,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.3728813,
"slg_rank": "-",
"ops_value": 0.6228813,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 30.0,
"k_percent": 20.2,
"bb_percent": 1.6,
"woba": 0.273,
"xwoba": 0.332,
"xba": 0.264,
"xslg": 0.475,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 44.1,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 13.1,
"whiff_percent": 25.1,
"swing_percent": 54.9
},
"components": {
"expected_quality": 0.7823,
"regression_edge": 1.6857,
"xwoba_edge": 0.8,
"xba_edge": 0.6857,
"xslg_edge": 1.4429,
"barrel_edge": 0.6,
"hard_hit_edge": 0.8286,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "665953",
"player_name": "Andrés Chaparro",
"offense_factor": 1.0276,
"quality_score": 0.3674,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665953",
"espn_id": 42949,
"player_name": "Andres Chaparro",
"team": "WSH",
"role": "batter",
"espn_rank": 309,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 309,
"gp_value": 21.0,
"gp_rank": 420,
"ab_value": 35.0,
"ab_rank": 463,
"r_value": 6.0,
"r_rank": 414,
"h_value": 7.0,
"h_rank": 461,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 366,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 5.0,
"rbi_rank": 416,
"tb_value": 10.0,
"tb_rank": 2597,
"bb_value": 9.0,
"bb_rank": 312,
"so_value": 10.0,
"so_rank": 458,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3636363,
"obp_rank": "-",
"slg_value": 0.2857142,
"slg_rank": "-",
"ops_value": 0.6493505,
"ops_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 21.0,
"k_percent": 22.7,
"bb_percent": 20.5,
"woba": 0.31,
"xwoba": 0.358,
"xba": 0.238,
"xslg": 0.393,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 10.3,
"whiff_percent": 25.7,
"swing_percent": 40.7
},
"components": {
"expected_quality": 0.7262,
"regression_edge": 1.3714,
"xwoba_edge": 1.5429,
"xba_edge": -0.0571,
"xslg_edge": 0.2714,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.2429,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "678391",
"player_name": "Jorbit Vivas",
"offense_factor": 0.9945,
"quality_score": -0.073,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678391",
"espn_id": 4722676,
"player_name": "Jorbit Vivas",
"team": "WSH",
"role": "batter",
"espn_rank": 296,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 296,
"gp_value": 58.0,
"gp_rank": 210,
"ab_value": 141.0,
"ab_rank": 266,
"r_value": 20.0,
"r_rank": 228,
"h_value": 37.0,
"h_rank": 237,
"avg_value": 0.2624113,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 14.0,
"rbi_rank": 286,
"tb_value": 53.0,
"tb_rank": 1644,
"bb_value": 14.0,
"bb_rank": 235,
"so_value": 21.0,
"so_rank": 361,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3416149,
"obp_rank": "-",
"slg_value": 0.3758865,
"slg_rank": "-",
"ops_value": 0.7175014,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 116.0,
"k_percent": 12.8,
"bb_percent": 8.5,
"woba": 0.322,
"xwoba": 0.314,
"xba": 0.263,
"xslg": 0.356,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 27.4,
"exit_velocity_avg": 84.0,
"launch_angle_avg": 13.7,
"whiff_percent": 17.4,
"swing_percent": 51.0
},
"components": {
"expected_quality": -0.1238,
"regression_edge": -0.2286,
"xwoba_edge": 0.2857,
"xba_edge": 0.6571,
"xslg_edge": -0.2571,
"barrel_edge": -0.4889,
"hard_hit_edge": -1.5571,
"exit_velocity_edge": -1.92,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "695734",
"player_name": "Daylen Lile",
"offense_factor": 1.0174,
"quality_score": 0.2317,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695734",
"espn_id": 4917889,
"player_name": "Daylen Lile",
"team": "WSH",
"role": "batter",
"espn_rank": 152,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 152,
"gp_value": 79.0,
"gp_rank": 20,
"ab_value": 310.0,
"ab_rank": 10,
"r_value": 42.0,
"r_rank": 52,
"h_value": 77.0,
"h_rank": 46,
"avg_value": 0.248387,
"avg_rank": 90.0,
"2b_value": 16.0,
"2b_rank": 31,
"3b_value": 3.0,
"3b_rank": 8,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 37.0,
"rbi_rank": 77,
"tb_value": 123.0,
"tb_rank": 432,
"bb_value": 24.0,
"bb_rank": 114,
"so_value": 57.0,
"so_rank": 116,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.3070175,
"obp_rank": "126",
"slg_value": 0.3967741,
"slg_rank": "107",
"ops_value": 0.7037916,
"ops_rank": 233.0,
"war_value": 0.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 16.7,
"bb_percent": 7.0,
"woba": 0.308,
"xwoba": 0.318,
"xba": 0.256,
"xslg": 0.409,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 34.4,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 17.1,
"whiff_percent": 22.6,
"swing_percent": 54.3
},
"components": {
"expected_quality": 0.2229,
"regression_edge": 0.2857,
"xwoba_edge": 0.4,
"xba_edge": 0.4571,
"xslg_edge": 0.5,
"barrel_edge": 0.0,
"hard_hit_edge": -0.5571,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "696285",
"player_name": "Jacob Young",
"offense_factor": 1.0081,
"quality_score": 0.108,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696285",
"espn_id": 4414210,
"player_name": "Jacob Young",
"team": "WSH",
"role": "batter",
"espn_rank": 181,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 181,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 240.0,
"ab_rank": 126,
"r_value": 31.0,
"r_rank": 130,
"h_value": 54.0,
"h_rank": 144,
"avg_value": 0.225,
"avg_rank": 139.0,
"2b_value": 8.0,
"2b_rank": 202,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 28.0,
"rbi_rank": 152,
"tb_value": 90.0,
"tb_rank": 725,
"bb_value": 12.0,
"bb_rank": 267,
"so_value": 49.0,
"so_rank": 161,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.2734375,
"obp_rank": "155",
"slg_value": 0.375,
"slg_rank": "124",
"ops_value": 0.6484375,
"ops_rank": 279.0,
"war_value": 0.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 19.1,
"bb_percent": 4.7,
"woba": 0.286,
"xwoba": 0.303,
"xba": 0.256,
"xslg": 0.388,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 36.5,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 11.7,
"whiff_percent": 20.1,
"swing_percent": 43.3
},
"components": {
"expected_quality": 0.0686,
"regression_edge": 0.4857,
"xwoba_edge": -0.0286,
"xba_edge": 0.4571,
"xslg_edge": 0.2,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.2571,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"offense_factor": 0.939,
"quality_score": -0.8133,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683083",
"espn_id": 4728688,
"player_name": "Nasim Nunez",
"team": "WSH",
"role": "batter",
"espn_rank": 74,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 74,
"gp_value": 75.0,
"gp_rank": 79,
"ab_value": 227.0,
"ab_rank": 141,
"r_value": 31.0,
"r_rank": 130,
"h_value": 54.0,
"h_rank": 144,
"avg_value": 0.2378854,
"avg_rank": 118.0,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 3.0,
"3b_rank": 8,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 26.0,
"rbi_rank": 171,
"tb_value": 64.0,
"tb_rank": 1847,
"bb_value": 27.0,
"bb_rank": 92,
"so_value": 59.0,
"so_rank": 106,
"sb_value": 31.0,
"sb_rank": 1,
"obp_value": 0.3203125,
"obp_rank": "100",
"slg_value": 0.2819383,
"slg_rank": "162",
"ops_value": 0.6022508,
"ops_rank": 62.0,
"war_value": 1.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 183.0,
"k_percent": 22.5,
"bb_percent": 10.3,
"woba": 0.279,
"xwoba": 0.271,
"xba": 0.224,
"xslg": 0.271,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 20.0,
"exit_velocity_avg": 84.6,
"launch_angle_avg": 9.6,
"whiff_percent": 22.2,
"swing_percent": 47.9
},
"components": {
"expected_quality": -1.0997,
"regression_edge": -0.2286,
"xwoba_edge": -0.9429,
"xba_edge": -0.4571,
"xslg_edge": -1.4714,
"barrel_edge": -1.5556,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.68,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"offense_factor": 0.9788,
"quality_score": -0.2828,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "660688",
"espn_id": 38827,
"player_name": "Keibert Ruiz",
"team": "WSH",
"role": "batter",
"espn_rank": 146,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 146,
"gp_value": 51.0,
"gp_rank": 253,
"ab_value": 163.0,
"ab_rank": 238,
"r_value": 22.0,
"r_rank": 209,
"h_value": 46.0,
"h_rank": 194,
"avg_value": 0.2822085,
"avg_rank": null,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 29.0,
"rbi_rank": 142,
"tb_value": 79.0,
"tb_rank": 767,
"bb_value": 5.0,
"bb_rank": 394,
"so_value": 22.0,
"so_rank": 352,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3081395,
"obp_rank": "-",
"slg_value": 0.4846625,
"slg_rank": "-",
"ops_value": 0.792802,
"ops_rank": null,
"war_value": 0.93,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 12.8,
"bb_percent": 2.9,
"woba": 0.34,
"xwoba": 0.273,
"xba": 0.232,
"xslg": 0.364,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 40.6,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 16.7,
"whiff_percent": 13.7,
"swing_percent": 50.7
},
"components": {
"expected_quality": -0.3522,
"regression_edge": -1.9143,
"xwoba_edge": -0.8857,
"xba_edge": -0.2286,
"xslg_edge": -0.1429,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.3286,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0205,
"raw_average_factor": 1.0205,
"team_espn_average_rank": 284.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "656941",
"player_name": "Kyle Schwarber",
"offense_factor": 1.1173,
"quality_score": 1.5639,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656941",
"espn_id": 33712,
"player_name": "Kyle Schwarber",
"team": "PHI",
"role": "batter",
"espn_rank": 34,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 34,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 286.0,
"ab_rank": 55,
"r_value": 51.0,
"r_rank": 17,
"h_value": 72.0,
"h_rank": 69,
"avg_value": 0.2517482,
"avg_rank": 85.0,
"2b_value": 9.0,
"2b_rank": 178,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 29.0,
"hr_rank": 1,
"rbi_value": 52.0,
"rbi_rank": 13,
"tb_value": 170.0,
"tb_rank": 270,
"bb_value": 48.0,
"bb_rank": 10,
"so_value": 115.0,
"so_rank": 2,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3668639,
"obp_rank": "32",
"slg_value": 0.5944055,
"slg_rank": "2",
"ops_value": 0.9612694,
"ops_rank": 34.0,
"war_value": 2.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 34.0,
"bb_percent": 14.2,
"woba": 0.407,
"xwoba": 0.386,
"xba": 0.247,
"xslg": 0.545,
"sweet_spot_percent": 40.4,
"barrel_batted_rate": 21.2,
"hard_hit_percent": 52.0,
"exit_velocity_avg": 93.2,
"launch_angle_avg": 21.8,
"whiff_percent": 34.4,
"swing_percent": 44.2
},
"components": {
"expected_quality": 1.9162,
"regression_edge": -0.6,
"xwoba_edge": 2.3429,
"xba_edge": 0.2,
"xslg_edge": 2.4429,
"barrel_edge": 2.5,
"hard_hit_edge": 1.9571,
"exit_velocity_edge": 1.76,
"sweet_spot_edge": 1.1833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "547180",
"player_name": "Bryce Harper",
"offense_factor": 1.1233,
"quality_score": 1.6438,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "547180",
"espn_id": 30951,
"player_name": "Bryce Harper",
"team": "PHI",
"role": "batter",
"espn_rank": 70,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 70,
"gp_value": 80.0,
"gp_rank": 9,
"ab_value": 280.0,
"ab_rank": 73,
"r_value": 52.0,
"r_rank": 14,
"h_value": 74.0,
"h_rank": 59,
"avg_value": 0.2642857,
"avg_rank": 64.0,
"2b_value": 14.0,
"2b_rank": 63,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 17.0,
"hr_rank": 17,
"rbi_value": 44.0,
"rbi_rank": 36,
"tb_value": 143.0,
"tb_rank": 213,
"bb_value": 48.0,
"bb_rank": 10,
"so_value": 64.0,
"so_rank": 90,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.3663663,
"obp_rank": "34",
"slg_value": 0.5107142,
"slg_rank": "21",
"ops_value": 0.8770805,
"ops_rank": 13.0,
"war_value": 1.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 19.2,
"bb_percent": 14.4,
"woba": 0.376,
"xwoba": 0.403,
"xba": 0.288,
"xslg": 0.544,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 11.6,
"whiff_percent": 30.0,
"swing_percent": 50.7
},
"components": {
"expected_quality": 1.7858,
"regression_edge": 0.7714,
"xwoba_edge": 2.5,
"xba_edge": 1.3714,
"xslg_edge": 2.4286,
"barrel_edge": 1.1556,
"hard_hit_edge": 0.9857,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "669016",
"player_name": "Brandon Marsh",
"offense_factor": 1.0336,
"quality_score": 0.4481,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669016",
"espn_id": 40803,
"player_name": "Brandon Marsh",
"team": "PHI",
"role": "batter",
"espn_rank": 59,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 59,
"gp_value": 75.0,
"gp_rank": 79,
"ab_value": 274.0,
"ab_rank": 84,
"r_value": 44.0,
"r_rank": 43,
"h_value": 88.0,
"h_rank": 6,
"avg_value": 0.3211678,
"avg_rank": 5.0,
"2b_value": 14.0,
"2b_rank": 63,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 11.0,
"hr_rank": 71,
"rbi_value": 38.0,
"rbi_rank": 69,
"tb_value": 139.0,
"tb_rank": 322,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 74.0,
"so_rank": 51,
"sb_value": 7.0,
"sb_rank": 66,
"obp_value": 0.3527397,
"obp_rank": "47",
"slg_value": 0.5072992,
"slg_rank": "25",
"ops_value": 0.8600389,
"ops_rank": 22.0,
"war_value": 1.95,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 25.3,
"bb_percent": 4.5,
"woba": 0.37,
"xwoba": 0.328,
"xba": 0.284,
"xslg": 0.446,
"sweet_spot_percent": 45.8,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 46.8,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 12.9,
"whiff_percent": 25.3,
"swing_percent": 53.8
},
"components": {
"expected_quality": 0.8051,
"regression_edge": -1.2,
"xwoba_edge": 0.6857,
"xba_edge": 1.2571,
"xslg_edge": 1.0286,
"barrel_edge": 0.3111,
"hard_hit_edge": 1.2143,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 2.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "607208",
"player_name": "Trea Turner",
"offense_factor": 0.9806,
"quality_score": -0.2583,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607208",
"espn_id": 33710,
"player_name": "Trea Turner",
"team": "PHI",
"role": "batter",
"espn_rank": 482,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 482,
"gp_value": 78.0,
"gp_rank": 32,
"ab_value": 319.0,
"ab_rank": 3,
"r_value": 49.0,
"r_rank": 22,
"h_value": 73.0,
"h_rank": 64,
"avg_value": 0.2288401,
"avg_rank": 131.0,
"2b_value": 13.0,
"2b_rank": 81,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 23.0,
"rbi_rank": 197,
"tb_value": 107.0,
"tb_rank": 964,
"bb_value": 21.0,
"bb_rank": 154,
"so_value": 77.0,
"so_rank": 45,
"sb_value": 15.0,
"sb_rank": 14,
"obp_value": 0.2798833,
"obp_rank": "150",
"slg_value": 0.3354231,
"slg_rank": "150",
"ops_value": 0.6153064,
"ops_rank": null,
"war_value": -0.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 239.0,
"k_percent": 22.4,
"bb_percent": 6.1,
"woba": 0.275,
"xwoba": 0.284,
"xba": 0.239,
"xslg": 0.349,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 39.1,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 10.0,
"whiff_percent": 27.4,
"swing_percent": 51.3
},
"components": {
"expected_quality": -0.3422,
"regression_edge": 0.2571,
"xwoba_edge": -0.5714,
"xba_edge": -0.0286,
"xslg_edge": -0.3571,
"barrel_edge": -0.5556,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "664761",
"player_name": "Alec Bohm",
"offense_factor": 0.9966,
"quality_score": -0.0454,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664761",
"espn_id": 41169,
"player_name": "Alec Bohm",
"team": "PHI",
"role": "batter",
"espn_rank": 463,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 463,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 278.0,
"ab_rank": 76,
"r_value": 24.0,
"r_rank": 192,
"h_value": 63.0,
"h_rank": 104,
"avg_value": 0.2266187,
"avg_rank": 136.0,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 9.0,
"hr_rank": 99,
"rbi_value": 41.0,
"rbi_rank": 52,
"tb_value": 100.0,
"tb_rank": 960,
"bb_value": 20.0,
"bb_rank": 166,
"so_value": 42.0,
"so_rank": 203,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2796052,
"obp_rank": "150",
"slg_value": 0.3597122,
"slg_rank": "138",
"ops_value": 0.6393174,
"ops_rank": 12.0,
"war_value": -0.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 204.0,
"k_percent": 13.8,
"bb_percent": 6.6,
"woba": 0.282,
"xwoba": 0.293,
"xba": 0.243,
"xslg": 0.36,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 40.4,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 10.0,
"whiff_percent": 16.1,
"swing_percent": 44.4
},
"components": {
"expected_quality": -0.1081,
"regression_edge": 0.3143,
"xwoba_edge": -0.3143,
"xba_edge": 0.0857,
"xslg_edge": -0.2,
"barrel_edge": -0.5333,
"hard_hit_edge": 0.3,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "592663",
"player_name": "J.T. Realmuto",
"offense_factor": 1.0132,
"quality_score": 0.1756,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "592663",
"espn_id": 32177,
"player_name": "J.T. Realmuto",
"team": "PHI",
"role": "batter",
"espn_rank": 253,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 253,
"gp_value": 55.0,
"gp_rank": 228,
"ab_value": 182.0,
"ab_rank": 211,
"r_value": 20.0,
"r_rank": 228,
"h_value": 37.0,
"h_rank": 237,
"avg_value": 0.2032967,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 23.0,
"rbi_rank": 197,
"tb_value": 59.0,
"tb_rank": 1455,
"bb_value": 17.0,
"bb_rank": 193,
"so_value": 41.0,
"so_rank": 212,
"sb_value": 3.0,
"sb_rank": 161,
"obp_value": 0.2864077,
"obp_rank": "-",
"slg_value": 0.3241758,
"slg_rank": "-",
"ops_value": 0.6105835,
"ops_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 130.0,
"k_percent": 19.9,
"bb_percent": 8.3,
"woba": 0.276,
"xwoba": 0.317,
"xba": 0.249,
"xslg": 0.383,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 37.1,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 11.5,
"whiff_percent": 24.9,
"swing_percent": 47.5
},
"components": {
"expected_quality": 0.1549,
"regression_edge": 1.1714,
"xwoba_edge": 0.3714,
"xba_edge": 0.2571,
"xslg_edge": 0.1286,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.1714,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "681082",
"player_name": "Bryson Stott",
"offense_factor": 1.0221,
"quality_score": 0.295,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681082",
"espn_id": 42417,
"player_name": "Bryson Stott",
"team": "PHI",
"role": "batter",
"espn_rank": 239,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 239,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 257.0,
"ab_rank": 107,
"r_value": 30.0,
"r_rank": 140,
"h_value": 62.0,
"h_rank": 108,
"avg_value": 0.2412451,
"avg_rank": 104.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 3.0,
"3b_rank": 8,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 40.0,
"rbi_rank": 57,
"tb_value": 104.0,
"tb_rank": 581,
"bb_value": 19.0,
"bb_rank": 178,
"so_value": 47.0,
"so_rank": 169,
"sb_value": 15.0,
"sb_rank": 14,
"obp_value": 0.297491,
"obp_rank": "143",
"slg_value": 0.4046692,
"slg_rank": "103",
"ops_value": 0.7021602,
"ops_rank": 40.0,
"war_value": 0.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 182.0,
"k_percent": 16.7,
"bb_percent": 6.8,
"woba": 0.308,
"xwoba": 0.318,
"xba": 0.258,
"xslg": 0.412,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 39.9,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 15.4,
"whiff_percent": 17.3,
"swing_percent": 43.4
},
"components": {
"expected_quality": 0.3681,
"regression_edge": 0.2857,
"xwoba_edge": 0.4,
"xba_edge": 0.5143,
"xslg_edge": 0.5429,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.2286,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "687282",
"player_name": "Gabriel Rincones Jr.",
"offense_factor": 0.9475,
"quality_score": -0.6995,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687282",
"espn_id": 5131884,
"player_name": "Gabriel Rincones Jr.",
"team": "PHI",
"role": "batter",
"espn_rank": 465,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 465,
"gp_value": 8.0,
"gp_rank": 517,
"ab_value": 28.0,
"ab_rank": 482,
"r_value": 2.0,
"r_rank": 482,
"h_value": 4.0,
"h_rank": 493,
"avg_value": 0.1428571,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 495,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 3.0,
"rbi_rank": 455,
"tb_value": 7.0,
"tb_rank": 2515,
"bb_value": 0.0,
"bb_rank": 533,
"so_value": 7.0,
"so_rank": 487,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.1428571,
"obp_rank": "-",
"slg_value": 0.25,
"slg_rank": "-",
"ops_value": 0.3928571,
"ops_rank": null,
"war_value": -0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 25.0,
"bb_percent": 0.0,
"woba": 0.169,
"xwoba": 0.158,
"xba": 0.135,
"xslg": 0.235,
"sweet_spot_percent": 9.5,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 6.3,
"whiff_percent": 23.1,
"swing_percent": 64.4
},
"components": {
"expected_quality": -1.7565,
"regression_edge": -0.3143,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -1.9857,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.0286,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "702222",
"player_name": "Justin Crawford",
"offense_factor": 0.9505,
"quality_score": -0.6594,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702222",
"espn_id": 5080642,
"player_name": "Justin Crawford",
"team": "PHI",
"role": "batter",
"espn_rank": 494,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 494,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 221.0,
"ab_rank": 150,
"r_value": 21.0,
"r_rank": 221,
"h_value": 53.0,
"h_rank": 150,
"avg_value": 0.239819,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 128,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 16.0,
"rbi_rank": 266,
"tb_value": 74.0,
"tb_rank": 1272,
"bb_value": 16.0,
"bb_rank": 206,
"so_value": 51.0,
"so_rank": 150,
"sb_value": 9.0,
"sb_rank": 50,
"obp_value": 0.2970711,
"obp_rank": "-",
"slg_value": 0.3348416,
"slg_rank": "-",
"ops_value": 0.6319127,
"ops_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 173.0,
"k_percent": 21.3,
"bb_percent": 6.7,
"woba": 0.283,
"xwoba": 0.266,
"xba": 0.235,
"xslg": 0.295,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 33.5,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 2.7,
"whiff_percent": 19.7,
"swing_percent": 52.9
},
"components": {
"expected_quality": -0.896,
"regression_edge": -0.4857,
"xwoba_edge": -1.0857,
"xba_edge": -0.1429,
"xslg_edge": -1.1286,
"barrel_edge": -1.2889,
"hard_hit_edge": -0.6857,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.95,
"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 PHI | True | 1 | 0.5554 | 1 | 0.9528 | 1.0649 | 0.9120 | 1.0130 | neutral | 0.2710 | 0.2700 | 28.50 | 4.70 | 31.40 | 8.50 | 42.90 | |
| Home WAS | True | 185 | -0.1726 | 1 | 1.0147 | 0.9929 | 0.9780 | 1.0278 | neutral | 0.3290 | 0.3310 | 23.50 | 8 | 23.80 | 7.50 | 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 PHI | True | None | 98 | 90.03 | 2074 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0159 | |
| Home WAS | True | None | 86 | 91.09 | 2213 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0751 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0147 |
| home_runs_vs_away_pitcher | 0.9528 |
| home_pitcher_quality_edge | -0.7280 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "676917",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 268.0,
"k_percent": 23.5,
"bb_percent": 8.0,
"woba": 0.331,
"xwoba": 0.329,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 39.9,
"avg_best_speed": 78.4084,
"avg_hyper_speed": 94.3384,
"whiff_percent": 23.8,
"swing_percent": 46.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.3311,
"command_and_miss": 0.0039,
"regression_edge": 0.0571,
"xwoba_edge": -0.4143,
"barrel_edge": -0.0778,
"hard_hit_edge": -0.2286,
"whiff_edge": -0.2929,
"bb_edge": 0.275,
"pitch_design_score": 0.0751
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676917",
"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": 91.09304496743118,
"release_spin_rate": 2213.371971525345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.09304496743118,
"release_spin_rate": 2213.371971525345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.093,
"release_spin_rate": 2213.372,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.5367,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1726,
"sample_weight": 1.0,
"run_prevention_factor": 1.0147,
"strikeout_factor": 0.9929,
"walk_factor": 0.978,
"homer_factor": 1.0278,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676917",
"espn_id": 4308037,
"player_name": "Cade Cavalli",
"team": "WSH",
"role": "pitcher",
"espn_rank": 185,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 185,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 5.0,
"qs_rank": 62,
"era_value": 4.0732,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 77.1,
"ip_rank": 73,
"h_value": 85.0,
"h_rank": 20,
"er_value": 35.0,
"er_rank": 69,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 28.0,
"bb_rank": 50,
"k_value": 82.0,
"k_rank": 40,
"k_per_9_value": 9.543104,
"k_per_9_rank": 14,
"whip_value": 1.4612,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "650911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 322.0,
"k_percent": 28.5,
"bb_percent": 4.7,
"woba": 0.27,
"xwoba": 0.271,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 42.9,
"avg_best_speed": 77.9344,
"avg_hyper_speed": 94.4853,
"whiff_percent": 31.4,
"swing_percent": 50.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.5905,
"command_and_miss": 0.8704,
"regression_edge": -0.0286,
"xwoba_edge": 1.2429,
"barrel_edge": -0.3,
"hard_hit_edge": -0.6571,
"whiff_edge": 0.7929,
"bb_edge": 1.1,
"pitch_design_score": 0.0159
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "650911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 90.03469104027522,
"release_spin_rate": 2074.191427859334,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 90.03469104027522,
"release_spin_rate": 2074.191427859334,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0347,
"release_spin_rate": 2074.1914,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0159,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1134,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5554,
"sample_weight": 1.0,
"run_prevention_factor": 0.9528,
"strikeout_factor": 1.0649,
"walk_factor": 0.912,
"homer_factor": 1.013,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650911",
"espn_id": 42359,
"player_name": "Cristopher Sanchez",
"team": "PHI",
"role": "pitcher",
"espn_rank": 1,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 1,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 12.0,
"qs_rank": 1,
"era_value": 1.8,
"era_rank": 3.0,
"w_value": 9.0,
"w_rank": 2,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 105.0,
"ip_rank": 2,
"h_value": 94.0,
"h_rank": 8,
"er_value": 21.0,
"er_rank": 161,
"hr_value": 7.0,
"hr_rank": 120,
"bb_value": 20.0,
"bb_rank": 130,
"k_value": 121.0,
"k_rank": 2,
"k_per_9_value": 10.3714285,
"k_per_9_rank": 27,
"whip_value": 1.0857,
"whip_rank": 20.0,
"war_value": 5.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0147,
"home_runs_vs_away_pitcher": 0.9528,
"home_pitcher_quality_edge": -0.728
},
"score_before": {
"away_runs": 3.0685,
"home_runs": 0.8968
},
"score_after": {
"away_runs": 3.1136,
"home_runs": 0.8544,
"home_win_probability": 0.2949
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away PHI | 11-59 | 0.157 | 1.10 | 2.80 | -121 | cold | strong | |
| Home WAS | 17-48 | 0.262 | 1.10 | 3.50 | -154 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away PHI | 44-36 | 0.550 | -1 | -0.013 | True |
| Home WAS | 41-40 | 0.506 | 9 | 0.111 | True |
| Signal | - | - | 0.124 | 0.058 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target PHI | - | - | 3 | - | - | - | - |
| Game target WAS | - | - | 1 | - | - | - | - |
| Player finalized PHI | 35 | 9 | 5 | 0 | 5 | 2 | 9 |
| Player finalized WAS | 31 | 9 | 3 | 0 | 2 | 1 | 7 |
| Player model fractional PHI | 33.87 | 8.38 | 4.66 | 1.34 | 4.78 | 2.67 | 7.95 |
| Player model fractional WAS | 30.95 | 7.14 | 4.42 | 0.99 | 3.91 | 2.68 | 6.91 |
| Simulation box PHI | 34 | 7 | 3 | 0 | 3 | 0 | 9 |
| Simulation box WAS | 34 | 7 | 2 | 1 | 2 | 3 | 4 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away PHI | Starter | Cristopher Sánchez | 6.20 | 0 | 4 | 2 | 3 | 2.44 | 1.03 | True |
| Away PHI | Middle Reliever | Jhoan Duran | 1 | 2 | 0 | 3 | 0 | 2.29 | 1.01 | True |
| Away PHI | Middle Reliever | Orion Kerkering | 1 | 0 | 0 | 1 | 0 | 4.86 | 1.29 | True |
| Away PHI | Middle Reliever | José Alvarado | 0.10 | 0 | 0 | 1 | 0 | 6.15 | 1.54 | True |
| Home WAS | Starter | Cade Cavalli | 4.20 | 1 | 6 | 4 | 0 | 4.35 | 1.43 | True |
| Home WAS | Middle Reliever | Brad Lord | 1.10 | 0 | 0 | 0 | 0 | 4.68 | 1.29 | True |
| Home WAS | Middle Reliever | Clayton Beeter | 1.20 | 0 | 2 | 0 | 0 | 3.84 | 1.36 | True |
| Home WAS | Middle Reliever | Gus Varland | 1.10 | 2 | 1 | 3 | 0 | 4.64 | 1.55 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | WAS | batter | DH | James Wood | better | 10 | 5 | 5 | 6 | 4 | predicted_2B | 1.7650 | boost | better |
| home | WAS | batter | 2B | Jorbit Vivas | better | 11 | 7 | 4 | 6 | 5 | predicted_SO | 1.6180 | boost | worse |
| away | PHI | batter | LF | Brandon Marsh | better | 10 | 6 | 4 | 7 | 3 | predicted_RBI | 1.4800 | boost | better |
| away | PHI | batter | DH | Kyle Schwarber | worse | 9 | 4 | 5 | 3 | 6 | predicted_AB | -1.2500 | deboost | worse |
| home | WAS | batter | SS | Nasim Nuñez | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 1.1800 | boost | better |
| away | PHI | batter | 1B | Bryce Harper | worse | 10 | 5 | 5 | 4 | 6 | predicted_SO | 1.1790 | boost | worse |
| away | PHI | batter | SS | Trea Turner | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 1.0130 | boost | worse |
| home | WAS | batter | RF | Dylan Crews | worse | 10 | 0 | 10 | 1 | 9 | predicted_H | -0.9600 | deboost | worse |
| home | WAS | batter | LF | Daylen Lile | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.9100 | deboost | worse |
| home | WAS | batter | 3B | Curtis Mead | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 0.9080 | boost | better |
| away | PHI | batter | 2B | Bryson Stott | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | -0.8900 | deboost | worse |
| away | PHI | batter | 3B | Alec Bohm | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.8800 | deboost | worse |
| home | WAS | batter | CF | Jacob Young | worse | 11 | 1 | 10 | 2 | 9 | predicted_BB | 0.8240 | boost | better |
| away | PHI | batter | C | J.T. Realmuto | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.7740 | deboost | better |
| home | WAS | batter | C | Keibert Ruiz | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -0.7700 | deboost | worse |
| away | PHI | batter | CF | Justin Crawford | worse | 10 | 0 | 10 | 1 | 9 | predicted_SO | -0.7180 | deboost | better |
| home | WAS | batter | 1B | Andrés Chaparro | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_SO | -0.7140 | deboost | better |
| away | PHI | batter | RF | Gabriel Rincones Jr. | worse | 9 | 3 | 6 | 2 | 7 | predicted_AB | 0.5000 | boost | better |
| away | PHI | pitcher | Starter | Cristopher Sánchez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | WAS | pitcher | Starter | Cade Cavalli | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | PHI | pitcher | Middle Reliever | José Alvarado | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | WAS | pitcher | Middle Reliever | Brad Lord | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | WAS | pitcher | Middle Reliever | Clayton Beeter | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| home | WAS | pitcher | Middle Reliever | Gus 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 | Cristopher Sánchez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5554 |
| ESPN Rank | 1 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0159 |
| Avg Velo | 90.0347 |
| Avg Spin | 2074.1914 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.2000 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 3 |
| Pre SO | 4 |
| Season ERA | 1.8000 |
| Season WHIP | 1.0857 |
| Role Avg IP | 6.5620 |
| Recent Avg IP | 6.5330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 373.0,
"runs_allowed": 382.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1034,
"avg_runs_scored": 4.2874,
"avg_runs_allowed": 4.3908,
"offense_index": 0.9519,
"defense_index": 1.0258,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.6,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.037
},
"opponent": {
"team": "WAS",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 440.0,
"runs_allowed": 443.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0345,
"avg_runs_scored": 5.0575,
"avg_runs_allowed": 5.092,
"offense_index": 1.1228,
"defense_index": 0.8846,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.6,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.0188
},
"edges": {
"quality_edge": 0.0558,
"offense_edge": -0.0481,
"opponent_offense_edge": 0.1228,
"defense_strength": 0.0258,
"opponent_defense_weakness": 0.1154,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9981,
"run_prevention": 1.0143,
"strikeout": 0.9918
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "650911",
"profile": {
"available": true,
"pitcher_id": "650911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 322.0,
"k_percent": 28.5,
"bb_percent": 4.7,
"woba": 0.27,
"xwoba": 0.271,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 42.9,
"avg_best_speed": 77.9344,
"avg_hyper_speed": 94.4853,
"whiff_percent": 31.4,
"swing_percent": 50.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.5905,
"command_and_miss": 0.8704,
"regression_edge": -0.0286,
"xwoba_edge": 1.2429,
"barrel_edge": -0.3,
"hard_hit_edge": -0.6571,
"whiff_edge": 0.7929,
"bb_edge": 1.1,
"pitch_design_score": 0.0159
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "650911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 90.03469104027522,
"release_spin_rate": 2074.191427859334,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 90.03469104027522,
"release_spin_rate": 2074.191427859334,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0347,
"release_spin_rate": 2074.1914,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0159,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1134,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5554,
"sample_weight": 1.0,
"run_prevention_factor": 0.9528,
"strikeout_factor": 1.0649,
"walk_factor": 0.912,
"homer_factor": 1.013,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650911",
"espn_id": 42359,
"player_name": "Cristopher Sanchez",
"team": "PHI",
"role": "pitcher",
"espn_rank": 1,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 1,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 12.0,
"qs_rank": 1,
"era_value": 1.8,
"era_rank": 3.0,
"w_value": 9.0,
"w_rank": 2,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 105.0,
"ip_rank": 2,
"h_value": 94.0,
"h_rank": 8,
"er_value": 21.0,
"er_rank": 161,
"hr_value": 7.0,
"hr_rank": 120,
"bb_value": 20.0,
"bb_rank": 130,
"k_value": 121.0,
"k_rank": 2,
"k_per_9_value": 10.3714285,
"k_per_9_rank": 27,
"whip_value": 1.0857,
"whip_rank": 20.0,
"war_value": 5.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9528,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 0.9528,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.912,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.013,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0649,
"adjusted": 7
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 71.1,
"ER": 10,
"H": 50,
"BB": 10,
"SO": 78,
"HR": 4,
"ERA": 1.261682242990654,
"WHIP": 0.8411214953271027,
"K9": 9.841121495327101,
"HR9": 0.5046728971962616,
"games_pitched": 10,
"quality_starts": 9,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-20T00:00:00"
}{
"available": true,
"pitcher_id": "650911",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 90.03469104027522,
"release_spin_rate": 2074.191427859334,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 90.03469104027522,
"release_spin_rate": 2074.191427859334,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0347,
"release_spin_rate": 2074.1914,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0159,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1134,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "650911",
"report_date": "20260625_P",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 6.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.2,
"ER": 8.0,
"R": 8.0,
"H": 27.0,
"BB": 4.0,
"SO": 35.0,
"HR": 4.0,
"BF": 128.0,
"Pitches": 480.0
},
"per_game": {
"IP": 6.2,
"ER": 1.6,
"R": 1.6,
"H": 5.4,
"BB": 0.8,
"SO": 7.0,
"HR": 0.8,
"BF": 25.6,
"Pitches": 96.0
},
"rates": {
"ERA": 2.2041,
"WHIP": 0.949,
"ER_per_IP": 0.2449,
"H_per_IP": 0.82653,
"BB_per_IP": 0.12245,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.12245
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 71.1,
"ER": 10.0,
"R": 10.0,
"H": 50.0,
"BB": 10.0,
"SO": 78.0,
"HR": 4.0,
"BF": 271.0,
"Pitches": 969.0
},
"per_game": {
"IP": 7.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 1.0,
"SO": 7.8,
"HR": 0.4,
"BF": 27.1,
"Pitches": 96.9
},
"rates": {
"ERA": 1.2617,
"WHIP": 0.8411,
"ER_per_IP": 0.14019,
"H_per_IP": 0.70093,
"BB_per_IP": 0.14019,
"SO_per_IP": 1.09346,
"HR_per_IP": 0.05607
}
},
"season": {
"games": 16,
"totals": {
"IP": 105.0,
"ER": 21.0,
"R": 26.0,
"H": 94.0,
"BB": 20.0,
"SO": 121.0,
"HR": 7.0,
"BF": 424.0,
"Pitches": 1533.0
},
"per_game": {
"IP": 6.2,
"ER": 1.3125,
"R": 1.625,
"H": 5.875,
"BB": 1.25,
"SO": 7.5625,
"HR": 0.4375,
"BF": 26.5,
"Pitches": 95.8125
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0857,
"ER_per_IP": 0.2,
"H_per_IP": 0.89524,
"BB_per_IP": 0.19048,
"SO_per_IP": 1.15238,
"HR_per_IP": 0.06667
}
}
},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 1.829,
"predicted_H": 5.658,
"predicted_BB": 1.312,
"predicted_SO": 7.161,
"predicted_HR": 0.688,
"predicted_ERA": 2.4371,
"predicted_WHIP": 1.0317
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 6.2,
"form": 6.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.829,
"final": 1.0049,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 5.658,
"final": 4.0097,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.312,
"final": 2.0726,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 7.161,
"final": 5.7367,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.688,
"final": 0.378,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4371,
"final": 2.4371,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0317,
"final": 1.0317,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jhoan Duran |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5341 |
| ESPN Rank | 39 |
| 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 | 3 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.0125 |
| Season WHIP | 0.8250 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 373.0,
"runs_allowed": 382.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1034,
"avg_runs_scored": 4.2874,
"avg_runs_allowed": 4.3908,
"offense_index": 0.9519,
"defense_index": 1.0258,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.6,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.037
},
"opponent": {
"team": "WAS",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 440.0,
"runs_allowed": 443.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0345,
"avg_runs_scored": 5.0575,
"avg_runs_allowed": 5.092,
"offense_index": 1.1228,
"defense_index": 0.8846,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.6,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.0188
},
"edges": {
"quality_edge": 0.0558,
"offense_edge": -0.0481,
"opponent_offense_edge": 0.1228,
"defense_strength": 0.0258,
"opponent_defense_weakness": 0.1154,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9981,
"run_prevention": 1.0143,
"strikeout": 0.9918
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "661395",
"profile": {
"available": true,
"pitcher_id": "661395",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 65.0,
"k_percent": 42.2,
"bb_percent": 4.9,
"woba": 0.231,
"xwoba": 0.23,
"sweet_spot_percent": 27.8,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 50.0,
"avg_best_speed": 82.606,
"avg_hyper_speed": 95.3629,
"whiff_percent": 41.4,
"swing_percent": 53.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.1334,
"command_and_miss": 2.1125,
"regression_edge": 0.0286,
"xwoba_edge": 2.4143,
"barrel_edge": 0.3444,
"hard_hit_edge": -1.6714,
"whiff_edge": 2.2214,
"bb_edge": 1.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "661395",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5341,
"sample_weight": 0.45,
"run_prevention_factor": 0.9546,
"strikeout_factor": 1.085,
"walk_factor": 0.9622,
"homer_factor": 0.9851,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661395",
"espn_id": 41109,
"player_name": "Jhoan Duran",
"team": "PHI",
"role": "pitcher",
"espn_rank": 39,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 39,
"gp_value": 28.0,
"gp_rank": 119,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.6875,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 19.0,
"sv_rank": 4,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 26.2,
"ip_rank": 327,
"h_value": 20.0,
"h_rank": 363,
"er_value": 5.0,
"er_rank": 508,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 5.0,
"bb_rank": 488,
"k_value": 43.0,
"k_rank": 163,
"k_per_9_value": 14.512501,
"k_per_9_rank": 13,
"whip_value": 0.9375,
"whip_rank": null,
"war_value": 1.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9796,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9796,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9933,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0382,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 0,
"H": 5,
"BB": 0,
"SO": 17,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5555555555555556,
"K9": 17.0,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "661395",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.28,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5136,
"prior_weight": 0.4864
},
"role": "pitcher",
"player_id": "661395",
"report_date": "20260625_P",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 0.0,
"SO": 10.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.8,
"BB_per_IP": 0.0,
"SO_per_IP": 2.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 0.0,
"SO": 17.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.7,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.0,
"SO_per_IP": 1.7,
"HR_per_IP": 0.0
}
},
"season": {
"games": 27,
"totals": {
"IP": 26.2,
"ER": 3.0,
"R": 4.0,
"H": 17.0,
"BB": 5.0,
"SO": 43.0,
"HR": 1.0,
"BF": 99.0,
"Pitches": 407.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1111,
"R": 0.1481,
"H": 0.6296,
"BB": 0.1852,
"SO": 1.5926,
"HR": 0.037,
"BF": 3.6667,
"Pitches": 15.0741
},
"rates": {
"ERA": 1.0125,
"WHIP": 0.825,
"ER_per_IP": 0.1125,
"H_per_IP": 0.6375,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.6125,
"HR_per_IP": 0.0375
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.255,
"predicted_H": 0.812,
"predicted_BB": 0.194,
"predicted_SO": 1.394,
"predicted_HR": 0.075,
"predicted_ERA": 2.2912,
"predicted_WHIP": 1.0062
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5555,
"form_weight": 0.4445,
"form_reliability": 0.5136,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.28,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5136,
"prior_weight": 0.4864
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.255,
"final": 1.2244,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.812,
"final": 2.0274,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.194,
"final": 0.0862,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.394,
"final": 0.6196,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.075,
"final": 0.5888,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2912,
"final": 2.2912,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0062,
"final": 1.0062,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Orion Kerkering |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3320 |
| ESPN Rank | 118 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.0337 |
| Season WHIP | 1.2135 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 373.0,
"runs_allowed": 382.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1034,
"avg_runs_scored": 4.2874,
"avg_runs_allowed": 4.3908,
"offense_index": 0.9519,
"defense_index": 1.0258,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.6,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.037
},
"opponent": {
"team": "WAS",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 440.0,
"runs_allowed": 443.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0345,
"avg_runs_scored": 5.0575,
"avg_runs_allowed": 5.092,
"offense_index": 1.1228,
"defense_index": 0.8846,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.6,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.0188
},
"edges": {
"quality_edge": 0.0558,
"offense_edge": -0.0481,
"opponent_offense_edge": 0.1228,
"defense_strength": 0.0258,
"opponent_defense_weakness": 0.1154,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9981,
"run_prevention": 1.0143,
"strikeout": 0.9918
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "689147",
"profile": {
"available": true,
"pitcher_id": "689147",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 78.0,
"k_percent": 26.4,
"bb_percent": 10.9,
"woba": 0.294,
"xwoba": 0.265,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 24.4,
"avg_best_speed": 70.6006,
"avg_hyper_speed": 92.0279,
"whiff_percent": 26.1,
"swing_percent": 42.8
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.0949,
"command_and_miss": 0.1604,
"regression_edge": 0.8286,
"xwoba_edge": 1.4143,
"barrel_edge": 0.1667,
"hard_hit_edge": 1.9857,
"whiff_edge": 0.0357,
"bb_edge": -0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "689147",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.332,
"sample_weight": 0.45,
"run_prevention_factor": 0.9718,
"strikeout_factor": 1.0102,
"walk_factor": 1.0162,
"homer_factor": 0.9392,
"woba_minus_xwoba": 0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "689147",
"espn_id": 4630789,
"player_name": "Orion Kerkering",
"team": "PHI",
"role": "pitcher",
"espn_rank": 118,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 118,
"gp_value": 32.0,
"gp_rank": 66,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.0337,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 5.0,
"hld_rank": 97,
"ip_value": 29.2,
"ip_rank": 295,
"h_value": 22.0,
"h_rank": 325,
"er_value": 10.0,
"er_rank": 351,
"hr_value": 3.0,
"hr_rank": 288,
"bb_value": 14.0,
"bb_rank": 226,
"k_value": 34.0,
"k_rank": 230,
"k_per_9_value": 10.314607,
"k_per_9_rank": 21,
"whip_value": 1.2134,
"whip_rank": null,
"war_value": 0.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9873,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9873,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9726,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0046,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 5,
"H": 8,
"BB": 7,
"SO": 16,
"HR": 1,
"ERA": 4.35483870967742,
"WHIP": 1.4516129032258067,
"K9": 13.935483870967744,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "689147",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.874,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"role": "pitcher",
"player_id": "689147",
"report_date": "20260625_P",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 98.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 0.6,
"BB": 0.6,
"SO": 1.4,
"HR": 0.2,
"BF": 4.8,
"Pitches": 19.6
},
"rates": {
"ERA": 6.75,
"WHIP": 1.125,
"ER_per_IP": 0.75,
"H_per_IP": 0.5625,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 7.0,
"SO": 16.0,
"HR": 1.0,
"BF": 48.0,
"Pitches": 196.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.8,
"BB": 0.7,
"SO": 1.6,
"HR": 0.1,
"BF": 4.8,
"Pitches": 19.6
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.4516,
"ER_per_IP": 0.48387,
"H_per_IP": 0.77419,
"BB_per_IP": 0.67742,
"SO_per_IP": 1.54839,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 32,
"totals": {
"IP": 29.2,
"ER": 10.0,
"R": 11.0,
"H": 22.0,
"BB": 14.0,
"SO": 34.0,
"HR": 3.0,
"BF": 129.0,
"Pitches": 528.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3125,
"R": 0.3438,
"H": 0.6875,
"BB": 0.4375,
"SO": 1.0625,
"HR": 0.0938,
"BF": 4.0312,
"Pitches": 16.5
},
"rates": {
"ERA": 3.0337,
"WHIP": 1.2135,
"ER_per_IP": 0.33708,
"H_per_IP": 0.74157,
"BB_per_IP": 0.47191,
"SO_per_IP": 1.14607,
"HR_per_IP": 0.10112
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.54,
"predicted_H": 0.809,
"predicted_BB": 0.481,
"predicted_SO": 1.171,
"predicted_HR": 0.142,
"predicted_ERA": 4.8596,
"predicted_WHIP": 1.2904
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5443,
"form_weight": 0.4557,
"form_reliability": 0.5402,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.874,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.54,
"final": 0.2461,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.809,
"final": 0.913,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.481,
"final": 0.2192,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.171,
"final": 0.5337,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0647,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8596,
"final": 4.8596,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2904,
"final": 1.2904,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | José Alvarado |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1606 |
| ESPN Rank | 614 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 6.1071 |
| Season WHIP | 1.7143 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 373.0,
"runs_allowed": 382.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1034,
"avg_runs_scored": 4.2874,
"avg_runs_allowed": 4.3908,
"offense_index": 0.9519,
"defense_index": 1.0258,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.6,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.037
},
"opponent": {
"team": "WAS",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 440.0,
"runs_allowed": 443.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0345,
"avg_runs_scored": 5.0575,
"avg_runs_allowed": 5.092,
"offense_index": 1.1228,
"defense_index": 0.8846,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.6,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.0188
},
"edges": {
"quality_edge": 0.0558,
"offense_edge": -0.0481,
"opponent_offense_edge": 0.1228,
"defense_strength": 0.0258,
"opponent_defense_weakness": 0.1154,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9981,
"run_prevention": 1.0143,
"strikeout": 0.9918
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621237",
"profile": {
"available": true,
"pitcher_id": "621237",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 27.2,
"bb_percent": 8.1,
"woba": 0.376,
"xwoba": 0.305,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 30.1,
"avg_best_speed": 77.2027,
"avg_hyper_speed": 93.2776,
"whiff_percent": 30.0,
"swing_percent": 49.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0264,
"command_and_miss": 0.5468,
"regression_edge": 2.0,
"xwoba_edge": 0.2714,
"barrel_edge": 0.7667,
"hard_hit_edge": 1.1714,
"whiff_edge": 0.5929,
"bb_edge": 0.25,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "621237",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1606,
"sample_weight": 0.45,
"run_prevention_factor": 0.9863,
"strikeout_factor": 1.0222,
"walk_factor": 0.991,
"homer_factor": 0.9476,
"woba_minus_xwoba": 0.071,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "621237",
"espn_id": 36063,
"player_name": "Jose Alvarado",
"team": "PHI",
"role": "pitcher",
"espn_rank": 614,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 614,
"gp_value": 34.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 6.1071,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 8.0,
"hld_rank": 49,
"ip_value": 28.0,
"ip_rank": 319,
"h_value": 37.0,
"h_rank": 176,
"er_value": 19.0,
"er_rank": 172,
"hr_value": 3.0,
"hr_rank": 288,
"bb_value": 11.0,
"bb_rank": 298,
"k_value": 37.0,
"k_rank": 202,
"k_per_9_value": 11.892857,
"k_per_9_rank": 17,
"whip_value": 1.7142,
"whip_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9938,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9938,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9764,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.01,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 7,
"H": 10,
"BB": 3,
"SO": 11,
"HR": 2,
"ERA": 6.750000000000001,
"WHIP": 1.392857142857143,
"K9": 10.607142857142858,
"HR9": 1.9285714285714288,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "621237",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"role": "pitcher",
"player_id": "621237",
"report_date": "20260625_P",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 111.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.6,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 5.0,
"Pitches": 22.2
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 1.6,
"BB_per_IP": 0.4,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 3.0,
"SO": 11.0,
"HR": 2.0,
"BF": 42.0,
"Pitches": 200.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.0,
"BB": 0.3,
"SO": 1.1,
"HR": 0.2,
"BF": 4.2,
"Pitches": 20.0
},
"rates": {
"ERA": 6.75,
"WHIP": 1.3929,
"ER_per_IP": 0.75,
"H_per_IP": 1.07143,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 34,
"totals": {
"IP": 28.0,
"ER": 19.0,
"R": 20.0,
"H": 37.0,
"BB": 11.0,
"SO": 37.0,
"HR": 3.0,
"BF": 136.0,
"Pitches": 577.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5588,
"R": 0.5882,
"H": 1.0882,
"BB": 0.3235,
"SO": 1.0882,
"HR": 0.0882,
"BF": 4.0,
"Pitches": 16.9706
},
"rates": {
"ERA": 6.1071,
"WHIP": 1.7143,
"ER_per_IP": 0.67857,
"H_per_IP": 1.32143,
"BB_per_IP": 0.39286,
"SO_per_IP": 1.32143,
"HR_per_IP": 0.10714
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.443,
"predicted_H": 0.762,
"predicted_BB": 0.237,
"predicted_SO": 0.737,
"predicted_HR": 0.109,
"predicted_ERA": 6.1463,
"predicted_WHIP": 1.5403
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5503,
"form_weight": 0.4497,
"form_reliability": 0.5258,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.443,
"final": 0.1992,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.762,
"final": 0.893,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.237,
"final": 0.1066,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.737,
"final": 0.3314,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.109,
"final": 0.049,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.1463,
"final": 6.1463,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5403,
"final": 1.5403,
"source": "form_only"
}
}
}{
"available": false,
"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.122 | 0.000 | 0.000 | Hitting_2B | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.250 | 3.000 | 4.000 | Hitting_AB | 3.878 | 0.000 | -0.878 | 3.000 |
| predicted_AVG | 0.242 | 0.333 | 0.250 | Hitting_AVG | 0.250 | - | 0.083 | - |
| predicted_BB | 0.608 | 0.000 | 1.000 | Hitting_BB | 0.611 | 1.000 | -0.611 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 0.969 | 0.000 | 0.031 | 1.000 |
| predicted_HR | 0.350 | 0.000 | 0.000 | Hitting_HR | 0.401 | 0.000 | -0.401 | 0.000 |
| predicted_OBP | 0.345 | 0.500 | 0.400 | Hitting_OBP | 0.363 | 1.000 | 0.137 | -0.500 |
| predicted_R | 0.676 | 1.000 | 1.000 | Hitting_R | 0.698 | 0.000 | 0.302 | 1.000 |
| predicted_RBI | 0.840 | 0.000 | 1.000 | Hitting_RBI | 0.756 | 0.000 | -0.756 | 0.000 |
| predicted_SLG | 0.551 | 0.333 | 0.250 | Hitting_SLG | 0.619 | - | -0.286 | - |
| predicted_SO | 1.554 | 2.000 | 1.000 | Hitting_SO | 1.531 | 0.000 | 0.469 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 1.5540 -> 2.0000 (boost 0.4460, worse) |
| Biggest Deboost | predicted_AB: 4.2500 -> 3.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 | 4 | 1 | 4 | 1 | predicted_R: 0.6760 -> 0.7403 (boost 0.0643, better) | predicted_AB: 4.2500 -> 4.1086 (deboost -0.1414, worse) | Final model input calibrated with local 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.5909 -> 0.5784 (deboost -0.0125, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.5588 -> 1.0000 (boost 0.4412, better) | predicted_SO: 1.5294 -> 1.0000 (deboost -0.5294, better) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.248 HR/AB=0.093 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7518 -> 1.0000 (boost 0.2482, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3458 -> 0.4000 (boost 0.0542, better) | predicted_SLG: 0.5784 -> 0.2500 (deboost -0.3284, 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_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.5784 (boost 0.3284, better) | predicted_OBP: 0.4000 -> 0.3458 (deboost -0.0542, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656941",
"player_name": "Kyle Schwarber",
"position": "DH",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.122,
"predicted_3B": 0.014,
"predicted_AB": 4.25,
"predicted_AVG": 0.242,
"predicted_BB": 0.608,
"predicted_H": 1.03,
"predicted_HR": 0.35,
"predicted_OBP": 0.345,
"predicted_R": 0.676,
"predicted_RBI": 0.84,
"predicted_SLG": 0.551,
"predicted_SO": 1.554
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1058,
"predicted_3B": 0.0119,
"predicted_AB": 4.1086,
"predicted_AVG": 0.2547,
"predicted_BB": 0.559,
"predicted_H": 1.0449,
"predicted_HBP": 0.033,
"predicted_HR": 0.3939,
"predicted_OBP": 0.3504,
"predicted_R": 0.7403,
"predicted_RBI": 0.8749,
"predicted_SLG": 0.5909,
"predicted_SO": 1.5289
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.1058,
"delta": -0.0162,
"percent_delta": -0.1328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 4.1086,
"delta": -0.1414,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2547,
"delta": 0.0127,
"percent_delta": 0.0525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.608,
"after": 0.559,
"delta": -0.049,
"percent_delta": -0.0806,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0449,
"delta": 0.0149,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.35,
"after": 0.3939,
"delta": 0.0439,
"percent_delta": 0.1254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3504,
"delta": 0.0054,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.676,
"after": 0.7403,
"delta": 0.0643,
"percent_delta": 0.0951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.84,
"after": 0.8749,
"delta": 0.0349,
"percent_delta": 0.0415,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.551,
"after": 0.5909,
"delta": 0.0399,
"percent_delta": 0.0724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.554,
"after": 1.5289,
"delta": -0.0251,
"percent_delta": -0.0162,
"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.676,
"after": 0.7403,
"delta": 0.0643,
"percent_delta": 0.0951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.25,
"after": 4.1086,
"delta": -0.1414,
"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": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1058,
"predicted_3B": 0.0119,
"predicted_AB": 4.1086,
"predicted_AVG": 0.2568,
"predicted_BB": 0.5588,
"predicted_H": 1.055,
"predicted_HBP": 0.033,
"predicted_HR": 0.3973,
"predicted_OBP": 0.3458,
"predicted_R": 0.7518,
"predicted_RBI": 0.8885,
"predicted_SLG": 0.5784,
"predicted_SO": 1.5294
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1058,
"after": 0.1058,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1086,
"after": 4.1086,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2547,
"after": 0.2568,
"delta": 0.0021,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.559,
"after": 0.5588,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0449,
"after": 1.055,
"delta": 0.0101,
"percent_delta": 0.0097,
"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.3939,
"after": 0.3973,
"delta": 0.0034,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3504,
"after": 0.3458,
"delta": -0.0046,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7403,
"after": 0.7518,
"delta": 0.0115,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8749,
"after": 0.8885,
"delta": 0.0136,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5909,
"after": 0.5784,
"delta": -0.0125,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5289,
"after": 1.5294,
"delta": 0.0005,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.5909,
"after": 0.5784,
"delta": -0.0125,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.25), rates preserved: AVG=0.248 HR/AB=0.093",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1058,
"after": 0.0,
"delta": -0.1058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1086,
"after": 4.0,
"delta": -0.1086,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5588,
"after": 1.0,
"delta": 0.4412,
"percent_delta": 0.7895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.055,
"after": 1.0,
"delta": -0.055,
"percent_delta": -0.0521,
"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.3973,
"after": 0.0,
"delta": -0.3973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8885,
"after": 1.0,
"delta": 0.1115,
"percent_delta": 0.1255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5294,
"after": 1.0,
"delta": -0.5294,
"percent_delta": -0.3461,
"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.5588,
"after": 1.0,
"delta": 0.4412,
"percent_delta": 0.7895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5294,
"after": 1.0,
"delta": -0.5294,
"percent_delta": -0.3461,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7518,
"after": 1.0,
"delta": 0.2482,
"percent_delta": 0.3301,
"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.7518,
"after": 1.0,
"delta": 0.2482,
"percent_delta": 0.3301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2568,
"after": 0.25,
"delta": -0.0068,
"percent_delta": -0.0265,
"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.3458,
"after": 0.4,
"delta": 0.0542,
"percent_delta": 0.1567,
"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.5784,
"after": 0.25,
"delta": -0.3284,
"percent_delta": -0.5678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3458,
"after": 0.4,
"delta": 0.0542,
"percent_delta": 0.1567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5784,
"after": 0.25,
"delta": -0.3284,
"percent_delta": -0.5678,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2568,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3458,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5784,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2568,
"delta": 0.0068,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3458,
"delta": -0.0542,
"percent_delta": -0.1356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5784,
"delta": 0.3284,
"percent_delta": 1.3137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5784,
"delta": 0.3284,
"percent_delta": 1.3137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3458,
"delta": -0.0542,
"percent_delta": -0.1356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 3.0,
"delta": -1.25,
"percent_delta": -0.2941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2568,
"delta": 0.0148,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.608,
"after": 0.0,
"delta": -0.608,
"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.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3458,
"delta": 0.0008,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.676,
"after": 1.0,
"delta": 0.324,
"percent_delta": 0.4793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.551,
"after": 0.5784,
"delta": 0.0274,
"percent_delta": 0.0497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.554,
"after": 2.0,
"delta": 0.446,
"percent_delta": 0.287,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.554,
"after": 2.0,
"delta": 0.446,
"percent_delta": 0.287,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.25,
"after": 3.0,
"delta": -1.25,
"percent_delta": -0.2941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.014 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.608 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.350 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.676 | - |
| predicted_RBI | 0.840 | - |
| predicted_SLG | 0.551 | - |
| predicted_SO | 1.554 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.106 | -0.016 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 4.109 | -0.141 |
| predicted_AVG | 0.255 | 0.013 |
| predicted_BB | 0.559 | -0.049 |
| predicted_H | 1.045 | 0.015 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.394 | 0.044 |
| predicted_OBP | 0.350 | 0.005 |
| predicted_R | 0.740 | 0.064 |
| predicted_RBI | 0.875 | 0.035 |
| predicted_SLG | 0.591 | 0.040 |
| predicted_SO | 1.529 | -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.106 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.109 | 0.000 |
| predicted_AVG | 0.257 | 0.002 |
| predicted_BB | 0.559 | -0.000 |
| predicted_H | 1.055 | 0.010 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.397 | 0.003 |
| predicted_OBP | 0.346 | -0.005 |
| predicted_R | 0.752 | 0.012 |
| predicted_RBI | 0.888 | 0.014 |
| predicted_SLG | 0.578 | -0.012 |
| predicted_SO | 1.529 | 0.001 |
AB rounded to 4 (raw=4.25), rates preserved: AVG=0.248 HR/AB=0.093
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player 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.012 |
| predicted_AB | 4.000 | -0.109 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 1.000 | 0.441 |
| predicted_H | 1.000 | -0.055 |
| predicted_HR | 0.000 | -0.397 |
| predicted_OBP | 0.400 | 0.054 |
| predicted_R | 1.000 | 0.248 |
| predicted_RBI | 1.000 | 0.112 |
| predicted_SLG | 0.250 | -0.328 |
| predicted_SO | 1.000 | -0.529 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 21.000 | 6.000 | 0.000 | 0.000 | 4.000 | 9.000 | 7.000 | 1.000 | 8.000 | 0.2857 | 0.3182 | 0.8571 | 0.2857 | 0.1905 | 0.4286 | 0.0476 | 0.3810 |
| last_10 | 0.20 | 10 | - | 39.000 | 13.000 | 0.000 | 0.000 | 5.000 | 10.000 | 9.000 | 5.000 | 15.000 | 0.3333 | 0.4091 | 0.7179 | 0.3333 | 0.1282 | 0.2564 | 0.1282 | 0.3846 |
| season | 0.60 | 74 | - | 284.000 | 71.000 | 9.000 | 1.000 | 28.000 | 51.000 | 50.000 | 45.000 | 115.000 | 0.2500 | 0.3604 | 0.5845 | 0.2500 | 0.0986 | 0.1796 | 0.1585 | 0.4049 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0840 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.9180 |
| predicted_AVG | 0.2719 |
| predicted_BB | 0.4930 |
| predicted_H | 1.0650 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.4530 |
| predicted_OBP | 0.3577 |
| predicted_R | 0.8270 |
| predicted_RBI | 0.9220 |
| predicted_SLG | 0.6446 |
| predicted_SO | 1.4950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1220 | 0.0840 | 0.1058 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 4.2500 | 3.9180 | 4.1086 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2719 | 0.2547 | model_form_blend |
| predicted_BB | 0.6080 | 0.4930 | 0.5590 | model_form_blend |
| predicted_H | 1.0300 | 1.0650 | 1.0449 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.3500 | 0.4530 | 0.3939 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3577 | 0.3504 | model_form_blend |
| predicted_R | 0.6760 | 0.8270 | 0.7403 | model_form_blend |
| predicted_RBI | 0.8400 | 0.9220 | 0.8749 | model_form_blend |
| predicted_SLG | 0.5510 | 0.6446 | 0.5909 | model_form_blend |
| predicted_SO | 1.5540 | 1.4950 | 1.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 | 262 |
| Season rows before report date | 262 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260624_PHI@WAS |
| game_type | ph |
| mlbID | 656941 |
| note | Walked for Sosa, E in the 9th. |
| playerID | 656941 |
| playerName | Kyle Schwarber |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 34.0 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.407 |
| sl_xwoba | 0.386 |
| sl_xba | 0.247 |
| sl_xslg | 0.545 |
| sl_sweet_spot_percent | 40.4 |
| sl_barrel_batted_rate | 21.2 |
| sl_hard_hit_percent | 52.0 |
| sl_exit_velocity_avg | 93.2 |
| sl_launch_angle_avg | 21.8 |
| sl_whiff_percent | 34.4 |
| 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.179 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.830 | 4.000 | 4.000 | Hitting_AB | 3.608 | 4.000 | 0.392 | 0.000 |
| predicted_AVG | 0.263 | 0.250 | 0.250 | Hitting_AVG | 0.275 | 0.000 | -0.025 | 0.250 |
| predicted_BB | 0.615 | 0.000 | 1.000 | Hitting_BB | 0.655 | 0.000 | -0.655 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 1.010 | 1.000 | 1.000 | Hitting_H | 0.992 | 0.000 | 0.008 | 1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_OBP | 0.358 | 0.250 | 0.400 | Hitting_OBP | 0.382 | 0.000 | -0.132 | 0.250 |
| predicted_R | 0.667 | 0.000 | 1.000 | Hitting_R | 0.651 | 0.000 | -0.651 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.620 | 0.000 | -0.620 | 0.000 |
| predicted_SLG | 0.518 | 0.250 | 0.250 | Hitting_SLG | 0.537 | 0.000 | -0.287 | 0.250 |
| predicted_SO | 0.821 | 2.000 | 1.000 | Hitting_SO | 0.773 | 2.000 | 1.227 | 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.8210 -> 2.0000 (boost 1.1790, worse) |
| Biggest Deboost | predicted_R: 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 | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.0100 -> 1.0662 (boost 0.0562, better) | predicted_BB: 0.6150 -> 0.5482 (deboost -0.0668, worse) | Final model input calibrated with local 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.3655 -> 0.3732 (boost 0.0077, better) | predicted_SLG: 0.5466 -> 0.5290 (deboost -0.0176, 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.5480 -> 1.0000 (boost 0.4520, better) | predicted_HR: 0.2181 -> 0.0000 (deboost -0.2181, worse) | AB rounded to 4 (raw=3.83), rates preserved: AVG=0.281 HR/AB=0.057 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | 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.6770 -> 1.0000 (boost 0.3230, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3732 -> 0.4000 (boost 0.0268, better) | predicted_SLG: 0.5290 -> 0.2500 (deboost -0.2790, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.5290 (boost 0.2790, better) | predicted_OBP: 0.4000 -> 0.3732 (deboost -0.0268, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "547180",
"player_name": "Bryce Harper",
"position": "1B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.026,
"predicted_AB": 3.83,
"predicted_AVG": 0.263,
"predicted_BB": 0.615,
"predicted_H": 1.01,
"predicted_HR": 0.2,
"predicted_OBP": 0.358,
"predicted_R": 0.667,
"predicted_RBI": 0.57,
"predicted_SLG": 0.518,
"predicted_SO": 0.821
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1964,
"predicted_3B": 0.043,
"predicted_AB": 3.8053,
"predicted_AVG": 0.2799,
"predicted_BB": 0.5482,
"predicted_H": 1.0662,
"predicted_HBP": 0.003,
"predicted_HR": 0.2162,
"predicted_OBP": 0.3655,
"predicted_R": 0.6666,
"predicted_RBI": 0.5781,
"predicted_SLG": 0.5466,
"predicted_SO": 0.8423
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1964,
"delta": 0.0174,
"percent_delta": 0.0972,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.043,
"delta": 0.017,
"percent_delta": 0.6538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.83,
"after": 3.8053,
"delta": -0.0247,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2799,
"delta": 0.0169,
"percent_delta": 0.0643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.615,
"after": 0.5482,
"delta": -0.0668,
"percent_delta": -0.1086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0662,
"delta": 0.0562,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2162,
"delta": 0.0162,
"percent_delta": 0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3655,
"delta": 0.0075,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6666,
"delta": -0.0004,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5781,
"delta": 0.0081,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.5466,
"delta": 0.0286,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 0.8423,
"delta": 0.0213,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.01,
"after": 1.0662,
"delta": 0.0562,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.615,
"after": 0.5482,
"delta": -0.0668,
"percent_delta": -0.1086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1964,
"predicted_3B": 0.043,
"predicted_AB": 3.8053,
"predicted_AVG": 0.2829,
"predicted_BB": 0.548,
"predicted_H": 1.0765,
"predicted_HBP": 0.003,
"predicted_HR": 0.2181,
"predicted_OBP": 0.3732,
"predicted_R": 0.677,
"predicted_RBI": 0.5871,
"predicted_SLG": 0.529,
"predicted_SO": 0.8426
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1964,
"after": 0.1964,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8053,
"after": 3.8053,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2799,
"after": 0.2829,
"delta": 0.003,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5482,
"after": 0.548,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0662,
"after": 1.0765,
"delta": 0.0103,
"percent_delta": 0.0097,
"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.2162,
"after": 0.2181,
"delta": 0.0019,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3655,
"after": 0.3732,
"delta": 0.0077,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6666,
"after": 0.677,
"delta": 0.0104,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5781,
"after": 0.5871,
"delta": 0.009,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5466,
"after": 0.529,
"delta": -0.0176,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8423,
"after": 0.8426,
"delta": 0.0003,
"percent_delta": 0.0004,
"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.3655,
"after": 0.3732,
"delta": 0.0077,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5466,
"after": 0.529,
"delta": -0.0176,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.83), rates preserved: AVG=0.281 HR/AB=0.057",
"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.1964,
"after": 0.0,
"delta": -0.1964,
"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.8053,
"after": 4.0,
"delta": 0.1947,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 1.0,
"delta": 0.452,
"percent_delta": 0.8248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0765,
"after": 1.0,
"delta": -0.0765,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2181,
"after": 0.0,
"delta": -0.2181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5871,
"after": 1.0,
"delta": 0.4129,
"percent_delta": 0.7033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8426,
"after": 1.0,
"delta": 0.1574,
"percent_delta": 0.1868,
"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.548,
"after": 1.0,
"delta": 0.452,
"percent_delta": 0.8248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2181,
"after": 0.0,
"delta": -0.2181,
"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": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.677,
"after": 1.0,
"delta": 0.323,
"percent_delta": 0.4771,
"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.677,
"after": 1.0,
"delta": 0.323,
"percent_delta": 0.4771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2829,
"after": 0.25,
"delta": -0.0329,
"percent_delta": -0.1163,
"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.3732,
"after": 0.4,
"delta": 0.0268,
"percent_delta": 0.0718,
"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.529,
"after": 0.25,
"delta": -0.279,
"percent_delta": -0.5274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3732,
"after": 0.4,
"delta": 0.0268,
"percent_delta": 0.0718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.529,
"after": 0.25,
"delta": -0.279,
"percent_delta": -0.5274,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 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": 4.0,
"predicted_AVG": 0.2829,
"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.3732,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.529,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2829,
"delta": 0.0329,
"percent_delta": 0.1316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3732,
"delta": -0.0268,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.529,
"delta": 0.279,
"percent_delta": 1.1161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.529,
"delta": 0.279,
"percent_delta": 1.1161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3732,
"delta": -0.0268,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.83,
"after": 4.0,
"delta": 0.17,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2829,
"delta": 0.0199,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.615,
"after": 0.0,
"delta": -0.615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0,
"delta": -0.01,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3732,
"delta": 0.0152,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.529,
"delta": 0.011,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 2.0,
"delta": 1.179,
"percent_delta": 1.4361,
"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.821,
"after": 2.0,
"delta": 1.179,
"percent_delta": 1.4361,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"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.179 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.830 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.615 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.518 | - |
| predicted_SO | 0.821 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.196 | 0.017 |
| predicted_3B | 0.043 | 0.017 |
| predicted_AB | 3.805 | -0.025 |
| predicted_AVG | 0.280 | 0.017 |
| predicted_BB | 0.548 | -0.067 |
| predicted_H | 1.066 | 0.056 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.216 | 0.016 |
| predicted_OBP | 0.365 | 0.008 |
| predicted_R | 0.667 | -0.000 |
| predicted_RBI | 0.578 | 0.008 |
| predicted_SLG | 0.547 | 0.029 |
| predicted_SO | 0.842 | 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.196 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.805 | 0.000 |
| predicted_AVG | 0.283 | 0.003 |
| predicted_BB | 0.548 | -0.000 |
| predicted_H | 1.077 | 0.010 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.218 | 0.002 |
| predicted_OBP | 0.373 | 0.008 |
| predicted_R | 0.677 | 0.010 |
| predicted_RBI | 0.587 | 0.009 |
| predicted_SLG | 0.529 | -0.018 |
| predicted_SO | 0.843 | 0.000 |
AB rounded to 4 (raw=3.83), rates preserved: AVG=0.281 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.196 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 4.000 | 0.195 |
| predicted_AVG | 0.250 | -0.033 |
| predicted_BB | 1.000 | 0.452 |
| predicted_H | 1.000 | -0.077 |
| predicted_HR | 0.000 | -0.218 |
| predicted_OBP | 0.400 | 0.027 |
| predicted_R | 1.000 | 0.323 |
| predicted_RBI | 1.000 | 0.413 |
| predicted_SLG | 0.250 | -0.279 |
| predicted_SO | 1.000 | 0.157 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 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 | - | 22.000 | 10.000 | 2.000 | 1.000 | 2.000 | 4.000 | 4.000 | 0.000 | 5.000 | 0.4545 | 0.4545 | 0.9091 | 0.4546 | 0.0909 | 0.1818 | 0.0000 | 0.2273 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 1.000 | 2.000 | 5.000 | 6.000 | 4.000 | 9.000 | 0.2895 | 0.3488 | 0.5526 | 0.2895 | 0.0526 | 0.1316 | 0.1053 | 0.2368 |
| season | 0.60 | 78 | - | 276.000 | 73.000 | 14.000 | 2.000 | 17.000 | 44.000 | 52.000 | 48.000 | 64.000 | 0.2645 | 0.3678 | 0.5145 | 0.2645 | 0.0616 | 0.1594 | 0.1739 | 0.2319 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0660 |
| predicted_AB | 3.7720 |
| predicted_AVG | 0.3027 |
| predicted_BB | 0.4580 |
| predicted_H | 1.1420 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.2380 |
| predicted_OBP | 0.3756 |
| predicted_R | 0.6660 |
| predicted_RBI | 0.5890 |
| predicted_SLG | 0.5851 |
| predicted_SO | 0.8710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.2200 | 0.1964 | model_form_blend |
| predicted_3B | 0.0260 | 0.0660 | 0.0430 | model_form_blend |
| predicted_AB | 3.8300 | 3.7720 | 3.8053 | model_form_blend |
| predicted_AVG | 0.2630 | 0.3027 | 0.2799 | model_form_blend |
| predicted_BB | 0.6150 | 0.4580 | 0.5482 | model_form_blend |
| predicted_H | 1.0100 | 1.1420 | 1.0662 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.2000 | 0.2380 | 0.2162 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3756 | 0.3655 | model_form_blend |
| predicted_R | 0.6670 | 0.6660 | 0.6666 | model_form_blend |
| predicted_RBI | 0.5700 | 0.5890 | 0.5781 | model_form_blend |
| predicted_SLG | 0.5180 | 0.5851 | 0.5466 | model_form_blend |
| predicted_SO | 0.8210 | 0.8710 | 0.8423 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 255 |
| Season rows before report date | 255 |
| Report year | 2026 |
| Profile rows used | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.264 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | DH |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 547180 |
| playerID | 547180 |
| playerName | Bryce Harper |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 14.4 |
| sl_woba | 0.376 |
| sl_xwoba | 0.403 |
| sl_xba | 0.288 |
| sl_xslg | 0.544 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 50.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 1.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | 0.810 | 1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_AB | 3.920 | 4.000 | 4.000 | Hitting_AB | 3.755 | 4.000 | 0.245 | 0.000 |
| predicted_AVG | 0.266 | 0.250 | 0.250 | Hitting_AVG | 0.335 | 0.750 | -0.085 | -0.500 |
| predicted_BB | 0.176 | 0.000 | 0.000 | Hitting_BB | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 1.000 | -0.023 | -1.000 |
| predicted_H | 1.040 | 1.000 | 1.000 | Hitting_H | 1.259 | 3.000 | -0.259 | -2.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_OBP | 0.333 | 0.250 | 0.250 | Hitting_OBP | 0.367 | 0.750 | -0.117 | -0.500 |
| predicted_R | 0.595 | 1.000 | 1.000 | Hitting_R | 0.639 | 1.000 | 0.361 | 0.000 |
| predicted_RBI | 0.520 | 2.000 | 1.000 | Hitting_RBI | 0.579 | 0.000 | 1.421 | 2.000 |
| predicted_SLG | 0.479 | 0.500 | 0.250 | Hitting_SLG | 0.515 | 0.750 | -0.015 | -0.250 |
| predicted_SO | 0.959 | 0.000 | 1.000 | Hitting_SO | 0.824 | 1.000 | -0.824 | -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.5200 -> 2.0000 (boost 1.4800, better) |
| Biggest Deboost | predicted_SO: 0.9590 -> 0.0000 (deboost -0.9590, 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 | 3 | 1 | predicted_H: 1.0400 -> 1.1224 (boost 0.0824, 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.3371 -> 0.3181 (deboost -0.0190, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_RBI: 0.5389 -> 1.0000 (boost 0.4611, better) | predicted_HR: 0.1902 -> 0.0000 (deboost -0.1902, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.289 HR/AB=0.049 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6446 -> 1.0000 (boost 0.3554, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4931 -> 0.2500 (deboost -0.2431, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4931 (boost 0.2431, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669016",
"player_name": "Brandon Marsh",
"position": "LF",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.027,
"predicted_AB": 3.92,
"predicted_AVG": 0.266,
"predicted_BB": 0.176,
"predicted_H": 1.04,
"predicted_HR": 0.17,
"predicted_OBP": 0.333,
"predicted_R": 0.595,
"predicted_RBI": 0.52,
"predicted_SLG": 0.479,
"predicted_SO": 0.959
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1802,
"predicted_3B": 0.0228,
"predicted_AB": 3.9137,
"predicted_AVG": 0.2872,
"predicted_BB": 0.1637,
"predicted_H": 1.1224,
"predicted_HBP": 0.019,
"predicted_HR": 0.1886,
"predicted_OBP": 0.3371,
"predicted_R": 0.6347,
"predicted_RBI": 0.5306,
"predicted_SLG": 0.5035,
"predicted_SO": 1.0122
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1802,
"delta": 0.0042,
"percent_delta": 0.0239,
"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.92,
"after": 3.9137,
"delta": -0.0063,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2872,
"delta": 0.0212,
"percent_delta": 0.0797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.176,
"after": 0.1637,
"delta": -0.0123,
"percent_delta": -0.0699,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.1224,
"delta": 0.0824,
"percent_delta": 0.0792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1886,
"delta": 0.0186,
"percent_delta": 0.1094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3371,
"delta": 0.0041,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.6347,
"delta": 0.0397,
"percent_delta": 0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5306,
"delta": 0.0106,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.479,
"after": 0.5035,
"delta": 0.0245,
"percent_delta": 0.0511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.959,
"after": 1.0122,
"delta": 0.0532,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.04,
"after": 1.1224,
"delta": 0.0824,
"percent_delta": 0.0792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1802,
"predicted_3B": 0.0228,
"predicted_AB": 3.9137,
"predicted_AVG": 0.2896,
"predicted_BB": 0.1637,
"predicted_H": 1.1333,
"predicted_HBP": 0.019,
"predicted_HR": 0.1902,
"predicted_OBP": 0.3181,
"predicted_R": 0.6446,
"predicted_RBI": 0.5389,
"predicted_SLG": 0.4931,
"predicted_SO": 1.0125
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1802,
"after": 0.1802,
"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.9137,
"after": 3.9137,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2872,
"after": 0.2896,
"delta": 0.0024,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1637,
"after": 0.1637,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1224,
"after": 1.1333,
"delta": 0.0109,
"percent_delta": 0.0097,
"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.1886,
"after": 0.1902,
"delta": 0.0016,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3371,
"after": 0.3181,
"delta": -0.019,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6347,
"after": 0.6446,
"delta": 0.0099,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5306,
"after": 0.5389,
"delta": 0.0083,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5035,
"after": 0.4931,
"delta": -0.0104,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0122,
"after": 1.0125,
"delta": 0.0003,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3371,
"after": 0.3181,
"delta": -0.019,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.289 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.1802,
"after": 0.0,
"delta": -0.1802,
"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.9137,
"after": 4.0,
"delta": 0.0863,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1637,
"after": 0.0,
"delta": -0.1637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1333,
"after": 1.0,
"delta": -0.1333,
"percent_delta": -0.1176,
"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.1902,
"after": 0.0,
"delta": -0.1902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5389,
"after": 1.0,
"delta": 0.4611,
"percent_delta": 0.8556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0125,
"after": 1.0,
"delta": -0.0125,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5389,
"after": 1.0,
"delta": 0.4611,
"percent_delta": 0.8556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1902,
"after": 0.0,
"delta": -0.1902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.6446,
"after": 1.0,
"delta": 0.3554,
"percent_delta": 0.5513,
"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.6446,
"after": 1.0,
"delta": 0.3554,
"percent_delta": 0.5513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2896,
"after": 0.25,
"delta": -0.0396,
"percent_delta": -0.1367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3181,
"after": 0.25,
"delta": -0.0681,
"percent_delta": -0.2141,
"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.4931,
"after": 0.25,
"delta": -0.2431,
"percent_delta": -0.493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4931,
"after": 0.25,
"delta": -0.2431,
"percent_delta": -0.493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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.2896,
"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.3181,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4931,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2896,
"delta": 0.0396,
"percent_delta": 0.1583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3181,
"delta": 0.0681,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4931,
"delta": 0.2431,
"percent_delta": 0.9723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4931,
"delta": 0.2431,
"percent_delta": 0.9723,
"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": 1.0,
"delta": 0.824,
"percent_delta": 4.6818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.92,
"after": 4.0,
"delta": 0.08,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2896,
"delta": 0.0236,
"percent_delta": 0.0887,
"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.04,
"after": 1.0,
"delta": -0.04,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3181,
"delta": -0.0149,
"percent_delta": -0.0447,
"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.52,
"after": 2.0,
"delta": 1.48,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.479,
"after": 0.4931,
"delta": 0.0141,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.959,
"after": 0.0,
"delta": -0.959,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.52,
"after": 2.0,
"delta": 1.48,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.959,
"after": 0.0,
"delta": -0.959,
"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.176 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.920 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.176 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.479 | - |
| predicted_SO | 0.959 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.180 | 0.004 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.914 | -0.006 |
| predicted_AVG | 0.287 | 0.021 |
| predicted_BB | 0.164 | -0.012 |
| predicted_H | 1.122 | 0.082 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.189 | 0.019 |
| predicted_OBP | 0.337 | 0.004 |
| predicted_R | 0.635 | 0.040 |
| predicted_RBI | 0.531 | 0.011 |
| predicted_SLG | 0.503 | 0.024 |
| predicted_SO | 1.012 | 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.180 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.914 | 0.000 |
| predicted_AVG | 0.290 | 0.002 |
| predicted_BB | 0.164 | 0.000 |
| predicted_H | 1.133 | 0.011 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.190 | 0.002 |
| predicted_OBP | 0.318 | -0.019 |
| predicted_R | 0.645 | 0.010 |
| predicted_RBI | 0.539 | 0.008 |
| predicted_SLG | 0.493 | -0.010 |
| predicted_SO | 1.012 | 0.000 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.289 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 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.180 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | 0.086 |
| predicted_AVG | 0.250 | -0.040 |
| predicted_BB | 0.000 | -0.164 |
| predicted_H | 1.000 | -0.133 |
| predicted_HR | 0.000 | -0.190 |
| predicted_OBP | 0.250 | -0.068 |
| predicted_R | 1.000 | 0.355 |
| predicted_RBI | 1.000 | 0.461 |
| predicted_SLG | 0.250 | -0.243 |
| predicted_SO | 1.000 | -0.012 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | - | 22.000 | 8.000 | 1.000 | 0.000 | 2.000 | 3.000 | 5.000 | 0.000 | 6.000 | 0.3636 | 0.3636 | 0.6818 | 0.3636 | 0.0909 | 0.1364 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 10 | - | 42.000 | 12.000 | 2.000 | 0.000 | 3.000 | 6.000 | 8.000 | 1.000 | 15.000 | 0.2857 | 0.3023 | 0.5476 | 0.2857 | 0.0714 | 0.1429 | 0.0238 | 0.3571 |
| season | 0.60 | 74 | - | 270.000 | 87.000 | 13.000 | 2.000 | 11.000 | 38.000 | 44.000 | 13.000 | 71.000 | 0.3222 | 0.3542 | 0.5074 | 0.3222 | 0.0407 | 0.1407 | 0.0481 | 0.2630 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.9050 |
| predicted_AVG | 0.3163 |
| predicted_BB | 0.1470 |
| predicted_H | 1.2350 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.2140 |
| predicted_OBP | 0.3426 |
| predicted_R | 0.6890 |
| predicted_RBI | 0.5450 |
| predicted_SLG | 0.5371 |
| predicted_SO | 1.0850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1860 | 0.1802 | model_form_blend |
| predicted_3B | 0.0270 | 0.0170 | 0.0228 | model_form_blend |
| predicted_AB | 3.9200 | 3.9050 | 3.9137 | model_form_blend |
| predicted_AVG | 0.2660 | 0.3163 | 0.2872 | model_form_blend |
| predicted_BB | 0.1760 | 0.1470 | 0.1637 | model_form_blend |
| predicted_H | 1.0400 | 1.2350 | 1.1224 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1700 | 0.2140 | 0.1886 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3426 | 0.3371 | model_form_blend |
| predicted_R | 0.5950 | 0.6890 | 0.6347 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5450 | 0.5306 | model_form_blend |
| predicted_SLG | 0.4790 | 0.5371 | 0.5035 | model_form_blend |
| predicted_SO | 0.9590 | 1.0850 | 1.0122 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 216 |
| Season rows before report date | 216 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.322 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 1 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 669016 |
| playerID | 669016 |
| playerName | Brandon Marsh |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.37 |
| sl_xwoba | 0.328 |
| sl_xba | 0.284 |
| sl_xslg | 0.446 |
| sl_sweet_spot_percent | 45.8 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 46.8 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 53.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.173 | 0.000 | 0.000 | Hitting_2B | 0.170 | 1.000 | -0.170 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.670 | 4.000 | 5.000 | Hitting_AB | 4.269 | 5.000 | -0.269 | -1.000 |
| predicted_AVG | 0.230 | 0.500 | 0.200 | Hitting_AVG | 0.232 | 0.400 | 0.268 | 0.100 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.280 | 0.000 | -0.280 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 1.080 | 2.000 | 1.000 | Hitting_H | 0.992 | 2.000 | 1.008 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.298 | 0.500 | 0.200 | Hitting_OBP | 0.280 | 0.400 | 0.220 | 0.100 |
| predicted_R | 0.640 | 1.000 | 1.000 | Hitting_R | 0.682 | 0.000 | 0.318 | 1.000 |
| predicted_RBI | 0.380 | 1.000 | 0.000 | Hitting_RBI | 0.352 | 0.000 | 0.648 | 1.000 |
| predicted_SLG | 0.354 | 0.500 | 0.200 | Hitting_SLG | 0.363 | 0.600 | 0.137 | -0.100 |
| predicted_SO | 0.987 | 2.000 | 1.000 | Hitting_SO | 0.989 | 1.000 | 1.011 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.9870 -> 2.0000 (boost 1.0130, worse) |
| Biggest Deboost | predicted_AB: 4.6700 -> 4.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_AVG: 0.2300 -> 0.2385 (boost 0.0085, better) | predicted_AB: 4.6700 -> 4.5051 (deboost -0.1649, worse) | Final model input calibrated with local 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.2956 -> 0.2812 (deboost -0.0144, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_AB: 4.5051 -> 5.0000 (boost 0.4949, better) | predicted_RBI: 0.3608 -> 0.0000 (deboost -0.3608, worse) | AB rounded to 5 (raw=4.67), rates preserved: AVG=0.233 HR/AB=0.017 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6911 -> 1.0000 (boost 0.3089, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3338 -> 0.2000 (deboost -0.1338, 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_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3338 (boost 0.1338, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607208",
"player_name": "Trea Turner",
"position": "SS",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.173,
"predicted_3B": 0.0,
"predicted_AB": 4.67,
"predicted_AVG": 0.23,
"predicted_BB": 0.267,
"predicted_H": 1.08,
"predicted_HR": 0.09,
"predicted_OBP": 0.298,
"predicted_R": 0.64,
"predicted_RBI": 0.38,
"predicted_SLG": 0.354,
"predicted_SO": 0.987
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1777,
"predicted_3B": 0.0004,
"predicted_AB": 4.5051,
"predicted_AVG": 0.2385,
"predicted_BB": 0.2508,
"predicted_H": 1.0762,
"predicted_HBP": 0.029,
"predicted_HR": 0.0789,
"predicted_OBP": 0.2956,
"predicted_R": 0.6805,
"predicted_RBI": 0.3553,
"predicted_SLG": 0.3475,
"predicted_SO": 0.9998
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.1777,
"delta": 0.0047,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.67,
"after": 4.5051,
"delta": -0.1649,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2385,
"delta": 0.0085,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.2508,
"delta": -0.0162,
"percent_delta": -0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.0762,
"delta": -0.0038,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0789,
"delta": -0.0111,
"percent_delta": -0.1233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2956,
"delta": -0.0024,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.64,
"after": 0.6805,
"delta": 0.0405,
"percent_delta": 0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3553,
"delta": -0.0247,
"percent_delta": -0.065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3475,
"delta": -0.0065,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.987,
"after": 0.9998,
"delta": 0.0128,
"percent_delta": 0.013,
"direction": "no_change",
"projection_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.23,
"after": 0.2385,
"delta": 0.0085,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.67,
"after": 4.5051,
"delta": -0.1649,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1777,
"predicted_3B": 0.0004,
"predicted_AB": 4.5051,
"predicted_AVG": 0.2412,
"predicted_BB": 0.2507,
"predicted_H": 1.0866,
"predicted_HBP": 0.029,
"predicted_HR": 0.0796,
"predicted_OBP": 0.2812,
"predicted_R": 0.6911,
"predicted_RBI": 0.3608,
"predicted_SLG": 0.3338,
"predicted_SO": 1.0001
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1777,
"after": 0.1777,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5051,
"after": 4.5051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2385,
"after": 0.2412,
"delta": 0.0027,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2508,
"after": 0.2507,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0762,
"after": 1.0866,
"delta": 0.0104,
"percent_delta": 0.0097,
"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.0789,
"after": 0.0796,
"delta": 0.0007,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2956,
"after": 0.2812,
"delta": -0.0144,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6805,
"after": 0.6911,
"delta": 0.0106,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3553,
"after": 0.3608,
"delta": 0.0055,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3475,
"after": 0.3338,
"delta": -0.0137,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9998,
"after": 1.0001,
"delta": 0.0003,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2956,
"after": 0.2812,
"delta": -0.0144,
"percent_delta": -0.0487,
"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.233 HR/AB=0.017",
"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.1777,
"after": 0.0,
"delta": -0.1777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5051,
"after": 5.0,
"delta": 0.4949,
"percent_delta": 0.1099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2507,
"after": 0.0,
"delta": -0.2507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0866,
"after": 1.0,
"delta": -0.0866,
"percent_delta": -0.0797,
"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.0796,
"after": 0.0,
"delta": -0.0796,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3608,
"after": 0.0,
"delta": -0.3608,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0001,
"after": 1.0,
"delta": -0.0001,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.5051,
"after": 5.0,
"delta": 0.4949,
"percent_delta": 0.1099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3608,
"after": 0.0,
"delta": -0.3608,
"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": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.6911,
"after": 1.0,
"delta": 0.3089,
"percent_delta": 0.447,
"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.6911,
"after": 1.0,
"delta": 0.3089,
"percent_delta": 0.447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2412,
"after": 0.2,
"delta": -0.0412,
"percent_delta": -0.1708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2812,
"after": 0.2,
"delta": -0.0812,
"percent_delta": -0.2888,
"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.3338,
"after": 0.2,
"delta": -0.1338,
"percent_delta": -0.4008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3338,
"after": 0.2,
"delta": -0.1338,
"percent_delta": -0.4008,
"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": 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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 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_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.2412,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2812,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3338,
"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.2,
"after": 0.2412,
"delta": 0.0412,
"percent_delta": 0.206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2812,
"delta": 0.0812,
"percent_delta": 0.406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3338,
"delta": 0.1338,
"percent_delta": 0.6691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3338,
"delta": 0.1338,
"percent_delta": 0.6691,
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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.23,
"after": 0.2412,
"delta": 0.0112,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 2.0,
"delta": 0.92,
"percent_delta": 0.8519,
"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.2812,
"delta": -0.0168,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3338,
"delta": -0.0202,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.987,
"after": 2.0,
"delta": 1.013,
"percent_delta": 1.0263,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.987,
"after": 2.0,
"delta": 1.013,
"percent_delta": 1.0263,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.67,
"after": 4.0,
"delta": -0.67,
"percent_delta": -0.1435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.670 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.640 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 0.987 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | 0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.505 | -0.165 |
| predicted_AVG | 0.238 | 0.008 |
| predicted_BB | 0.251 | -0.016 |
| predicted_H | 1.076 | -0.004 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.079 | -0.011 |
| predicted_OBP | 0.296 | -0.002 |
| predicted_R | 0.680 | 0.040 |
| predicted_RBI | 0.355 | -0.025 |
| predicted_SLG | 0.347 | -0.007 |
| predicted_SO | 1.000 | 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.178 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.505 | 0.000 |
| predicted_AVG | 0.241 | 0.003 |
| predicted_BB | 0.251 | -0.000 |
| predicted_H | 1.087 | 0.010 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.080 | 0.001 |
| predicted_OBP | 0.281 | -0.014 |
| predicted_R | 0.691 | 0.011 |
| predicted_RBI | 0.361 | 0.006 |
| predicted_SLG | 0.334 | -0.014 |
| predicted_SO | 1.000 | 0.000 |
AB rounded to 5 (raw=4.67), rates preserved: AVG=0.233 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=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 | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.178 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.495 |
| predicted_AVG | 0.200 | -0.041 |
| predicted_BB | 0.000 | -0.251 |
| predicted_H | 1.000 | -0.087 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.200 | -0.081 |
| predicted_R | 1.000 | 0.309 |
| predicted_RBI | 0.000 | -0.361 |
| predicted_SLG | 0.200 | -0.134 |
| predicted_SO | 1.000 | -0.000 |
Attached 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 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 6.000 | 1.000 | 5.000 | 0.3043 | 0.3333 | 0.3478 | 0.3044 | 0.0000 | 0.0870 | 0.0435 | 0.2174 |
| last_10 | 0.20 | 10 | - | 44.000 | 11.000 | 2.000 | 0.000 | 0.000 | 2.000 | 7.000 | 1.000 | 12.000 | 0.2500 | 0.2826 | 0.2955 | 0.2500 | 0.0000 | 0.0454 | 0.0227 | 0.2727 |
| season | 0.60 | 75 | - | 315.000 | 73.000 | 13.000 | 0.000 | 7.000 | 23.000 | 48.000 | 20.000 | 74.000 | 0.2317 | 0.2789 | 0.3397 | 0.2318 | 0.0222 | 0.0730 | 0.0635 | 0.2349 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1840 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.2830 |
| predicted_AVG | 0.2499 |
| predicted_BB | 0.2290 |
| predicted_H | 1.0710 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.2924 |
| predicted_R | 0.7350 |
| predicted_RBI | 0.3220 |
| predicted_SLG | 0.3388 |
| predicted_SO | 1.0170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.1840 | 0.1777 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.6700 | 4.2830 | 4.5051 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2499 | 0.2385 | model_form_blend |
| predicted_BB | 0.2670 | 0.2290 | 0.2508 | model_form_blend |
| predicted_H | 1.0800 | 1.0710 | 1.0762 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.0900 | 0.0640 | 0.0789 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2924 | 0.2956 | model_form_blend |
| predicted_R | 0.6400 | 0.7350 | 0.6805 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3220 | 0.3553 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3388 | 0.3475 | model_form_blend |
| predicted_SO | 0.9870 | 1.0170 | 0.9998 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 264 |
| Season rows before report date | 264 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 607208 |
| playerID | 607208 |
| playerName | Trea Turner |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.275 |
| sl_xwoba | 0.284 |
| sl_xba | 0.239 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 39.1 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 51.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 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 | 3.880 | 4.000 | 4.000 | Hitting_AB | 3.755 | 4.000 | 0.245 | 0.000 |
| predicted_AVG | 0.227 | 0.000 | 0.250 | Hitting_AVG | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 0.000 | 1.000 | Hitting_H | 0.828 | 0.000 | -0.828 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_OBP | 0.287 | 0.000 | 0.250 | Hitting_OBP | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_R | 0.320 | 0.000 | 0.000 | Hitting_R | 0.322 | 1.000 | -0.322 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.502 | 0.000 | -0.502 | 0.000 |
| predicted_SLG | 0.348 | 0.000 | 0.250 | Hitting_SLG | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SO | 0.560 | 1.000 | 1.000 | Hitting_SO | 0.554 | 0.000 | 0.446 | 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.5600 -> 1.0000 (boost 0.4400, worse) |
| Biggest Deboost | predicted_H: 0.8800 -> 0.0000 (deboost -0.8800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3480 -> 0.3386 (deboost -0.0094, worse) | Final model input calibrated with local 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.5394 -> 1.0000 (boost 0.4606, worse) | predicted_RBI: 0.4553 -> 0.0000 (deboost -0.4553, worse) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.224 HR/AB=0.026 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3444 -> 0.0000 (deboost -0.3444, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2264 -> 0.2500 (boost 0.0236, better) | predicted_SLG: 0.3358 -> 0.2500 (deboost -0.0858, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3358 (boost 0.0858, better) | predicted_AVG: 0.2500 -> 0.2264 (deboost -0.0236, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664761",
"player_name": "Alec Bohm",
"position": "3B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.0,
"predicted_AB": 3.88,
"predicted_AVG": 0.227,
"predicted_BB": 0.267,
"predicted_H": 0.88,
"predicted_HR": 0.1,
"predicted_OBP": 0.287,
"predicted_R": 0.32,
"predicted_RBI": 0.45,
"predicted_SLG": 0.348,
"predicted_SO": 0.56
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1224,
"predicted_3B": 0.0004,
"predicted_AB": 3.8423,
"predicted_AVG": 0.2242,
"predicted_BB": 0.2734,
"predicted_H": 0.8614,
"predicted_HBP": 0.018,
"predicted_HR": 0.0983,
"predicted_OBP": 0.2826,
"predicted_R": 0.3391,
"predicted_RBI": 0.4483,
"predicted_SLG": 0.3386,
"predicted_SO": 0.5392
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1224,
"delta": -0.0106,
"percent_delta": -0.0797,
"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.88,
"after": 3.8423,
"delta": -0.0377,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2242,
"delta": -0.0028,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.2734,
"delta": 0.0064,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8614,
"delta": -0.0186,
"percent_delta": -0.0211,
"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.287,
"after": 0.2826,
"delta": -0.0044,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.32,
"after": 0.3391,
"delta": 0.0191,
"percent_delta": 0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4483,
"delta": -0.0017,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3386,
"delta": -0.0094,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.56,
"after": 0.5392,
"delta": -0.0208,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.348,
"after": 0.3386,
"delta": -0.0094,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1224,
"predicted_3B": 0.0004,
"predicted_AB": 3.8423,
"predicted_AVG": 0.2264,
"predicted_BB": 0.2733,
"predicted_H": 0.8698,
"predicted_HBP": 0.018,
"predicted_HR": 0.0991,
"predicted_OBP": 0.2777,
"predicted_R": 0.3444,
"predicted_RBI": 0.4553,
"predicted_SLG": 0.3358,
"predicted_SO": 0.5394
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1224,
"after": 0.1224,
"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.8423,
"after": 3.8423,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2242,
"after": 0.2264,
"delta": 0.0022,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2734,
"after": 0.2733,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8614,
"after": 0.8698,
"delta": 0.0084,
"percent_delta": 0.0098,
"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.0983,
"after": 0.0991,
"delta": 0.0008,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2826,
"after": 0.2777,
"delta": -0.0049,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3391,
"after": 0.3444,
"delta": 0.0053,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4483,
"after": 0.4553,
"delta": 0.007,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3386,
"after": 0.3358,
"delta": -0.0028,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5392,
"after": 0.5394,
"delta": 0.0002,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_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.88), rates preserved: AVG=0.224 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.1224,
"after": 0.0,
"delta": -0.1224,
"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.8423,
"after": 4.0,
"delta": 0.1577,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2733,
"after": 0.0,
"delta": -0.2733,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8698,
"after": 1.0,
"delta": 0.1302,
"percent_delta": 0.1497,
"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.0991,
"after": 0.0,
"delta": -0.0991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4553,
"after": 0.0,
"delta": -0.4553,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5394,
"after": 1.0,
"delta": 0.4606,
"percent_delta": 0.8539,
"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.5394,
"after": 1.0,
"delta": 0.4606,
"percent_delta": 0.8539,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4553,
"after": 0.0,
"delta": -0.4553,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3444,
"after": 0.0,
"delta": -0.3444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3444,
"after": 0.0,
"delta": -0.3444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2264,
"after": 0.25,
"delta": 0.0236,
"percent_delta": 0.1042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2777,
"after": 0.25,
"delta": -0.0277,
"percent_delta": -0.0997,
"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.3358,
"after": 0.25,
"delta": -0.0858,
"percent_delta": -0.2555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2264,
"after": 0.25,
"delta": 0.0236,
"percent_delta": 0.1042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3358,
"after": 0.25,
"delta": -0.0858,
"percent_delta": -0.2555,
"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.2264,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2777,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3358,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2264,
"delta": -0.0236,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2777,
"delta": 0.0277,
"percent_delta": 0.111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3358,
"delta": 0.0858,
"percent_delta": 0.3434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3358,
"delta": 0.0858,
"percent_delta": 0.3434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2264,
"delta": -0.0236,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 4.0,
"delta": 0.12,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2264,
"delta": -0.0006,
"percent_delta": -0.0026,
"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.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2777,
"delta": -0.0093,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"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.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3358,
"delta": -0.0122,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"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.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.320 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.348 | - |
| predicted_SO | 0.560 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | -0.011 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.842 | -0.038 |
| predicted_AVG | 0.224 | -0.003 |
| predicted_BB | 0.273 | 0.006 |
| predicted_H | 0.861 | -0.019 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.283 | -0.004 |
| predicted_R | 0.339 | 0.019 |
| predicted_RBI | 0.448 | -0.002 |
| predicted_SLG | 0.339 | -0.009 |
| predicted_SO | 0.539 | -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.122 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.842 | 0.000 |
| predicted_AVG | 0.226 | 0.002 |
| predicted_BB | 0.273 | -0.000 |
| predicted_H | 0.870 | 0.008 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.099 | 0.001 |
| predicted_OBP | 0.278 | -0.005 |
| predicted_R | 0.344 | 0.005 |
| predicted_RBI | 0.455 | 0.007 |
| predicted_SLG | 0.336 | -0.003 |
| predicted_SO | 0.539 | 0.000 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.224 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 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.158 |
| predicted_AVG | 0.250 | 0.024 |
| predicted_BB | 0.000 | -0.273 |
| predicted_H | 1.000 | 0.130 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.250 | -0.028 |
| predicted_R | 0.000 | -0.344 |
| predicted_RBI | 0.000 | -0.455 |
| predicted_SLG | 0.250 | -0.086 |
| predicted_SO | 1.000 | 0.461 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 0.1579 | 0.2381 | 0.1579 | 0.1579 | 0.0000 | 0.0000 | 0.1053 | 0.0526 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 1.000 | 0.000 | 1.000 | 6.000 | 4.000 | 2.000 | 5.000 | 0.2500 | 0.2857 | 0.3500 | 0.2500 | 0.0250 | 0.1500 | 0.0500 | 0.1250 |
| season | 0.60 | 75 | - | 278.000 | 63.000 | 10.000 | 0.000 | 9.000 | 40.000 | 24.000 | 20.000 | 42.000 | 0.2266 | 0.2805 | 0.3597 | 0.2266 | 0.0324 | 0.1439 | 0.0719 | 0.1511 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7910 |
| predicted_AVG | 0.2205 |
| predicted_BB | 0.2820 |
| predicted_H | 0.8360 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.2767 |
| predicted_R | 0.3650 |
| predicted_RBI | 0.4460 |
| predicted_SLG | 0.3257 |
| predicted_SO | 0.5110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1080 | 0.1224 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8800 | 3.7910 | 3.8423 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2205 | 0.2242 | model_form_blend |
| predicted_BB | 0.2670 | 0.2820 | 0.2734 | model_form_blend |
| predicted_H | 0.8800 | 0.8360 | 0.8614 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1000 | 0.0960 | 0.0983 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2767 | 0.2826 | model_form_blend |
| predicted_R | 0.3200 | 0.3650 | 0.3391 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4460 | 0.4483 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3257 | 0.3386 | model_form_blend |
| predicted_SO | 0.5600 | 0.5110 | 0.5392 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 664761 |
| playerID | 664761 |
| playerName | Alec Bohm |
| pos | 3B |
| started | True |
| startingPosition | 1B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.282 |
| sl_xwoba | 0.293 |
| sl_xba | 0.243 |
| sl_xslg | 0.36 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 40.4 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 16.1 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.132 | 0.000 | 0.000 | Hitting_2B | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.434 | 4.000 | 3.000 | Hitting_AB | 3.444 | 2.000 | 0.556 | 2.000 |
| predicted_AVG | 0.228 | 0.250 | 0.333 | Hitting_AVG | 0.240 | 0.000 | 0.010 | 0.250 |
| predicted_BB | 0.321 | 0.000 | 0.000 | Hitting_BB | 0.298 | 1.000 | -0.298 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.750 | 1.000 | 1.000 | Hitting_H | 0.828 | 0.000 | 0.172 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_OBP | 0.292 | 0.250 | 0.333 | Hitting_OBP | 0.320 | 0.250 | -0.070 | 0.000 |
| predicted_R | 0.377 | 0.000 | 0.000 | Hitting_R | 0.358 | 0.000 | -0.358 | 0.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.364 | 1.000 | -0.364 | -1.000 |
| predicted_SLG | 0.370 | 0.250 | 0.333 | Hitting_SLG | 0.348 | 0.000 | -0.098 | 0.250 |
| predicted_SO | 0.774 | 0.000 | 1.000 | Hitting_SO | 0.662 | 0.000 | -0.662 | 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.4340 -> 4.0000 (boost 0.5660, better) |
| Biggest Deboost | predicted_SO: 0.7740 -> 0.0000 (deboost -0.7740, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_R: 0.3770 -> 0.4302 (boost 0.0532, better) | predicted_AVG: 0.2280 -> 0.2177 (deboost -0.0103, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3663 -> 0.3541 (deboost -0.0122, 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.6503 -> 1.0000 (boost 0.3497, better) | predicted_AB: 3.4662 -> 3.0000 (deboost -0.4662, worse) | AB rounded to 3 (raw=3.47), rates preserved: AVG=0.214 HR/AB=0.029 |
| 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.4369 -> 0.0000 (deboost -0.4369, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2140 -> 0.3330 (boost 0.1190, better) | predicted_SLG: 0.3541 -> 0.3330 (deboost -0.0211, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3541 (boost 0.0211, better) | predicted_AVG: 0.3330 -> 0.2140 (deboost -0.1190, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592663",
"player_name": "J.T. Realmuto",
"position": "C",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.132,
"predicted_3B": 0.0,
"predicted_AB": 3.434,
"predicted_AVG": 0.228,
"predicted_BB": 0.321,
"predicted_H": 0.75,
"predicted_HR": 0.1,
"predicted_OBP": 0.292,
"predicted_R": 0.377,
"predicted_RBI": 0.59,
"predicted_SLG": 0.37,
"predicted_SO": 0.774
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1815,
"predicted_3B": 0.0008,
"predicted_AB": 3.4662,
"predicted_AVG": 0.2177,
"predicted_BB": 0.3462,
"predicted_H": 0.7347,
"predicted_HBP": 0.044,
"predicted_HR": 0.1,
"predicted_OBP": 0.289,
"predicted_R": 0.4302,
"predicted_RBI": 0.6403,
"predicted_SLG": 0.3663,
"predicted_SO": 0.7889
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1815,
"delta": 0.0495,
"percent_delta": 0.375,
"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.434,
"after": 3.4662,
"delta": 0.0322,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2177,
"delta": -0.0103,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.3462,
"delta": 0.0252,
"percent_delta": 0.0785,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7347,
"delta": -0.0153,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.289,
"delta": -0.003,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.4302,
"delta": 0.0532,
"percent_delta": 0.1411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6403,
"delta": 0.0503,
"percent_delta": 0.0853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3663,
"delta": -0.0037,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.774,
"after": 0.7889,
"delta": 0.0149,
"percent_delta": 0.0193,
"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.377,
"after": 0.4302,
"delta": 0.0532,
"percent_delta": 0.1411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2177,
"delta": -0.0103,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 53
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1815,
"predicted_3B": 0.0008,
"predicted_AB": 3.4662,
"predicted_AVG": 0.214,
"predicted_BB": 0.3461,
"predicted_H": 0.7418,
"predicted_HBP": 0.044,
"predicted_HR": 0.1009,
"predicted_OBP": 0.2854,
"predicted_R": 0.4369,
"predicted_RBI": 0.6503,
"predicted_SLG": 0.3541,
"predicted_SO": 0.7891
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1815,
"after": 0.1815,
"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.4662,
"after": 3.4662,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2177,
"after": 0.214,
"delta": -0.0037,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3462,
"after": 0.3461,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7347,
"after": 0.7418,
"delta": 0.0071,
"percent_delta": 0.0097,
"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.1,
"after": 0.1009,
"delta": 0.0009,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2854,
"delta": -0.0036,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4302,
"after": 0.4369,
"delta": 0.0067,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6403,
"after": 0.6503,
"delta": 0.01,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3663,
"after": 0.3541,
"delta": -0.0122,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7889,
"after": 0.7891,
"delta": 0.0002,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3663,
"after": 0.3541,
"delta": -0.0122,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.47), rates preserved: AVG=0.214 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1815,
"after": 0.0,
"delta": -0.1815,
"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.4662,
"after": 3.0,
"delta": -0.4662,
"percent_delta": -0.1345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3461,
"after": 0.0,
"delta": -0.3461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7418,
"after": 1.0,
"delta": 0.2582,
"percent_delta": 0.3481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1009,
"after": 0.0,
"delta": -0.1009,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6503,
"after": 1.0,
"delta": 0.3497,
"percent_delta": 0.5378,
"direction": "boost",
"projection_effect": "better",
"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_RBI",
"before": 0.6503,
"after": 1.0,
"delta": 0.3497,
"percent_delta": 0.5378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4662,
"after": 3.0,
"delta": -0.4662,
"percent_delta": -0.1345,
"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.4369,
"after": 0.0,
"delta": -0.4369,
"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.4369,
"after": 0.0,
"delta": -0.4369,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.333,
"delta": 0.119,
"percent_delta": 0.5561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2854,
"after": 0.333,
"delta": 0.0476,
"percent_delta": 0.1668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.3541,
"after": 0.333,
"delta": -0.0211,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.333,
"delta": 0.119,
"percent_delta": 0.5561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3541,
"after": 0.333,
"delta": -0.0211,
"percent_delta": -0.0596,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.214,
"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.2854,
"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.333,
"after": 0.214,
"delta": -0.119,
"percent_delta": -0.3573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2854,
"delta": -0.0476,
"percent_delta": -0.143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3541,
"delta": 0.0211,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3541,
"delta": 0.0211,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.214,
"delta": -0.119,
"percent_delta": -0.3573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"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.434,
"after": 4.0,
"delta": 0.566,
"percent_delta": 0.1648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.214,
"delta": -0.014,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2854,
"delta": -0.0066,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3541,
"delta": -0.0159,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.774,
"after": 0.0,
"delta": -0.774,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.434,
"after": 4.0,
"delta": 0.566,
"percent_delta": 0.1648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.774,
"after": 0.0,
"delta": -0.774,
"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.132 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.434 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.321 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.377 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.370 | - |
| predicted_SO | 0.774 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.049 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.466 | 0.032 |
| predicted_AVG | 0.218 | -0.010 |
| predicted_BB | 0.346 | 0.025 |
| predicted_H | 0.735 | -0.015 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.100 | 0.000 |
| predicted_OBP | 0.289 | -0.003 |
| predicted_R | 0.430 | 0.053 |
| predicted_RBI | 0.640 | 0.050 |
| predicted_SLG | 0.366 | -0.004 |
| predicted_SO | 0.789 | 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.181 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.466 | 0.000 |
| predicted_AVG | 0.214 | -0.004 |
| predicted_BB | 0.346 | -0.000 |
| predicted_H | 0.742 | 0.007 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.101 | 0.001 |
| predicted_OBP | 0.285 | -0.004 |
| predicted_R | 0.437 | 0.007 |
| predicted_RBI | 0.650 | 0.010 |
| predicted_SLG | 0.354 | -0.012 |
| predicted_SO | 0.789 | 0.000 |
AB rounded to 3 (raw=3.47), rates preserved: AVG=0.214 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 |
Player 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.466 |
| predicted_AVG | 0.333 | 0.119 |
| predicted_BB | 0.000 | -0.346 |
| predicted_H | 1.000 | 0.258 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.333 | 0.048 |
| predicted_R | 0.000 | -0.437 |
| predicted_RBI | 1.000 | 0.350 |
| predicted_SLG | 0.333 | -0.021 |
| 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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 3.000 | 0.000 | 0.000 | 6.000 | 4.000 | 3.000 | 4.000 | 0.1765 | 0.2857 | 0.3529 | 0.1765 | 0.0000 | 0.3529 | 0.1765 | 0.2353 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 3.000 | 0.000 | 2.000 | 12.000 | 6.000 | 4.000 | 9.000 | 0.1944 | 0.2683 | 0.4444 | 0.1944 | 0.0556 | 0.3333 | 0.1111 | 0.2500 |
| season | 0.60 | 53 | - | 182.000 | 37.000 | 7.000 | 0.000 | 5.000 | 23.000 | 20.000 | 17.000 | 41.000 | 0.2033 | 0.2829 | 0.3242 | 0.2033 | 0.0275 | 0.1264 | 0.0934 | 0.2253 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2520 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5120 |
| predicted_AVG | 0.2031 |
| predicted_BB | 0.3820 |
| predicted_H | 0.7130 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.2847 |
| predicted_R | 0.5060 |
| predicted_RBI | 0.7120 |
| predicted_SLG | 0.3611 |
| predicted_SO | 0.8100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.2520 | 0.1815 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.4340 | 3.5120 | 3.4662 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2031 | 0.2177 | model_form_blend |
| predicted_BB | 0.3210 | 0.3820 | 0.3462 | model_form_blend |
| predicted_H | 0.7500 | 0.7130 | 0.7347 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2847 | 0.2890 | model_form_blend |
| predicted_R | 0.3770 | 0.5060 | 0.4302 | model_form_blend |
| predicted_RBI | 0.5900 | 0.7120 | 0.6403 | model_form_blend |
| predicted_SLG | 0.3700 | 0.3611 | 0.3663 | model_form_blend |
| predicted_SO | 0.7740 | 0.8100 | 0.7889 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 151 |
| Season rows before report date | 151 |
| Report year | 2026 |
| Profile rows used | 53 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.203 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 592663 |
| playerID | 592663 |
| playerName | J.T. Realmuto |
| pos | C |
| started | True |
| startingPosition | C |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.276 |
| sl_xwoba | 0.317 |
| sl_xba | 0.249 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 37.1 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 24.9 |
| 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.205 | 0.000 | 0.000 | Hitting_2B | 0.182 | 1.000 | -0.182 | -1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 3.570 | 4.000 | 4.000 | Hitting_AB | 3.589 | 4.000 | 0.411 | 0.000 |
| predicted_AVG | 0.249 | 0.000 | 0.250 | Hitting_AVG | 0.227 | 0.250 | -0.227 | -0.250 |
| predicted_BB | 0.260 | 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.890 | 0.000 | 1.000 | Hitting_H | 0.813 | 1.000 | -0.813 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.317 | 0.000 | 0.250 | Hitting_OBP | 0.280 | 0.250 | -0.280 | -0.250 |
| predicted_R | 0.397 | 0.000 | 1.000 | Hitting_R | 0.354 | 1.000 | -0.354 | -1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.541 | 1.000 | -0.541 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.215 | 0.000 | -0.215 | 0.000 |
| predicted_SLG | 0.423 | 0.000 | 0.250 | Hitting_SLG | 0.381 | 0.500 | -0.381 | -0.500 |
| predicted_SO | 0.616 | 1.000 | 1.000 | Hitting_SO | 0.584 | 1.000 | 0.416 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.5700 -> 4.0000 (boost 0.4300, better) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.0000 (deboost -0.8900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_R: 0.3970 -> 0.5166 (boost 0.1196, 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.3182 -> 0.3058 (deboost -0.0124, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_AB: 3.5932 -> 4.0000 (boost 0.4068, better) | predicted_BB: 0.2468 -> 0.0000 (deboost -0.2468, worse) | AB rounded to 4 (raw=3.59), rates preserved: AVG=0.258 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5247 -> 1.0000 (boost 0.4753, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4356 -> 0.2500 (deboost -0.1856, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4356 (boost 0.1856, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681082",
"player_name": "Bryson Stott",
"position": "2B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.027,
"predicted_AB": 3.57,
"predicted_AVG": 0.249,
"predicted_BB": 0.26,
"predicted_H": 0.89,
"predicted_HR": 0.12,
"predicted_OBP": 0.317,
"predicted_R": 0.397,
"predicted_RBI": 0.57,
"predicted_SLG": 0.423,
"predicted_SO": 0.616
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2176,
"predicted_3B": 0.0304,
"predicted_AB": 3.5932,
"predicted_AVG": 0.2554,
"predicted_BB": 0.2469,
"predicted_H": 0.9186,
"predicted_HBP": 0.07,
"predicted_HR": 0.1187,
"predicted_OBP": 0.3182,
"predicted_R": 0.5166,
"predicted_RBI": 0.5995,
"predicted_SLG": 0.4325,
"predicted_SO": 0.6223
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.2176,
"delta": 0.0126,
"percent_delta": 0.0615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0304,
"delta": 0.0034,
"percent_delta": 0.1259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.57,
"after": 3.5932,
"delta": 0.0232,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2554,
"delta": 0.0064,
"percent_delta": 0.0257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.2469,
"delta": -0.0131,
"percent_delta": -0.0504,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9186,
"delta": 0.0286,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1187,
"delta": -0.0013,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3182,
"delta": 0.0012,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.5166,
"delta": 0.1196,
"percent_delta": 0.3013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5995,
"delta": 0.0295,
"percent_delta": 0.0518,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4325,
"delta": 0.0095,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.616,
"after": 0.6223,
"delta": 0.0063,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.397,
"after": 0.5166,
"delta": 0.1196,
"percent_delta": 0.3013,
"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": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2176,
"predicted_3B": 0.0304,
"predicted_AB": 3.5932,
"predicted_AVG": 0.2581,
"predicted_BB": 0.2468,
"predicted_H": 0.9275,
"predicted_HBP": 0.07,
"predicted_HR": 0.1197,
"predicted_OBP": 0.3058,
"predicted_R": 0.5247,
"predicted_RBI": 0.6089,
"predicted_SLG": 0.4356,
"predicted_SO": 0.6225
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2176,
"after": 0.2176,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0304,
"after": 0.0304,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5932,
"after": 3.5932,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2554,
"after": 0.2581,
"delta": 0.0027,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2469,
"after": 0.2468,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9186,
"after": 0.9275,
"delta": 0.0089,
"percent_delta": 0.0097,
"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.1187,
"after": 0.1197,
"delta": 0.001,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3182,
"after": 0.3058,
"delta": -0.0124,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5166,
"after": 0.5247,
"delta": 0.0081,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5995,
"after": 0.6089,
"delta": 0.0094,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4325,
"after": 0.4356,
"delta": 0.0031,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6223,
"after": 0.6225,
"delta": 0.0002,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3182,
"after": 0.3058,
"delta": -0.0124,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.59), rates preserved: AVG=0.258 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2176,
"after": 0.0,
"delta": -0.2176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0304,
"after": 0.0,
"delta": -0.0304,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5932,
"after": 4.0,
"delta": 0.4068,
"percent_delta": 0.1132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2468,
"after": 0.0,
"delta": -0.2468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9275,
"after": 1.0,
"delta": 0.0725,
"percent_delta": 0.0782,
"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.1197,
"after": 0.0,
"delta": -0.1197,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6089,
"after": 1.0,
"delta": 0.3911,
"percent_delta": 0.6423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6225,
"after": 1.0,
"delta": 0.3775,
"percent_delta": 0.6064,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5932,
"after": 4.0,
"delta": 0.4068,
"percent_delta": 0.1132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2468,
"after": 0.0,
"delta": -0.2468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5247,
"after": 1.0,
"delta": 0.4753,
"percent_delta": 0.9059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5247,
"after": 1.0,
"delta": 0.4753,
"percent_delta": 0.9059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2581,
"after": 0.25,
"delta": -0.0081,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3058,
"after": 0.25,
"delta": -0.0558,
"percent_delta": -0.1825,
"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.4356,
"after": 0.25,
"delta": -0.1856,
"percent_delta": -0.4261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4356,
"after": 0.25,
"delta": -0.1856,
"percent_delta": -0.4261,
"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.2581,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3058,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4356,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2581,
"delta": 0.0081,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3058,
"delta": 0.0558,
"percent_delta": 0.2233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4356,
"delta": 0.1856,
"percent_delta": 0.7423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4356,
"delta": 0.1856,
"percent_delta": 0.7423,
"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.027,
"after": 0.0,
"delta": -0.027,
"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.249,
"after": 0.2581,
"delta": 0.0091,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3058,
"delta": -0.0112,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4356,
"delta": 0.0126,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.616,
"after": 1.0,
"delta": 0.384,
"percent_delta": 0.6234,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.57,
"after": 4.0,
"delta": 0.43,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.570 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.260 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.397 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 0.616 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.013 |
| predicted_3B | 0.030 | 0.003 |
| predicted_AB | 3.593 | 0.023 |
| predicted_AVG | 0.255 | 0.006 |
| predicted_BB | 0.247 | -0.013 |
| predicted_H | 0.919 | 0.029 |
| predicted_HBP | 0.070 | - |
| predicted_HR | 0.119 | -0.001 |
| predicted_OBP | 0.318 | 0.001 |
| predicted_R | 0.517 | 0.120 |
| predicted_RBI | 0.600 | 0.030 |
| predicted_SLG | 0.432 | 0.010 |
| predicted_SO | 0.622 | 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.218 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 3.593 | 0.000 |
| predicted_AVG | 0.258 | 0.003 |
| predicted_BB | 0.247 | -0.000 |
| predicted_H | 0.927 | 0.009 |
| predicted_HBP | 0.070 | 0.000 |
| predicted_HR | 0.120 | 0.001 |
| predicted_OBP | 0.306 | -0.012 |
| predicted_R | 0.525 | 0.008 |
| predicted_RBI | 0.609 | 0.009 |
| predicted_SLG | 0.436 | 0.003 |
| predicted_SO | 0.623 | 0.000 |
AB rounded to 4 (raw=3.59), rates preserved: AVG=0.258 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.218 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 4.000 | 0.407 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.247 |
| predicted_H | 1.000 | 0.073 |
| predicted_HR | 0.000 | -0.120 |
| predicted_OBP | 0.250 | -0.056 |
| predicted_R | 1.000 | 0.475 |
| predicted_RBI | 1.000 | 0.391 |
| predicted_SLG | 0.250 | -0.186 |
| predicted_SO | 1.000 | 0.377 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 2.000 | 0.000 | 1.000 | 5.000 | 7.000 | 0.000 | 4.000 | 0.3000 | 0.3333 | 0.5500 | 0.3000 | 0.0500 | 0.2500 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 2.000 | 1.000 | 1.000 | 7.000 | 10.000 | 3.000 | 4.000 | 0.3056 | 0.3750 | 0.5000 | 0.3056 | 0.0278 | 0.1944 | 0.0833 | 0.1111 |
| season | 0.60 | 73 | - | 253.000 | 61.000 | 15.000 | 2.000 | 7.000 | 39.000 | 29.000 | 19.000 | 45.000 | 0.2411 | 0.2982 | 0.3992 | 0.2411 | 0.0277 | 0.1542 | 0.0751 | 0.1779 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2350 |
| predicted_3B | 0.0350 |
| predicted_AB | 3.6250 |
| predicted_AVG | 0.2643 |
| predicted_BB | 0.2290 |
| predicted_H | 0.9580 |
| predicted_HBP | 0.0700 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.3199 |
| predicted_R | 0.6810 |
| predicted_RBI | 0.6400 |
| predicted_SLG | 0.4456 |
| predicted_SO | 0.6310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.2350 | 0.2176 | model_form_blend |
| predicted_3B | 0.0270 | 0.0350 | 0.0304 | model_form_blend |
| predicted_AB | 3.5700 | 3.6250 | 3.5932 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2643 | 0.2554 | model_form_blend |
| predicted_BB | 0.2600 | 0.2290 | 0.2469 | model_form_blend |
| predicted_H | 0.8900 | 0.9580 | 0.9186 | model_form_blend |
| predicted_HBP | - | 0.0700 | 0.0700 | form_only |
| predicted_HR | 0.1200 | 0.1170 | 0.1187 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3199 | 0.3182 | model_form_blend |
| predicted_R | 0.3970 | 0.6810 | 0.5166 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6400 | 0.5995 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4456 | 0.4325 | model_form_blend |
| predicted_SO | 0.6160 | 0.6310 | 0.6223 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 209 |
| Season rows before report date | 209 |
| Report year | 2026 |
| Profile rows used | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| 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 | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 681082 |
| playerID | 681082 |
| playerName | Bryson Stott |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.308 |
| sl_xwoba | 0.318 |
| sl_xba | 0.258 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 39.9 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 17.3 |
| 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.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.500 | 4.000 | 4.000 | Hitting_AB | 3.500 | 4.000 | 0.500 | 0.000 |
| predicted_AVG | 0.224 | 0.250 | 0.250 | Hitting_AVG | 0.143 | 0.250 | 0.107 | 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.730 | 1.000 | 1.000 | Hitting_H | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.259 | 0.250 | 0.250 | Hitting_OBP | 0.143 | 0.250 | 0.107 | 0.000 |
| predicted_R | 0.250 | 0.000 | 0.000 | Hitting_R | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.375 | 1.000 | -0.375 | -1.000 |
| predicted_SLG | 0.325 | 0.250 | 0.250 | Hitting_SLG | 0.250 | 0.250 | 0.000 | 0.000 |
| predicted_SO | 0.875 | 1.000 | 1.000 | Hitting_SO | 0.875 | 1.000 | 0.125 | 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_AB: 3.5000 -> 4.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_RBI: 0.3700 -> 0.0000 (deboost -0.3700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AB: 3.5000 -> 3.5651 (boost 0.0651, better) | predicted_OBP: 0.2590 -> 0.2528 (deboost -0.0062, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2528 -> 0.2193 (deboost -0.0335, 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_AB: 3.5651 -> 4.0000 (boost 0.4349, better) | predicted_RBI: 0.3810 -> 0.0000 (deboost -0.3810, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.210 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2873 -> 0.0000 (deboost -0.2873, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2097 -> 0.2500 (boost 0.0403, better) | predicted_SLG: 0.2952 -> 0.2500 (deboost -0.0452, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.2952 (boost 0.0452, better) | predicted_AVG: 0.2500 -> 0.2097 (deboost -0.0403, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687282",
"player_name": "Gabriel Rincones Jr.",
"position": "RF",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.5,
"predicted_AVG": 0.224,
"predicted_BB": 0.0,
"predicted_H": 0.73,
"predicted_HR": 0.09,
"predicted_OBP": 0.259,
"predicted_R": 0.25,
"predicted_RBI": 0.37,
"predicted_SLG": 0.325,
"predicted_SO": 0.875
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0281,
"predicted_3B": 0.0021,
"predicted_AB": 3.5651,
"predicted_AVG": 0.2185,
"predicted_BB": 0.0439,
"predicted_H": 0.7405,
"predicted_HBP": 0.017,
"predicted_HR": 0.09,
"predicted_OBP": 0.2528,
"predicted_R": 0.2829,
"predicted_RBI": 0.3751,
"predicted_SLG": 0.3198,
"predicted_SO": 0.8651
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0281,
"delta": 0.0281,
"percent_delta": null,
"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": 3.5,
"after": 3.5651,
"delta": 0.0651,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2185,
"delta": -0.0055,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0439,
"delta": 0.0439,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7405,
"delta": 0.0105,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.09,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2528,
"delta": -0.0062,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.2829,
"delta": 0.0329,
"percent_delta": 0.1316,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3751,
"delta": 0.0051,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3198,
"delta": -0.0052,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.875,
"after": 0.8651,
"delta": -0.0099,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 3.5651,
"delta": 0.0651,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2528,
"delta": -0.0062,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 8,
"season": 8
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0281,
"predicted_3B": 0.0021,
"predicted_AB": 3.5651,
"predicted_AVG": 0.2097,
"predicted_BB": 0.0439,
"predicted_H": 0.7477,
"predicted_HBP": 0.017,
"predicted_HR": 0.0908,
"predicted_OBP": 0.2193,
"predicted_R": 0.2873,
"predicted_RBI": 0.381,
"predicted_SLG": 0.2952,
"predicted_SO": 0.8654
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0281,
"after": 0.0281,
"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": 3.5651,
"after": 3.5651,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2185,
"after": 0.2097,
"delta": -0.0088,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0439,
"after": 0.0439,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7405,
"after": 0.7477,
"delta": 0.0072,
"percent_delta": 0.0097,
"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.09,
"after": 0.0908,
"delta": 0.0008,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2528,
"after": 0.2193,
"delta": -0.0335,
"percent_delta": -0.1325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2829,
"after": 0.2873,
"delta": 0.0044,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3751,
"after": 0.381,
"delta": 0.0059,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3198,
"after": 0.2952,
"delta": -0.0246,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8651,
"after": 0.8654,
"delta": 0.0003,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2528,
"after": 0.2193,
"delta": -0.0335,
"percent_delta": -0.1325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.57), rates preserved: AVG=0.210 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.0281,
"after": 0.0,
"delta": -0.0281,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 3.5651,
"after": 4.0,
"delta": 0.4349,
"percent_delta": 0.122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0439,
"after": 0.0,
"delta": -0.0439,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7477,
"after": 1.0,
"delta": 0.2523,
"percent_delta": 0.3374,
"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.0908,
"after": 0.0,
"delta": -0.0908,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8654,
"after": 1.0,
"delta": 0.1346,
"percent_delta": 0.1555,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5651,
"after": 4.0,
"delta": 0.4349,
"percent_delta": 0.122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2873,
"after": 0.0,
"delta": -0.2873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2873,
"after": 0.0,
"delta": -0.2873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2097,
"after": 0.25,
"delta": 0.0403,
"percent_delta": 0.1922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2193,
"after": 0.25,
"delta": 0.0307,
"percent_delta": 0.14,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2952,
"after": 0.25,
"delta": -0.0452,
"percent_delta": -0.1531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2097,
"after": 0.25,
"delta": 0.0403,
"percent_delta": 0.1922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2952,
"after": 0.25,
"delta": -0.0452,
"percent_delta": -0.1531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2097,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2193,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2952,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2097,
"delta": -0.0403,
"percent_delta": -0.1611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2193,
"delta": -0.0307,
"percent_delta": -0.1227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2952,
"delta": 0.0452,
"percent_delta": 0.1807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2952,
"delta": 0.0452,
"percent_delta": 0.1807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2097,
"delta": -0.0403,
"percent_delta": -0.1611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2097,
"delta": -0.0143,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2193,
"delta": -0.0397,
"percent_delta": -0.1533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.2952,
"delta": -0.0298,
"percent_delta": -0.0917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.875,
"after": 1.0,
"delta": 0.125,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.259 | - |
| predicted_R | 0.250 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.325 | - |
| predicted_SO | 0.875 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.028 | 0.028 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.565 | 0.065 |
| predicted_AVG | 0.218 | -0.006 |
| predicted_BB | 0.044 | 0.044 |
| predicted_H | 0.741 | 0.011 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.090 | 0.000 |
| predicted_OBP | 0.253 | -0.006 |
| predicted_R | 0.283 | 0.033 |
| predicted_RBI | 0.375 | 0.005 |
| predicted_SLG | 0.320 | -0.005 |
| predicted_SO | 0.865 | -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.028 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.565 | 0.000 |
| predicted_AVG | 0.210 | -0.009 |
| predicted_BB | 0.044 | 0.000 |
| predicted_H | 0.748 | 0.007 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.091 | 0.001 |
| predicted_OBP | 0.219 | -0.034 |
| predicted_R | 0.287 | 0.004 |
| predicted_RBI | 0.381 | 0.006 |
| predicted_SLG | 0.295 | -0.025 |
| predicted_SO | 0.865 | 0.000 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.210 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.028 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.435 |
| predicted_AVG | 0.250 | 0.040 |
| predicted_BB | 0.000 | -0.044 |
| predicted_H | 1.000 | 0.252 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.250 | 0.031 |
| predicted_R | 0.000 | -0.287 |
| predicted_RBI | 0.000 | -0.381 |
| predicted_SLG | 0.250 | -0.045 |
| predicted_SO | 1.000 | 0.135 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 4.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.0556 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 8 | - | 28.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 7.000 | 0.1429 | 0.1429 | 0.2500 | 0.1429 | 0.0357 | 0.1071 | 0.0000 | 0.2500 |
| season | 0.60 | 8 | - | 28.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 7.000 | 0.1429 | 0.1429 | 0.2500 | 0.1429 | 0.0357 | 0.1071 | 0.0000 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.7180 |
| predicted_AVG | 0.2057 |
| predicted_BB | 0.1470 |
| predicted_H | 0.7650 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.2382 |
| predicted_R | 0.3600 |
| predicted_RBI | 0.3870 |
| predicted_SLG | 0.3076 |
| predicted_SO | 0.8420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0940 | 0.0281 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0021 | model_form_blend |
| predicted_AB | 3.5000 | 3.7180 | 3.5651 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2057 | 0.2185 | model_form_blend |
| predicted_BB | 0.0000 | 0.1470 | 0.0439 | model_form_blend |
| predicted_H | 0.7300 | 0.7650 | 0.7405 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0900 | 0.0900 | 0.0900 | model_form_blend |
| predicted_OBP | 0.2590 | 0.2382 | 0.2528 | model_form_blend |
| predicted_R | 0.2500 | 0.3600 | 0.2829 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3870 | 0.3751 | model_form_blend |
| predicted_SLG | 0.3250 | 0.3076 | 0.3198 | model_form_blend |
| predicted_SO | 0.8750 | 0.8420 | 0.8651 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 8 |
| Season rows before report date | 8 |
| Report year | 2026 |
| Profile rows used | 8 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.143 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 687282 |
| playerID | 687282 |
| playerName | Gabriel Rincones Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.169 |
| sl_xwoba | 0.158 |
| sl_xba | 0.135 |
| sl_xslg | 0.235 |
| sl_sweet_spot_percent | 9.5 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 6.3 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 64.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.155 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_AB | 3.056 | 3.000 | 3.000 | Hitting_AB | 3.330 | 3.000 | -0.330 | 0.000 |
| predicted_AVG | 0.257 | 0.000 | 0.333 | Hitting_AVG | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_BB | 0.225 | 0.000 | 0.000 | Hitting_BB | 0.264 | 0.000 | -0.264 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.797 | 0.000 | -0.797 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_OBP | 0.315 | 0.000 | 0.333 | Hitting_OBP | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_R | 0.296 | 0.000 | 0.000 | Hitting_R | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_SLG | 0.357 | 0.000 | 0.333 | Hitting_SLG | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_SO | 0.718 | 0.000 | 1.000 | Hitting_SO | 0.685 | 0.000 | -0.685 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 0.7180 -> 0.0000 (deboost -0.7180, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3159 -> 0.2972 (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 | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.7442 -> 1.0000 (boost 0.2558, better) | predicted_RBI: 0.3072 -> 0.0000 (deboost -0.3072, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.242 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3023 -> 0.0000 (deboost -0.3023, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2423 -> 0.3330 (boost 0.0907, better) | predicted_SLG: 0.3557 -> 0.3330 (deboost -0.0227, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3557 (boost 0.0227, better) | predicted_AVG: 0.3330 -> 0.2423 (deboost -0.0907, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702222",
"player_name": "Justin Crawford",
"position": "CF",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.155,
"predicted_3B": 0.028,
"predicted_AB": 3.056,
"predicted_AVG": 0.257,
"predicted_BB": 0.225,
"predicted_H": 0.7,
"predicted_HR": 0.05,
"predicted_OBP": 0.315,
"predicted_R": 0.296,
"predicted_RBI": 0.31,
"predicted_SLG": 0.357,
"predicted_SO": 0.718
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1792,
"predicted_3B": 0.0234,
"predicted_AB": 3.071,
"predicted_AVG": 0.2563,
"predicted_BB": 0.2396,
"predicted_H": 0.7371,
"predicted_HBP": 0.018,
"predicted_HR": 0.0404,
"predicted_OBP": 0.3159,
"predicted_R": 0.2977,
"predicted_RBI": 0.3025,
"predicted_SLG": 0.3587,
"predicted_SO": 0.7534
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1792,
"delta": 0.0242,
"percent_delta": 0.1561,
"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.056,
"after": 3.071,
"delta": 0.015,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2563,
"delta": -0.0007,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.225,
"after": 0.2396,
"delta": 0.0146,
"percent_delta": 0.0649,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7371,
"delta": 0.0371,
"percent_delta": 0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0404,
"delta": -0.0096,
"percent_delta": -0.192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3159,
"delta": 0.0009,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.296,
"after": 0.2977,
"delta": 0.0017,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3025,
"delta": -0.0075,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3587,
"delta": 0.0017,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.718,
"after": 0.7534,
"delta": 0.0354,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 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.1792,
"predicted_3B": 0.0234,
"predicted_AB": 3.071,
"predicted_AVG": 0.2423,
"predicted_BB": 0.2395,
"predicted_H": 0.7442,
"predicted_HBP": 0.018,
"predicted_HR": 0.0407,
"predicted_OBP": 0.2972,
"predicted_R": 0.3023,
"predicted_RBI": 0.3072,
"predicted_SLG": 0.3557,
"predicted_SO": 0.7536
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1792,
"after": 0.1792,
"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.071,
"after": 3.071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2563,
"after": 0.2423,
"delta": -0.014,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2396,
"after": 0.2395,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7371,
"after": 0.7442,
"delta": 0.0071,
"percent_delta": 0.0096,
"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.0404,
"after": 0.0407,
"delta": 0.0003,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3159,
"after": 0.2972,
"delta": -0.0187,
"percent_delta": -0.0592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2977,
"after": 0.3023,
"delta": 0.0046,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3025,
"after": 0.3072,
"delta": 0.0047,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3587,
"after": 0.3557,
"delta": -0.003,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7534,
"after": 0.7536,
"delta": 0.0002,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3159,
"after": 0.2972,
"delta": -0.0187,
"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 3 (raw=3.07), rates preserved: AVG=0.242 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.1792,
"after": 0.0,
"delta": -0.1792,
"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.071,
"after": 3.0,
"delta": -0.071,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2395,
"after": 0.0,
"delta": -0.2395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7442,
"after": 1.0,
"delta": 0.2558,
"percent_delta": 0.3437,
"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.0407,
"after": 0.0,
"delta": -0.0407,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3072,
"after": 0.0,
"delta": -0.3072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7536,
"after": 1.0,
"delta": 0.2464,
"percent_delta": 0.327,
"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.7442,
"after": 1.0,
"delta": 0.2558,
"percent_delta": 0.3437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3072,
"after": 0.0,
"delta": -0.3072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3023,
"after": 0.0,
"delta": -0.3023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3023,
"after": 0.0,
"delta": -0.3023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2423,
"after": 0.333,
"delta": 0.0907,
"percent_delta": 0.3743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0358,
"percent_delta": 0.1205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3557,
"after": 0.333,
"delta": -0.0227,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2423,
"after": 0.333,
"delta": 0.0907,
"percent_delta": 0.3743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3557,
"after": 0.333,
"delta": -0.0227,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2423,
"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.2972,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3557,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2423,
"delta": -0.0907,
"percent_delta": -0.2722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2972,
"delta": -0.0358,
"percent_delta": -0.1076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3557,
"delta": 0.0227,
"percent_delta": 0.0683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3557,
"delta": 0.0227,
"percent_delta": 0.0683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2423,
"delta": -0.0907,
"percent_delta": -0.2722,
"direction": "deboost",
"projection_effect": "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.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.056,
"after": 3.0,
"delta": -0.056,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2423,
"delta": -0.0147,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.225,
"after": 0.0,
"delta": -0.225,
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.2972,
"delta": -0.0178,
"percent_delta": -0.0565,
"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.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3557,
"delta": -0.0013,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.718,
"after": 0.0,
"delta": -0.718,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.718,
"after": 0.0,
"delta": -0.718,
"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.028 | - |
| predicted_AB | 3.056 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.225 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.296 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 0.718 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.024 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.071 | 0.015 |
| predicted_AVG | 0.256 | -0.001 |
| predicted_BB | 0.240 | 0.015 |
| predicted_H | 0.737 | 0.037 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.040 | -0.010 |
| predicted_OBP | 0.316 | 0.001 |
| predicted_R | 0.298 | 0.002 |
| predicted_RBI | 0.302 | -0.008 |
| predicted_SLG | 0.359 | 0.002 |
| predicted_SO | 0.753 | 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.179 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.071 | 0.000 |
| predicted_AVG | 0.242 | -0.014 |
| predicted_BB | 0.239 | -0.000 |
| predicted_H | 0.744 | 0.007 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.041 | 0.000 |
| predicted_OBP | 0.297 | -0.019 |
| predicted_R | 0.302 | 0.005 |
| predicted_RBI | 0.307 | 0.005 |
| predicted_SLG | 0.356 | -0.003 |
| predicted_SO | 0.754 | 0.000 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.242 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.179 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.071 |
| predicted_AVG | 0.333 | 0.091 |
| predicted_BB | 0.000 | -0.239 |
| predicted_H | 1.000 | 0.256 |
| predicted_HR | 0.000 | -0.041 |
| predicted_OBP | 0.333 | 0.036 |
| predicted_R | 0.000 | -0.302 |
| predicted_RBI | 0.000 | -0.307 |
| predicted_SLG | 0.333 | -0.023 |
| predicted_SO | 1.000 | 0.246 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 5.000 | 0.2667 | 0.3529 | 0.4000 | 0.2667 | 0.0000 | 0.1333 | 0.1333 | 0.3333 |
| last_10 | 0.20 | 10 | - | 28.000 | 9.000 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 2.000 | 8.000 | 0.3214 | 0.3667 | 0.3929 | 0.3214 | 0.0000 | 0.1071 | 0.0714 | 0.2857 |
| season | 0.60 | 71 | - | 217.000 | 50.000 | 11.000 | 2.000 | 2.000 | 15.000 | 21.000 | 16.000 | 51.000 | 0.2304 | 0.2894 | 0.3272 | 0.2304 | 0.0092 | 0.0691 | 0.0737 | 0.2350 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2130 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.0920 |
| predicted_AVG | 0.2553 |
| predicted_BB | 0.2600 |
| predicted_H | 0.7890 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0270 |
| predicted_OBP | 0.3171 |
| predicted_R | 0.3000 |
| predicted_RBI | 0.2920 |
| predicted_SLG | 0.3611 |
| predicted_SO | 0.8030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.2130 | 0.1792 | model_form_blend |
| predicted_3B | 0.0280 | 0.0170 | 0.0234 | model_form_blend |
| predicted_AB | 3.0560 | 3.0920 | 3.0710 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2553 | 0.2563 | model_form_blend |
| predicted_BB | 0.2250 | 0.2600 | 0.2396 | model_form_blend |
| predicted_H | 0.7000 | 0.7890 | 0.7371 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0500 | 0.0270 | 0.0404 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3171 | 0.3159 | model_form_blend |
| predicted_R | 0.2960 | 0.3000 | 0.2977 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2920 | 0.3025 | model_form_blend |
| predicted_SLG | 0.3570 | 0.3611 | 0.3587 | model_form_blend |
| predicted_SO | 0.7180 | 0.8030 | 0.7534 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 197 |
| Season rows before report date | 197 |
| 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 | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | CF |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 702222 |
| playerID | 702222 |
| playerName | Justin Crawford |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.283 |
| sl_xwoba | 0.266 |
| sl_xba | 0.235 |
| sl_xslg | 0.295 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 1.2 |
| sl_hard_hit_percent | 33.5 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 2.7 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 52.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.250 | 1.000 | 1.750 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.312 | 1.000 | -1.312 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 5.875 | 5.000 | -3.875 | -3.000 |
| predicted_IP | 6.200 | 6.200 | 6.200 | Pitching_InningsPitched | 6.475 | 6.000 | -0.275 | 0.200 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 7.562 | 5.000 | -3.562 | -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.6667 -> 6.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better) | predicted_IP: 6.6667 -> 6.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "650911",
"player_name": "Cristopher Sánchez",
"position": "Starter",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_R": 0.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.667 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | -0.467 |
| predicted_SO | 7.000 | 3.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 32.200 | 8.000 | 27.000 | 4.000 | 35.000 | 4.000 | 2.2041 | 0.9490 | 0.2449 | 0.8265 | 0.1225 | 1.0714 | 0.1225 |
| last_10 | 0.35 | 10 | 71.100 | 10.000 | 50.000 | 10.000 | 78.000 | 4.000 | 1.2617 | 0.8411 | 0.1402 | 0.7009 | 0.1402 | 1.0935 | 0.0561 |
| season | 0.20 | 16 | 105.000 | 21.000 | 94.000 | 20.000 | 121.000 | 7.000 | 1.8000 | 1.0857 | 0.2000 | 0.8952 | 0.1905 | 1.1524 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3120 |
| predicted_ER | 1.8290 |
| predicted_ERA | 2.4371 |
| predicted_H | 5.6580 |
| predicted_HR | 0.6880 |
| predicted_IP | 6.2000 |
| predicted_SO | 7.1610 |
| predicted_WHIP | 1.0317 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.3120 | 2.0726 | model_form_blend |
| predicted_ER | 0.0000 | 1.8290 | 1.0049 | model_form_blend |
| predicted_ERA | - | 2.4371 | 2.4371 | form_only |
| predicted_H | 2.0000 | 5.6580 | 4.0097 | model_form_blend |
| predicted_HR | 0.0000 | 0.6880 | 0.3780 | model_form_blend |
| predicted_IP | 6.2000 | 6.2000 | 6.2000 | model_form_blend |
| predicted_SO | 4.0000 | 7.1610 | 5.7367 | model_form_blend |
| predicted_WHIP | - | 1.0317 | 1.0317 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.2 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 3 |
| SO | 4 |
| HR | 0 |
| BF | 25 |
| Pitches | 102 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.80 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 8 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 91 |
| Pitching_R | 1 |
| Pitching_SO | 5 |
| Pitching_Strikes | 61 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260620_NYM@PHI |
| game_type | full |
| mlbID | 650911 |
| playerID | 650911 |
| playerName | Cristopher Sánchez |
| pos | P |
| started | True |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-20 |
| sl_k_percent | 28.5 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.27 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 42.9 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 50.6 |
| sl_avg_best_speed | 77.934413643 |
| sl_avg_hyper_speed | 94.485330464 |
| 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.172 | 0.000 | -0.172 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.172 | 0.000 | 1.828 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.690 | 0.000 | 2.310 | 3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.903 | 1.000 | 0.097 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.483 | 3.000 | -1.483 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "661395",
"player_name": "Jhoan Duran",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 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 | 4.000 | 0.000 | 10.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.8000 | 0.0000 | 2.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 5.000 | 0.000 | 17.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.5000 | 0.0000 | 1.7000 | 0.0000 |
| season | 0.20 | 27 | 26.200 | 3.000 | 17.000 | 5.000 | 43.000 | 1.000 | 1.0125 | 0.8250 | 0.1125 | 0.6375 | 0.1875 | 1.6125 | 0.0375 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1940 |
| predicted_ER | 0.2550 |
| predicted_ERA | 2.2912 |
| predicted_H | 0.8120 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3940 |
| predicted_WHIP | 1.0062 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1940 | 0.0862 | model_form_blend |
| predicted_ER | 2.0000 | 0.2550 | 1.2244 | model_form_blend |
| predicted_ERA | - | 2.2912 | 2.2912 | form_only |
| predicted_H | 3.0000 | 0.8120 | 2.0274 | model_form_blend |
| predicted_HR | 1.0000 | 0.0750 | 0.5888 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3940 | 0.6196 | model_form_blend |
| predicted_WHIP | - | 1.0062 | 1.0062 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 6 |
| Pitches | 6 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.69 |
| Pitching_Flyouts | 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 | 3 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 661395 |
| playerID | 661395 |
| playerName | Jhoan Duran |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 42.2 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.231 |
| sl_xwoba | 0.23 |
| sl_sweet_spot_percent | 27.8 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 50.0 |
| sl_whiff_percent | 41.4 |
| sl_swing_percent | 53.0 |
| sl_avg_best_speed | 82.605974444 |
| sl_avg_hyper_speed | 95.362851296 |
| 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.438 | 1.000 | -0.438 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.312 | 3.000 | -0.312 | -3.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.688 | 2.000 | 0.312 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.847 | 1.000 | 0.153 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.062 | 2.000 | -1.062 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "689147",
"player_name": "Orion Kerkering",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 4.000 | 3.000 | 3.000 | 7.000 | 1.000 | 6.7500 | 1.1250 | 0.7500 | 0.5625 | 0.5625 | 1.3125 | 0.1875 |
| last_10 | 0.35 | 10 | 10.100 | 5.000 | 8.000 | 7.000 | 16.000 | 1.000 | 4.3548 | 1.4516 | 0.4839 | 0.7742 | 0.6774 | 1.5484 | 0.0968 |
| season | 0.20 | 32 | 29.200 | 10.000 | 22.000 | 14.000 | 34.000 | 3.000 | 3.0337 | 1.2135 | 0.3371 | 0.7416 | 0.4719 | 1.1461 | 0.1011 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4810 |
| predicted_ER | 0.5400 |
| predicted_ERA | 4.8596 |
| predicted_H | 0.8090 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1710 |
| predicted_WHIP | 1.2904 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4810 | 0.2192 | model_form_blend |
| predicted_ER | 0.0000 | 0.5400 | 0.2461 | model_form_blend |
| predicted_ERA | - | 4.8596 | 4.8596 | form_only |
| predicted_H | 1.0000 | 0.8090 | 0.9130 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0647 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1710 | 0.5337 | model_form_blend |
| predicted_WHIP | - | 1.2904 | 1.2904 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| 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 | 4 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.03 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W, BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_PHI@WAS |
| game_type | full |
| mlbID | 689147 |
| playerID | 689147 |
| playerName | Orion Kerkering |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-23 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.294 |
| sl_xwoba | 0.265 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 24.4 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 42.8 |
| sl_avg_best_speed | 70.600565526 |
| sl_avg_hyper_speed | 92.027854342 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.324 | 1.000 | -0.324 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.559 | 0.000 | -0.559 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.088 | 1.000 | -0.088 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.679 | 1.000 | -0.579 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.088 | 1.000 | -1.088 | -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.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": "621237",
"player_name": "José Alvarado",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 5.000 | 8.000 | 2.000 | 7.000 | 1.000 | 9.0000 | 2.0000 | 1.0000 | 1.6000 | 0.4000 | 1.4000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 10.000 | 3.000 | 11.000 | 2.000 | 6.7500 | 1.3929 | 0.7500 | 1.0714 | 0.3214 | 1.1786 | 0.2143 |
| season | 0.20 | 34 | 28.000 | 19.000 | 37.000 | 11.000 | 37.000 | 3.000 | 6.1071 | 1.7143 | 0.6786 | 1.3214 | 0.3929 | 1.3214 | 0.1071 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2370 |
| predicted_ER | 0.4430 |
| predicted_ERA | 6.1463 |
| predicted_H | 0.7620 |
| predicted_HR | 0.1090 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7370 |
| predicted_WHIP | 1.5403 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2370 | 0.1066 | model_form_blend |
| predicted_ER | 0.0000 | 0.4430 | 0.1992 | model_form_blend |
| predicted_ERA | - | 6.1463 | 6.1463 | form_only |
| predicted_H | 1.0000 | 0.7620 | 0.8930 | model_form_blend |
| predicted_HR | 0.0000 | 0.1090 | 0.0490 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7370 | 0.3314 | model_form_blend |
| predicted_WHIP | - | 1.5403 | 1.5403 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 6.11 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 26 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 621237 |
| playerID | 621237 |
| playerName | José Alvarado |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-24 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.376 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 30.1 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 77.20274675 |
| sl_avg_hyper_speed | 93.27759425 |
| Field | Value |
|---|---|
| Pitcher | Cade Cavalli |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1726 |
| ESPN Rank | 185 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0751 |
| Avg Velo | 91.0930 |
| Avg Spin | 2213.3720 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 1 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 4.0733 |
| Season WHIP | 1.4612 |
| Role Avg IP | 4.8330 |
| Recent Avg IP | 4.7330 |
| Last Start IP | 2.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 440.0,
"runs_allowed": 443.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0345,
"avg_runs_scored": 5.0575,
"avg_runs_allowed": 5.092,
"offense_index": 1.1228,
"defense_index": 0.8846,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.6,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.0188
},
"opponent": {
"team": "PHI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 373.0,
"runs_allowed": 382.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1034,
"avg_runs_scored": 4.2874,
"avg_runs_allowed": 4.3908,
"offense_index": 0.9519,
"defense_index": 1.0258,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.6,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.037
},
"edges": {
"quality_edge": -0.0558,
"offense_edge": 0.1228,
"opponent_offense_edge": -0.0481,
"defense_strength": -0.1154,
"opponent_defense_weakness": -0.0258,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 1.0066,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676917",
"profile": {
"available": true,
"pitcher_id": "676917",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 268.0,
"k_percent": 23.5,
"bb_percent": 8.0,
"woba": 0.331,
"xwoba": 0.329,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 39.9,
"avg_best_speed": 78.4084,
"avg_hyper_speed": 94.3384,
"whiff_percent": 23.8,
"swing_percent": 46.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.3311,
"command_and_miss": 0.0039,
"regression_edge": 0.0571,
"xwoba_edge": -0.4143,
"barrel_edge": -0.0778,
"hard_hit_edge": -0.2286,
"whiff_edge": -0.2929,
"bb_edge": 0.275,
"pitch_design_score": 0.0751
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676917",
"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": 91.09304496743118,
"release_spin_rate": 2213.371971525345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.09304496743118,
"release_spin_rate": 2213.371971525345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.093,
"release_spin_rate": 2213.372,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.5367,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1726,
"sample_weight": 1.0,
"run_prevention_factor": 1.0147,
"strikeout_factor": 0.9929,
"walk_factor": 0.978,
"homer_factor": 1.0278,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676917",
"espn_id": 4308037,
"player_name": "Cade Cavalli",
"team": "WSH",
"role": "pitcher",
"espn_rank": 185,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 185,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 5.0,
"qs_rank": 62,
"era_value": 4.0732,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 77.1,
"ip_rank": 73,
"h_value": 85.0,
"h_rank": 20,
"er_value": 35.0,
"er_rank": 69,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 28.0,
"bb_rank": 50,
"k_value": 82.0,
"k_rank": 40,
"k_per_9_value": 9.543104,
"k_per_9_rank": 14,
"whip_value": 1.4612,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0147,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0147,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.978,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0278,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9929,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 52.2,
"ER": 24,
"H": 56,
"BB": 16,
"SO": 54,
"HR": 6,
"ERA": 4.101265822784811,
"WHIP": 1.3670886075949367,
"K9": 9.227848101265824,
"HR9": 1.0253164556962027,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-20T00:00:00"
}{
"available": true,
"pitcher_id": "676917",
"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": 91.09304496743118,
"release_spin_rate": 2213.371971525345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.09304496743118,
"release_spin_rate": 2213.371971525345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.093,
"release_spin_rate": 2213.372,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.5367,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "676917",
"report_date": "20260625_P",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.2,
"ER": 12.0,
"R": 12.0,
"H": 27.0,
"BB": 9.0,
"SO": 21.0,
"HR": 3.0,
"BF": 106.0,
"Pitches": 413.0
},
"per_game": {
"IP": 4.2,
"ER": 2.4,
"R": 2.4,
"H": 5.4,
"BB": 1.8,
"SO": 4.2,
"HR": 0.6,
"BF": 21.2,
"Pitches": 82.6
},
"rates": {
"ERA": 4.5634,
"WHIP": 1.5211,
"ER_per_IP": 0.50704,
"H_per_IP": 1.14085,
"BB_per_IP": 0.38028,
"SO_per_IP": 0.88732,
"HR_per_IP": 0.12676
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.2,
"ER": 24.0,
"R": 27.0,
"H": 56.0,
"BB": 16.0,
"SO": 54.0,
"HR": 6.0,
"BF": 233.0,
"Pitches": 859.0
},
"per_game": {
"IP": 5.1,
"ER": 2.4,
"R": 2.7,
"H": 5.6,
"BB": 1.6,
"SO": 5.4,
"HR": 0.6,
"BF": 23.3,
"Pitches": 85.9
},
"rates": {
"ERA": 4.1013,
"WHIP": 1.3671,
"ER_per_IP": 0.4557,
"H_per_IP": 1.06329,
"BB_per_IP": 0.3038,
"SO_per_IP": 1.02532,
"HR_per_IP": 0.11392
}
},
"season": {
"games": 16,
"totals": {
"IP": 77.1,
"ER": 35.0,
"R": 42.0,
"H": 85.0,
"BB": 28.0,
"SO": 82.0,
"HR": 6.0,
"BF": 349.0,
"Pitches": 1337.0
},
"per_game": {
"IP": 4.2,
"ER": 2.1875,
"R": 2.625,
"H": 5.3125,
"BB": 1.75,
"SO": 5.125,
"HR": 0.375,
"BF": 21.8125,
"Pitches": 83.5625
},
"rates": {
"ERA": 4.0733,
"WHIP": 1.4612,
"ER_per_IP": 0.45259,
"H_per_IP": 1.09914,
"BB_per_IP": 0.36207,
"SO_per_IP": 1.06034,
"HR_per_IP": 0.07759
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.341,
"predicted_H": 5.198,
"predicted_BB": 1.707,
"predicted_SO": 4.674,
"predicted_HR": 0.584,
"predicted_ERA": 4.3496,
"predicted_WHIP": 1.4253
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.341,
"final": 1.7367,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.198,
"final": 4.6582,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.707,
"final": 0.9378,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.674,
"final": 5.2715,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.584,
"final": 0.3209,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3496,
"final": 4.3496,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4253,
"final": 1.4253,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brad Lord |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0039 |
| ESPN Rank | 101 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.3097 |
| Season WHIP | 1.1032 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 440.0,
"runs_allowed": 443.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0345,
"avg_runs_scored": 5.0575,
"avg_runs_allowed": 5.092,
"offense_index": 1.1228,
"defense_index": 0.8846,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.6,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.0188
},
"opponent": {
"team": "PHI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 373.0,
"runs_allowed": 382.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1034,
"avg_runs_scored": 4.2874,
"avg_runs_allowed": 4.3908,
"offense_index": 0.9519,
"defense_index": 1.0258,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.6,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.037
},
"edges": {
"quality_edge": -0.0558,
"offense_edge": 0.1228,
"opponent_offense_edge": -0.0481,
"defense_strength": -0.1154,
"opponent_defense_weakness": -0.0258,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 1.0066,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695418",
"profile": {
"available": true,
"pitcher_id": "695418",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 143.0,
"k_percent": 21.4,
"bb_percent": 7.0,
"woba": 0.277,
"xwoba": 0.314,
"sweet_spot_percent": 25.7,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 42.6,
"avg_best_speed": 75.0335,
"avg_hyper_speed": 94.4543,
"whiff_percent": 21.9,
"swing_percent": 49.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2828,
"command_and_miss": -0.1761,
"regression_edge": -1.0571,
"xwoba_edge": 0.0143,
"barrel_edge": 0.2111,
"hard_hit_edge": -0.6143,
"whiff_edge": -0.5643,
"bb_edge": 0.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "695418",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0039,
"sample_weight": 0.572,
"run_prevention_factor": 0.9997,
"strikeout_factor": 0.9828,
"walk_factor": 0.976,
"homer_factor": 1.0041,
"woba_minus_xwoba": -0.037,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "695418",
"espn_id": 4866810,
"player_name": "Brad Lord",
"team": "WSH",
"role": "pitcher",
"espn_rank": 101,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 101,
"gp_value": 24.0,
"gp_rank": 158,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.3096,
"era_rank": null,
"w_value": 5.0,
"w_rank": 51,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 6.0,
"hld_rank": 79,
"ip_value": 51.2,
"ip_rank": 139,
"h_value": 42.0,
"h_rank": 149,
"er_value": 19.0,
"er_rank": 172,
"hr_value": 6.0,
"hr_rank": 140,
"bb_value": 15.0,
"bb_rank": 214,
"k_value": 46.0,
"k_rank": 144,
"k_per_9_value": 8.012903,
"k_per_9_rank": 27,
"whip_value": 1.1032,
"whip_rank": null,
"war_value": 0.98,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9998,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9863,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0023,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9902,
"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": 22.2,
"ER": 9,
"H": 15,
"BB": 9,
"SO": 23,
"HR": 3,
"ERA": 3.573529411764706,
"WHIP": 1.0588235294117647,
"K9": 9.132352941176471,
"HR9": 1.1911764705882355,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "695418",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.23,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6717,
"prior_weight": 0.3283
},
"role": "pitcher",
"player_id": "695418",
"report_date": "20260625_P",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 11.1,
"ER": 8.0,
"R": 8.0,
"H": 12.0,
"BB": 5.0,
"SO": 12.0,
"HR": 2.0,
"BF": 50.0,
"Pitches": 194.0
},
"per_game": {
"IP": 2.1,
"ER": 1.6,
"R": 1.6,
"H": 2.4,
"BB": 1.0,
"SO": 2.4,
"HR": 0.4,
"BF": 10.0,
"Pitches": 38.8
},
"rates": {
"ERA": 6.3529,
"WHIP": 1.5,
"ER_per_IP": 0.70588,
"H_per_IP": 1.05882,
"BB_per_IP": 0.44118,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 22.2,
"ER": 9.0,
"R": 9.0,
"H": 15.0,
"BB": 9.0,
"SO": 23.0,
"HR": 3.0,
"BF": 91.0,
"Pitches": 366.0
},
"per_game": {
"IP": 2.1,
"ER": 0.9,
"R": 0.9,
"H": 1.5,
"BB": 0.9,
"SO": 2.3,
"HR": 0.3,
"BF": 9.1,
"Pitches": 36.6
},
"rates": {
"ERA": 3.5735,
"WHIP": 1.0588,
"ER_per_IP": 0.39706,
"H_per_IP": 0.66176,
"BB_per_IP": 0.39706,
"SO_per_IP": 1.01471,
"HR_per_IP": 0.13235
}
},
"season": {
"games": 24,
"totals": {
"IP": 51.2,
"ER": 19.0,
"R": 20.0,
"H": 42.0,
"BB": 15.0,
"SO": 46.0,
"HR": 6.0,
"BF": 215.0,
"Pitches": 868.0
},
"per_game": {
"IP": 2.0,
"ER": 0.7917,
"R": 0.8333,
"H": 1.75,
"BB": 0.625,
"SO": 1.9167,
"HR": 0.25,
"BF": 8.9583,
"Pitches": 36.1667
},
"rates": {
"ERA": 3.3097,
"WHIP": 1.1032,
"ER_per_IP": 0.36774,
"H_per_IP": 0.8129,
"BB_per_IP": 0.29032,
"SO_per_IP": 0.89032,
"HR_per_IP": 0.11613
}
}
},
"weighted_prediction": {
"predicted_IP": 2.0,
"predicted_ER": 1.02,
"predicted_H": 1.77,
"predicted_BB": 0.753,
"predicted_SO": 1.939,
"predicted_HR": 0.29,
"predicted_ERA": 4.6813,
"predicted_WHIP": 1.287
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4887,
"form_weight": 0.5113,
"form_reliability": 0.6717,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.23,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6717,
"prior_weight": 0.3283
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 2.0,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.02,
"final": 0.5215,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.77,
"final": 0.905,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.753,
"final": 0.385,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.939,
"final": 0.9914,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.29,
"final": 0.1483,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6813,
"final": 4.6813,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.287,
"final": 1.287,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Clayton Beeter |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0829 |
| ESPN Rank | 192 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.4225 |
| Season WHIP | 1.3099 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 440.0,
"runs_allowed": 443.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0345,
"avg_runs_scored": 5.0575,
"avg_runs_allowed": 5.092,
"offense_index": 1.1228,
"defense_index": 0.8846,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.6,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.0188
},
"opponent": {
"team": "PHI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 373.0,
"runs_allowed": 382.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1034,
"avg_runs_scored": 4.2874,
"avg_runs_allowed": 4.3908,
"offense_index": 0.9519,
"defense_index": 1.0258,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.6,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.037
},
"edges": {
"quality_edge": -0.0558,
"offense_edge": 0.1228,
"opponent_offense_edge": -0.0481,
"defense_strength": -0.1154,
"opponent_defense_weakness": -0.0258,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 1.0066,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "690925",
"profile": {
"available": true,
"pitcher_id": "690925",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 55.0,
"k_percent": 25.5,
"bb_percent": 15.7,
"woba": 0.278,
"xwoba": 0.296,
"sweet_spot_percent": 25.9,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 41.4,
"avg_best_speed": 79.2885,
"avg_hyper_speed": 93.7629,
"whiff_percent": 28.1,
"swing_percent": 44.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4382,
"command_and_miss": -0.0375,
"regression_edge": -0.5143,
"xwoba_edge": 0.5286,
"barrel_edge": 0.4111,
"hard_hit_edge": -0.4429,
"whiff_edge": 0.3214,
"bb_edge": -1.65,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "690925",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0829,
"sample_weight": 0.45,
"run_prevention_factor": 0.993,
"strikeout_factor": 1.013,
"walk_factor": 1.0594,
"homer_factor": 0.986,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690925",
"espn_id": 4313143,
"player_name": "Clayton Beeter",
"team": "WSH",
"role": "pitcher",
"espn_rank": 192,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 192,
"gp_value": 23.0,
"gp_rank": 166,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.4225,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 6.0,
"sv_rank": 23,
"hld_value": 3.0,
"hld_rank": 147,
"ip_value": 23.2,
"ip_rank": 356,
"h_value": 15.0,
"h_rank": 431,
"er_value": 9.0,
"er_rank": 383,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 16.0,
"bb_rank": 203,
"k_value": 26.0,
"k_rank": 316,
"k_per_9_value": 9.887324,
"k_per_9_rank": 23,
"whip_value": 1.3098,
"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": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0267,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0058,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 5,
"H": 9,
"BB": 6,
"SO": 13,
"HR": 0,
"ERA": 4.354838709677419,
"WHIP": 1.4516129032258063,
"K9": 11.32258064516129,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "690925",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.686,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4838,
"prior_weight": 0.5162
},
"role": "pitcher",
"player_id": "690925",
"report_date": "20260625_P",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 3.0,
"SO": 7.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.6,
"SO": 1.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.8
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3846,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 6.0,
"SO": 13.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 157.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.9,
"BB": 0.6,
"SO": 1.3,
"HR": 0.0,
"BF": 4.5,
"Pitches": 15.7
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.4516,
"ER_per_IP": 0.48387,
"H_per_IP": 0.87097,
"BB_per_IP": 0.58065,
"SO_per_IP": 1.25806,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 23.2,
"ER": 9.0,
"R": 9.0,
"H": 15.0,
"BB": 16.0,
"SO": 26.0,
"HR": 2.0,
"BF": 102.0,
"Pitches": 386.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3913,
"R": 0.3913,
"H": 0.6522,
"BB": 0.6957,
"SO": 1.1304,
"HR": 0.087,
"BF": 4.4348,
"Pitches": 16.7826
},
"rates": {
"ERA": 3.4225,
"WHIP": 1.3099,
"ER_per_IP": 0.38028,
"H_per_IP": 0.6338,
"BB_per_IP": 0.67606,
"SO_per_IP": 1.09859,
"HR_per_IP": 0.08451
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.427,
"predicted_H": 0.86,
"predicted_BB": 0.5,
"predicted_SO": 1.16,
"predicted_HR": 0.084,
"predicted_ERA": 3.8419,
"predicted_WHIP": 1.3603
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5681,
"form_weight": 0.4319,
"form_reliability": 0.4838,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.686,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4838,
"prior_weight": 0.5162
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.427,
"final": 0.1844,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.86,
"final": 0.3714,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.5,
"final": 0.216,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.16,
"final": 1.6372,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.084,
"final": 0.0363,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8419,
"final": 3.8419,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3603,
"final": 1.3603,
"source": "form_only"
}
}
}{
"available": false,
"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 | Gus Varland |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.4288 |
| ESPN Rank | 524 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.2472 |
| Season WHIP | 1.5843 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 440.0,
"runs_allowed": 443.0,
"run_differential": -3.0,
"run_differential_per_game": -0.0345,
"avg_runs_scored": 5.0575,
"avg_runs_allowed": 5.092,
"offense_index": 1.1228,
"defense_index": 0.8846,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.6,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.0188
},
"opponent": {
"team": "PHI",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 373.0,
"runs_allowed": 382.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1034,
"avg_runs_scored": 4.2874,
"avg_runs_allowed": 4.3908,
"offense_index": 0.9519,
"defense_index": 1.0258,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 4.6,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.037
},
"edges": {
"quality_edge": -0.0558,
"offense_edge": 0.1228,
"opponent_offense_edge": -0.0481,
"defense_strength": -0.1154,
"opponent_defense_weakness": -0.0258,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 1.0066,
"strikeout": 1.0022
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681402",
"profile": {
"available": true,
"pitcher_id": "681402",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 90.0,
"k_percent": 20.4,
"bb_percent": 10.9,
"woba": 0.374,
"xwoba": 0.367,
"sweet_spot_percent": 43.6,
"barrel_batted_rate": 14.0,
"hard_hit_percent": 48.9,
"avg_best_speed": 84.5728,
"avg_hyper_speed": 95.8014,
"whiff_percent": 22.8,
"swing_percent": 49.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -1.5562,
"command_and_miss": -0.3904,
"regression_edge": 0.2,
"xwoba_edge": -1.5,
"barrel_edge": -1.5222,
"hard_hit_edge": -1.5143,
"whiff_edge": -0.4357,
"bb_edge": -0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681402",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.4288,
"sample_weight": 0.45,
"run_prevention_factor": 1.0365,
"strikeout_factor": 0.9862,
"walk_factor": 1.0162,
"homer_factor": 1.1023,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681402",
"espn_id": 41552,
"player_name": "Gus Varland",
"team": "WSH",
"role": "pitcher",
"espn_rank": 524,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 524,
"gp_value": 31.0,
"gp_rank": 85,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 5.1573,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 6.0,
"sv_rank": 23,
"hld_value": 6.0,
"hld_rank": 79,
"ip_value": 29.2,
"ip_rank": 295,
"h_value": 35.0,
"h_rank": 186,
"er_value": 17.0,
"er_rank": 200,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 15.0,
"bb_rank": 214,
"k_value": 28.0,
"k_rank": 297,
"k_per_9_value": 8.494382,
"k_per_9_rank": 27,
"whip_value": 1.6853,
"whip_rank": null,
"war_value": -0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0164,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0164,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.046,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9938,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 5,
"H": 10,
"BB": 7,
"SO": 9,
"HR": 3,
"ERA": 4.821428571428572,
"WHIP": 1.8214285714285716,
"K9": 8.678571428571429,
"HR9": 2.8928571428571432,
"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-06-21T00:00:00"
}{
"available": false,
"pitcher_id": "681402",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.874,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"role": "pitcher",
"player_id": "681402",
"report_date": "20260625_P",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 3.0,
"SO": 7.0,
"HR": 3.0,
"BF": 27.0,
"Pitches": 112.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.6,
"H": 1.4,
"BB": 0.6,
"SO": 1.4,
"HR": 0.6,
"BF": 5.4,
"Pitches": 22.4
},
"rates": {
"ERA": 4.5,
"WHIP": 1.6667,
"ER_per_IP": 0.5,
"H_per_IP": 1.16667,
"BB_per_IP": 0.5,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 6.0,
"H": 12.0,
"BB": 7.0,
"SO": 9.0,
"HR": 3.0,
"BF": 48.0,
"Pitches": 208.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.7,
"SO": 0.9,
"HR": 0.3,
"BF": 4.8,
"Pitches": 20.8
},
"rates": {
"ERA": 5.4,
"WHIP": 1.9,
"ER_per_IP": 0.6,
"H_per_IP": 1.2,
"BB_per_IP": 0.7,
"SO_per_IP": 0.9,
"HR_per_IP": 0.3
}
},
"season": {
"games": 30,
"totals": {
"IP": 29.2,
"ER": 14.0,
"R": 15.0,
"H": 33.0,
"BB": 14.0,
"SO": 28.0,
"HR": 4.0,
"BF": 134.0,
"Pitches": 508.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4667,
"R": 0.5,
"H": 1.1,
"BB": 0.4667,
"SO": 0.9333,
"HR": 0.1333,
"BF": 4.4667,
"Pitches": 16.9333
},
"rates": {
"ERA": 4.2472,
"WHIP": 1.5843,
"ER_per_IP": 0.47191,
"H_per_IP": 1.11236,
"BB_per_IP": 0.47191,
"SO_per_IP": 0.94382,
"HR_per_IP": 0.13483
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.557,
"predicted_H": 1.164,
"predicted_BB": 0.509,
"predicted_SO": 1.072,
"predicted_HR": 0.281,
"predicted_ERA": 4.6413,
"predicted_WHIP": 1.5469
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5443,
"form_weight": 0.4557,
"form_reliability": 0.5402,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.874,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.557,
"final": 1.3424,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 1.164,
"final": 2.1633,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.509,
"final": 0.232,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.072,
"final": 1.0328,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.281,
"final": 0.1281,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6413,
"final": 4.6413,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5469,
"final": 1.5469,
"source": "form_only"
}
}
}{
"available": false,
"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.154 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.092 | 4.000 | 3.000 | Hitting_AB | 3.329 | 2.000 | 0.671 | 2.000 |
| predicted_AVG | 0.215 | 0.000 | 0.333 | Hitting_AVG | 0.248 | 0.500 | -0.248 | -0.500 |
| predicted_BB | 0.415 | 0.000 | 0.000 | Hitting_BB | 0.521 | 0.000 | -0.521 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_H | 0.330 | 0.000 | 1.000 | Hitting_H | 0.826 | 1.000 | -0.826 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.228 | 1.000 | -0.228 | -1.000 |
| predicted_OBP | 0.267 | 0.000 | 0.333 | Hitting_OBP | 0.363 | 0.500 | -0.363 | -0.500 |
| predicted_R | 0.538 | 0.000 | 1.000 | Hitting_R | 0.647 | 1.000 | -0.647 | -1.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.611 | 2.000 | -0.611 | -2.000 |
| predicted_SLG | 0.423 | 0.000 | 0.333 | Hitting_SLG | 0.514 | 2.000 | -0.514 | -2.000 |
| predicted_SO | 0.662 | 1.000 | 1.000 | Hitting_SO | 0.689 | 0.000 | 0.311 | 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.0920 -> 4.0000 (boost 0.9080, better) |
| Biggest Deboost | predicted_R: 0.5380 -> 0.0000 (deboost -0.5380, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 7 | 1 | 6 | 2 | predicted_RBI: 0.2800 -> 0.4437 (boost 0.1637, better) | predicted_AVG: 0.2150 -> 0.2092 (deboost -0.0058, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4344 -> 0.3366 (deboost -0.0978, 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.7346 -> 1.0000 (boost 0.2654, worse) | predicted_H: 0.4778 -> 0.0000 (deboost -0.4778, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.149 HR/AB=0.048 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 6 | consistency_constraints | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1488 -> 0.3330 (boost 0.1842, better) | - | 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_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_AVG: 0.3330 -> 0.1488 (deboost -0.1842, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678554",
"player_name": "Curtis Mead",
"position": "3B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0,
"predicted_AB": 3.092,
"predicted_AVG": 0.215,
"predicted_BB": 0.415,
"predicted_H": 0.33,
"predicted_HR": 0.09,
"predicted_OBP": 0.267,
"predicted_R": 0.538,
"predicted_RBI": 0.28,
"predicted_SLG": 0.423,
"predicted_SO": 0.662
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1348,
"predicted_3B": 0.0008,
"predicted_AB": 3.2111,
"predicted_AVG": 0.2092,
"predicted_BB": 0.3775,
"predicted_H": 0.4754,
"predicted_HBP": 0.057,
"predicted_HR": 0.1541,
"predicted_OBP": 0.2722,
"predicted_R": 0.5201,
"predicted_RBI": 0.4437,
"predicted_SLG": 0.4344,
"predicted_SO": 0.737
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.1348,
"delta": -0.0192,
"percent_delta": -0.1247,
"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.092,
"after": 3.2111,
"delta": 0.1191,
"percent_delta": 0.0385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2092,
"delta": -0.0058,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.3775,
"delta": -0.0375,
"percent_delta": -0.0904,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.4754,
"delta": 0.1454,
"percent_delta": 0.4406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1541,
"delta": 0.0641,
"percent_delta": 0.7122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2722,
"delta": 0.0052,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.5201,
"delta": -0.0179,
"percent_delta": -0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.4437,
"delta": 0.1637,
"percent_delta": 0.5846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4344,
"delta": 0.0114,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.662,
"after": 0.737,
"delta": 0.075,
"percent_delta": 0.1133,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 7,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.4437,
"delta": 0.1637,
"percent_delta": 0.5846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2092,
"delta": -0.0058,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1348,
"predicted_3B": 0.0008,
"predicted_AB": 3.2111,
"predicted_AVG": 0.1488,
"predicted_BB": 0.3787,
"predicted_H": 0.4778,
"predicted_HBP": 0.057,
"predicted_HR": 0.1555,
"predicted_OBP": 0.2386,
"predicted_R": 0.5238,
"predicted_RBI": 0.4469,
"predicted_SLG": 0.3366,
"predicted_SO": 0.7346
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1348,
"after": 0.1348,
"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.2111,
"after": 3.2111,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2092,
"after": 0.1488,
"delta": -0.0604,
"percent_delta": -0.2887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3775,
"after": 0.3787,
"delta": 0.0012,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4754,
"after": 0.4778,
"delta": 0.0024,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.057,
"after": 0.057,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1541,
"after": 0.1555,
"delta": 0.0014,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2722,
"after": 0.2386,
"delta": -0.0336,
"percent_delta": -0.1234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5201,
"after": 0.5238,
"delta": 0.0037,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4437,
"after": 0.4469,
"delta": 0.0032,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4344,
"after": 0.3366,
"delta": -0.0978,
"percent_delta": -0.2251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.737,
"after": 0.7346,
"delta": -0.0024,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4344,
"after": 0.3366,
"delta": -0.0978,
"percent_delta": -0.2251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.21), rates preserved: AVG=0.149 HR/AB=0.048",
"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.1348,
"after": 0.0,
"delta": -0.1348,
"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.2111,
"after": 3.0,
"delta": -0.2111,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3787,
"after": 0.0,
"delta": -0.3787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4778,
"after": 0.0,
"delta": -0.4778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1555,
"after": 0.0,
"delta": -0.1555,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4469,
"after": 0.0,
"delta": -0.4469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7346,
"after": 1.0,
"delta": 0.2654,
"percent_delta": 0.3613,
"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.7346,
"after": 1.0,
"delta": 0.2654,
"percent_delta": 0.3613,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4778,
"after": 0.0,
"delta": -0.4778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 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.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": 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.5238,
"after": 1.0,
"delta": 0.4762,
"percent_delta": 0.9091,
"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": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1488,
"after": 0.333,
"delta": 0.1842,
"percent_delta": 1.2379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2386,
"after": 0.333,
"delta": 0.0944,
"percent_delta": 0.3956,
"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.3366,
"after": 0.333,
"delta": -0.0036,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1488,
"after": 0.333,
"delta": 0.1842,
"percent_delta": 1.2379,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1488,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2386,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3366,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1488,
"delta": -0.1842,
"percent_delta": -0.5532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2386,
"delta": -0.0944,
"percent_delta": -0.2835,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3366,
"delta": 0.0036,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1488,
"delta": -0.1842,
"percent_delta": -0.5532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.092,
"after": 4.0,
"delta": 0.908,
"percent_delta": 0.2937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.1488,
"delta": -0.0662,
"percent_delta": -0.3079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2386,
"delta": -0.0284,
"percent_delta": -0.1064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.3366,
"delta": -0.0864,
"percent_delta": -0.2043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.662,
"after": 1.0,
"delta": 0.338,
"percent_delta": 0.5106,
"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.092,
"after": 4.0,
"delta": 0.908,
"percent_delta": 0.2937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.092 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.415 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.538 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 0.662 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.211 | 0.119 |
| predicted_AVG | 0.209 | -0.006 |
| predicted_BB | 0.378 | -0.037 |
| predicted_H | 0.475 | 0.145 |
| predicted_HBP | 0.057 | - |
| predicted_HR | 0.154 | 0.064 |
| predicted_OBP | 0.272 | 0.005 |
| predicted_R | 0.520 | -0.018 |
| predicted_RBI | 0.444 | 0.164 |
| predicted_SLG | 0.434 | 0.011 |
| predicted_SO | 0.737 | 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.135 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.211 | 0.000 |
| predicted_AVG | 0.149 | -0.060 |
| predicted_BB | 0.379 | 0.001 |
| predicted_H | 0.478 | 0.002 |
| predicted_HBP | 0.057 | 0.000 |
| predicted_HR | 0.155 | 0.001 |
| predicted_OBP | 0.239 | -0.034 |
| predicted_R | 0.524 | 0.004 |
| predicted_RBI | 0.447 | 0.003 |
| predicted_SLG | 0.337 | -0.098 |
| predicted_SO | 0.735 | -0.002 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.149 HR/AB=0.048
| 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.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.135 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.211 |
| predicted_AVG | 0.333 | 0.184 |
| predicted_BB | 0.000 | -0.379 |
| predicted_H | 1.000 | 0.522 |
| predicted_HR | 0.000 | -0.155 |
| predicted_OBP | 0.333 | 0.094 |
| predicted_R | 1.000 | 0.476 |
| predicted_RBI | 0.000 | -0.447 |
| predicted_SLG | 0.333 | -0.004 |
| predicted_SO | 1.000 | 0.265 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 0.000 | 7.000 | 0.1500 | 0.1500 | 0.4500 | 0.1500 | 0.1000 | 0.2000 | 0.0000 | 0.3500 |
| last_10 | 0.20 | 10 | - | 33.000 | 5.000 | 0.000 | 0.000 | 3.000 | 9.000 | 4.000 | 3.000 | 9.000 | 0.1515 | 0.2432 | 0.4242 | 0.1515 | 0.0909 | 0.2727 | 0.0909 | 0.2727 |
| season | 0.60 | 65 | - | 201.000 | 45.000 | 10.000 | 0.000 | 13.000 | 38.000 | 35.000 | 27.000 | 43.000 | 0.2239 | 0.3276 | 0.4677 | 0.2239 | 0.0647 | 0.1890 | 0.1343 | 0.2139 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3780 |
| predicted_AVG | 0.2010 |
| predicted_BB | 0.3250 |
| predicted_H | 0.6790 |
| predicted_HBP | 0.0570 |
| predicted_HR | 0.2440 |
| predicted_OBP | 0.2796 |
| predicted_R | 0.4950 |
| predicted_RBI | 0.6730 |
| predicted_SLG | 0.4503 |
| predicted_SO | 0.8420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1080 | 0.1348 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0920 | 3.3780 | 3.2111 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2010 | 0.2092 | model_form_blend |
| predicted_BB | 0.4150 | 0.3250 | 0.3775 | model_form_blend |
| predicted_H | 0.3300 | 0.6790 | 0.4754 | model_form_blend |
| predicted_HBP | - | 0.0570 | 0.0570 | form_only |
| predicted_HR | 0.0900 | 0.2440 | 0.1541 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2796 | 0.2722 | model_form_blend |
| predicted_R | 0.5380 | 0.4950 | 0.5201 | model_form_blend |
| predicted_RBI | 0.2800 | 0.6730 | 0.4437 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4503 | 0.4344 | model_form_blend |
| predicted_SO | 0.6620 | 0.8420 | 0.7370 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| 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-3B |
| gameID | 20260624_PHI@WAS |
| game_type | ph |
| mlbID | 678554 |
| note | Homered for Vivas in the 6th. |
| playerID | 678554 |
| playerName | Curtis Mead |
| pos | 1B |
| started | False |
| startingPosition | PH |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-24 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.348 |
| sl_xwoba | 0.361 |
| sl_xba | 0.256 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 16.7 |
| sl_swing_percent | 41.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.235 | 2.000 | 0.000 | Hitting_2B | 0.269 | 0.000 | 1.731 | 2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.360 | 4.000 | 4.000 | Hitting_AB | 3.859 | 5.000 | 0.141 | -1.000 |
| predicted_AVG | 0.230 | 0.500 | 0.250 | Hitting_AVG | 0.286 | 0.000 | 0.214 | 0.500 |
| predicted_BB | 0.753 | 1.000 | 1.000 | Hitting_BB | 0.859 | 0.000 | 0.141 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 1.000 | 2.000 | 1.000 | Hitting_H | 1.103 | 0.000 | 0.897 | 2.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_OBP | 0.324 | 0.600 | 0.400 | Hitting_OBP | 0.424 | 0.000 | 0.176 | 0.600 |
| predicted_R | 0.864 | 1.000 | 1.000 | Hitting_R | 0.969 | 0.000 | 0.031 | 1.000 |
| predicted_RBI | 0.550 | 0.000 | 0.000 | Hitting_RBI | 0.703 | 0.000 | -0.703 | 0.000 |
| predicted_SLG | 0.444 | 1.000 | 0.250 | Hitting_SLG | 0.570 | 0.000 | 0.430 | 1.000 |
| predicted_SO | 1.395 | 0.000 | 1.000 | Hitting_SO | 1.403 | 3.000 | -1.403 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.2350 -> 2.0000 (boost 1.7650, better) |
| Biggest Deboost | predicted_SO: 1.3950 -> 0.0000 (deboost -1.3950, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.3600 -> 4.1762 (deboost -0.1838, worse) | Final model input calibrated with local 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.3252 -> 0.3391 (boost 0.0139, better) | predicted_SLG: 0.4391 -> 0.4320 (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 | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.6871 -> 1.0000 (boost 0.3129, better) | predicted_RBI: 0.5362 -> 0.0000 (deboost -0.5362, worse) | AB rounded to 4 (raw=4.36), rates preserved: AVG=0.221 HR/AB=0.045 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8033 -> 1.0000 (boost 0.1967, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3391 -> 0.4000 (boost 0.0609, better) | predicted_SLG: 0.4320 -> 0.2500 (deboost -0.1820, 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 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4320 (boost 0.1820, better) | predicted_OBP: 0.4000 -> 0.3391 (deboost -0.0609, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695578",
"player_name": "James Wood",
"position": "DH",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0,
"predicted_AB": 4.36,
"predicted_AVG": 0.23,
"predicted_BB": 0.753,
"predicted_H": 1.0,
"predicted_HR": 0.21,
"predicted_OBP": 0.324,
"predicted_R": 0.864,
"predicted_RBI": 0.55,
"predicted_SLG": 0.444,
"predicted_SO": 1.395
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2586,
"predicted_3B": 0.0004,
"predicted_AB": 4.1762,
"predicted_AVG": 0.2296,
"predicted_BB": 0.6849,
"predicted_H": 0.9572,
"predicted_HBP": 0.031,
"predicted_HR": 0.1924,
"predicted_OBP": 0.3252,
"predicted_R": 0.7976,
"predicted_RBI": 0.5324,
"predicted_SLG": 0.4391,
"predicted_SO": 1.4169
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.2586,
"delta": 0.0236,
"percent_delta": 0.1004,
"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.36,
"after": 4.1762,
"delta": -0.1838,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2296,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.753,
"after": 0.6849,
"delta": -0.0681,
"percent_delta": -0.0904,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9572,
"delta": -0.0428,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.1924,
"delta": -0.0176,
"percent_delta": -0.0838,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3252,
"delta": 0.0012,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.864,
"after": 0.7976,
"delta": -0.0664,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5324,
"delta": -0.0176,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4391,
"delta": -0.0049,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.395,
"after": 1.4169,
"delta": 0.0219,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.36,
"after": 4.1762,
"delta": -0.1838,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2586,
"predicted_3B": 0.0004,
"predicted_AB": 4.1762,
"predicted_AVG": 0.2303,
"predicted_BB": 0.6871,
"predicted_H": 0.962,
"predicted_HBP": 0.031,
"predicted_HR": 0.1942,
"predicted_OBP": 0.3391,
"predicted_R": 0.8033,
"predicted_RBI": 0.5362,
"predicted_SLG": 0.432,
"predicted_SO": 1.4124
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2586,
"after": 0.2586,
"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.1762,
"after": 4.1762,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2296,
"after": 0.2303,
"delta": 0.0007,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6849,
"after": 0.6871,
"delta": 0.0022,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9572,
"after": 0.962,
"delta": 0.0048,
"percent_delta": 0.005,
"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.1924,
"after": 0.1942,
"delta": 0.0018,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3252,
"after": 0.3391,
"delta": 0.0139,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7976,
"after": 0.8033,
"delta": 0.0057,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5324,
"after": 0.5362,
"delta": 0.0038,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4391,
"after": 0.432,
"delta": -0.0071,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4169,
"after": 1.4124,
"delta": -0.0045,
"percent_delta": -0.0032,
"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.3252,
"after": 0.3391,
"delta": 0.0139,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4391,
"after": 0.432,
"delta": -0.0071,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.36), rates preserved: AVG=0.221 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2586,
"after": 0.0,
"delta": -0.2586,
"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.1762,
"after": 4.0,
"delta": -0.1762,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6871,
"after": 1.0,
"delta": 0.3129,
"percent_delta": 0.4554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.962,
"after": 1.0,
"delta": 0.038,
"percent_delta": 0.0395,
"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.1942,
"after": 0.0,
"delta": -0.1942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5362,
"after": 0.0,
"delta": -0.5362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4124,
"after": 1.0,
"delta": -0.4124,
"percent_delta": -0.292,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6871,
"after": 1.0,
"delta": 0.3129,
"percent_delta": 0.4554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5362,
"after": 0.0,
"delta": -0.5362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.8033,
"after": 1.0,
"delta": 0.1967,
"percent_delta": 0.2449,
"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.8033,
"after": 1.0,
"delta": 0.1967,
"percent_delta": 0.2449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2303,
"after": 0.25,
"delta": 0.0197,
"percent_delta": 0.0855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3391,
"after": 0.4,
"delta": 0.0609,
"percent_delta": 0.1796,
"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.432,
"after": 0.25,
"delta": -0.182,
"percent_delta": -0.4213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3391,
"after": 0.4,
"delta": 0.0609,
"percent_delta": 0.1796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.25,
"delta": -0.182,
"percent_delta": -0.4213,
"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": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"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": 4.0,
"predicted_AVG": 0.2303,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3391,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.432,
"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": 4.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.2303,
"delta": -0.0197,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3391,
"delta": -0.0609,
"percent_delta": -0.1523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.432,
"delta": 0.182,
"percent_delta": 0.7279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.432,
"delta": 0.182,
"percent_delta": 0.7279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3391,
"delta": -0.0609,
"percent_delta": -0.1523,
"direction": "deboost",
"projection_effect": "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": 2.0,
"delta": 1.765,
"percent_delta": 7.5106,
"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.36,
"after": 4.0,
"delta": -0.36,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2303,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.753,
"after": 1.0,
"delta": 0.247,
"percent_delta": 0.328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3391,
"delta": 0.0151,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.864,
"after": 1.0,
"delta": 0.136,
"percent_delta": 0.1574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.432,
"delta": -0.012,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.395,
"after": 0.0,
"delta": -1.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.235,
"after": 2.0,
"delta": 1.765,
"percent_delta": 7.5106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.395,
"after": 0.0,
"delta": -1.395,
"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.235 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.360 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.753 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.864 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.444 | - |
| predicted_SO | 1.395 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.000 | 0.000 |
| predicted_AB | 4.176 | -0.184 |
| predicted_AVG | 0.230 | -0.000 |
| predicted_BB | 0.685 | -0.068 |
| predicted_H | 0.957 | -0.043 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.192 | -0.018 |
| predicted_OBP | 0.325 | 0.001 |
| predicted_R | 0.798 | -0.066 |
| predicted_RBI | 0.532 | -0.018 |
| predicted_SLG | 0.439 | -0.005 |
| predicted_SO | 1.417 | 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.259 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.176 | 0.000 |
| predicted_AVG | 0.230 | 0.001 |
| predicted_BB | 0.687 | 0.002 |
| predicted_H | 0.962 | 0.005 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.194 | 0.002 |
| predicted_OBP | 0.339 | 0.014 |
| predicted_R | 0.803 | 0.006 |
| predicted_RBI | 0.536 | 0.004 |
| predicted_SLG | 0.432 | -0.007 |
| predicted_SO | 1.412 | -0.004 |
AB rounded to 4 (raw=4.36), rates preserved: AVG=0.221 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.259 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.176 |
| predicted_AVG | 0.250 | 0.020 |
| predicted_BB | 1.000 | 0.313 |
| predicted_H | 1.000 | 0.038 |
| predicted_HR | 0.000 | -0.194 |
| predicted_OBP | 0.400 | 0.061 |
| predicted_R | 1.000 | 0.197 |
| predicted_RBI | 0.000 | -0.536 |
| predicted_SLG | 0.250 | -0.182 |
| predicted_SO | 1.000 | -0.412 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 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 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 9.000 | 0.1429 | 0.2083 | 0.2381 | 0.1429 | 0.0000 | 0.0476 | 0.0952 | 0.4286 |
| last_10 | 0.20 | 10 | - | 40.000 | 8.000 | 4.000 | 0.000 | 1.000 | 5.000 | 6.000 | 4.000 | 15.000 | 0.2000 | 0.2609 | 0.3750 | 0.2000 | 0.0250 | 0.1250 | 0.1000 | 0.3750 |
| season | 0.60 | 81 | - | 310.000 | 82.000 | 19.000 | 0.000 | 20.000 | 49.000 | 70.000 | 61.000 | 113.000 | 0.2645 | 0.3899 | 0.5194 | 0.2645 | 0.0645 | 0.1581 | 0.1968 | 0.3645 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2900 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9310 |
| predicted_AVG | 0.2290 |
| predicted_BB | 0.5940 |
| predicted_H | 0.9000 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.1690 |
| predicted_OBP | 0.3267 |
| predicted_R | 0.7090 |
| predicted_RBI | 0.5090 |
| predicted_SLG | 0.4325 |
| predicted_SO | 1.4460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.2900 | 0.2586 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3600 | 3.9310 | 4.1762 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2290 | 0.2296 | model_form_blend |
| predicted_BB | 0.7530 | 0.5940 | 0.6849 | model_form_blend |
| predicted_H | 1.0000 | 0.9000 | 0.9572 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.2100 | 0.1690 | 0.1924 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3267 | 0.3252 | model_form_blend |
| predicted_R | 0.8640 | 0.7090 | 0.7976 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5090 | 0.5324 | model_form_blend |
| predicted_SLG | 0.4440 | 0.4325 | 0.4391 | model_form_blend |
| predicted_SO | 1.3950 | 1.4460 | 1.4169 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 290 |
| Season rows before report date | 290 |
| 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 | 4 |
| H | 2 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.265 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 695578 |
| playerID | 695578 |
| playerName | James Wood |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-24 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 16.2 |
| sl_woba | 0.389 |
| sl_xwoba | 0.424 |
| sl_xba | 0.276 |
| sl_xslg | 0.604 |
| sl_sweet_spot_percent | 42.2 |
| sl_barrel_batted_rate | 23.6 |
| sl_hard_hit_percent | 60.8 |
| sl_exit_velocity_avg | 95.8 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 32.3 |
| sl_swing_percent | 38.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.133 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.100 | 4.000 | 4.000 | Hitting_AB | 3.981 | 4.000 | 0.019 | 0.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_BB | 0.067 | 0.000 | 0.000 | Hitting_BB | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 0.907 | 0.000 | -0.907 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_OBP | 0.292 | 0.000 | 0.250 | Hitting_OBP | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_R | 0.567 | 0.000 | 1.000 | Hitting_R | 0.370 | 1.000 | -0.370 | -1.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_SLG | 0.417 | 0.000 | 0.250 | Hitting_SLG | 0.377 | 0.000 | -0.377 | 0.000 |
| predicted_SO | 0.833 | 0.000 | 1.000 | Hitting_SO | 0.778 | 1.000 | -0.778 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2887 -> 0.2538 (deboost -0.0349, 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.5790 -> 1.0000 (boost 0.4210, better) | predicted_HR: 0.1654 -> 0.0000 (deboost -0.1654, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.237 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6190 -> 1.0000 (boost 0.3810, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2396 -> 0.2500 (boost 0.0104, better) | predicted_SLG: 0.4032 -> 0.2500 (deboost -0.1532, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4032 (boost 0.1532, better) | predicted_AVG: 0.2500 -> 0.2396 (deboost -0.0104, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686611",
"player_name": "Dylan Crews",
"position": "RF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.0,
"predicted_AB": 4.1,
"predicted_AVG": 0.235,
"predicted_BB": 0.067,
"predicted_H": 0.96,
"predicted_HR": 0.16,
"predicted_OBP": 0.292,
"predicted_R": 0.567,
"predicted_RBI": 0.56,
"predicted_SLG": 0.417,
"predicted_SO": 0.833
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.164,
"predicted_3B": 0.0012,
"predicted_AB": 4.0501,
"predicted_AVG": 0.239,
"predicted_BB": 0.0768,
"predicted_H": 0.9655,
"predicted_HBP": 0.119,
"predicted_HR": 0.1639,
"predicted_OBP": 0.2887,
"predicted_R": 0.6146,
"predicted_RBI": 0.5749,
"predicted_SLG": 0.4215,
"predicted_SO": 0.8546
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.164,
"delta": 0.031,
"percent_delta": 0.2331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 4.0501,
"delta": -0.0499,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.239,
"delta": 0.004,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.067,
"after": 0.0768,
"delta": 0.0098,
"percent_delta": 0.1463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9655,
"delta": 0.0055,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1639,
"delta": 0.0039,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2887,
"delta": -0.0033,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.567,
"after": 0.6146,
"delta": 0.0476,
"percent_delta": 0.084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5749,
"delta": 0.0149,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4215,
"delta": 0.0045,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8546,
"delta": 0.0216,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 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.164,
"predicted_3B": 0.0012,
"predicted_AB": 4.0501,
"predicted_AVG": 0.2396,
"predicted_BB": 0.077,
"predicted_H": 0.9703,
"predicted_HBP": 0.119,
"predicted_HR": 0.1654,
"predicted_OBP": 0.2538,
"predicted_R": 0.619,
"predicted_RBI": 0.579,
"predicted_SLG": 0.4032,
"predicted_SO": 0.8519
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0501,
"after": 4.0501,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2396,
"delta": 0.0006,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0768,
"after": 0.077,
"delta": 0.0002,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9655,
"after": 0.9703,
"delta": 0.0048,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.119,
"after": 0.119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1639,
"after": 0.1654,
"delta": 0.0015,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2887,
"after": 0.2538,
"delta": -0.0349,
"percent_delta": -0.1209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6146,
"after": 0.619,
"delta": 0.0044,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5749,
"after": 0.579,
"delta": 0.0041,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4215,
"after": 0.4032,
"delta": -0.0183,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8546,
"after": 0.8519,
"delta": -0.0027,
"percent_delta": -0.0032,
"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.2887,
"after": 0.2538,
"delta": -0.0349,
"percent_delta": -0.1209,
"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.237 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0501,
"after": 4.0,
"delta": -0.0501,
"percent_delta": -0.0124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9703,
"after": 1.0,
"delta": 0.0297,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1654,
"after": 0.0,
"delta": -0.1654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.579,
"after": 1.0,
"delta": 0.421,
"percent_delta": 0.7271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8519,
"after": 1.0,
"delta": 0.1481,
"percent_delta": 0.1738,
"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.579,
"after": 1.0,
"delta": 0.421,
"percent_delta": 0.7271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1654,
"after": 0.0,
"delta": -0.1654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"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.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2396,
"after": 0.25,
"delta": 0.0104,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2538,
"after": 0.25,
"delta": -0.0038,
"percent_delta": -0.015,
"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.4032,
"after": 0.25,
"delta": -0.1532,
"percent_delta": -0.38,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2396,
"after": 0.25,
"delta": 0.0104,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4032,
"after": 0.25,
"delta": -0.1532,
"percent_delta": -0.38,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2396,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2538,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4032,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2396,
"delta": -0.0104,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2538,
"delta": 0.0038,
"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.25,
"after": 0.4032,
"delta": 0.1532,
"percent_delta": 0.6128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4032,
"delta": 0.1532,
"percent_delta": 0.6128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2396,
"delta": -0.0104,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 4.0,
"delta": -0.1,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2396,
"delta": 0.0046,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2538,
"delta": -0.0382,
"percent_delta": -0.1308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.567,
"after": 0.0,
"delta": -0.567,
"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.417,
"after": 0.4032,
"delta": -0.0138,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.0,
"delta": -0.833,
"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": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.067 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.567 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.833 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | 0.031 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.050 | -0.050 |
| predicted_AVG | 0.239 | 0.004 |
| predicted_BB | 0.077 | 0.010 |
| predicted_H | 0.966 | 0.006 |
| predicted_HBP | 0.119 | - |
| predicted_HR | 0.164 | 0.004 |
| predicted_OBP | 0.289 | -0.003 |
| predicted_R | 0.615 | 0.048 |
| predicted_RBI | 0.575 | 0.015 |
| predicted_SLG | 0.421 | 0.005 |
| predicted_SO | 0.855 | 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.164 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.050 | 0.000 |
| predicted_AVG | 0.240 | 0.001 |
| predicted_BB | 0.077 | 0.000 |
| predicted_H | 0.970 | 0.005 |
| predicted_HBP | 0.119 | 0.000 |
| predicted_HR | 0.165 | 0.002 |
| predicted_OBP | 0.254 | -0.035 |
| predicted_R | 0.619 | 0.004 |
| predicted_RBI | 0.579 | 0.004 |
| predicted_SLG | 0.403 | -0.018 |
| predicted_SO | 0.852 | -0.003 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.237 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.164 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.050 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.000 | -0.077 |
| predicted_H | 1.000 | 0.030 |
| predicted_HR | 0.000 | -0.165 |
| predicted_OBP | 0.250 | -0.004 |
| predicted_R | 1.000 | 0.381 |
| predicted_RBI | 1.000 | 0.421 |
| predicted_SLG | 0.250 | -0.153 |
| predicted_SO | 1.000 | 0.148 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 7.000 | 2.000 | 0.000 | 1.000 | 3.000 | 6.000 | 0.000 | 6.000 | 0.3333 | 0.3636 | 0.5714 | 0.3333 | 0.0476 | 0.1429 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 3.000 | 0.000 | 2.000 | 8.000 | 8.000 | 0.000 | 8.000 | 0.2500 | 0.2683 | 0.4750 | 0.2500 | 0.0500 | 0.2000 | 0.0000 | 0.2000 |
| season | 0.60 | 30 | - | 118.000 | 25.000 | 4.000 | 0.000 | 5.000 | 17.000 | 17.000 | 2.000 | 25.000 | 0.2119 | 0.2500 | 0.3729 | 0.2119 | 0.0424 | 0.1441 | 0.0169 | 0.2119 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2120 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.9730 |
| predicted_AVG | 0.2451 |
| predicted_BB | 0.0920 |
| predicted_H | 0.9740 |
| predicted_HBP | 0.1190 |
| predicted_HR | 0.1700 |
| predicted_OBP | 0.2836 |
| predicted_R | 0.6880 |
| predicted_RBI | 0.5980 |
| predicted_SLG | 0.4285 |
| predicted_SO | 0.8880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.2120 | 0.1640 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 4.1000 | 3.9730 | 4.0501 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2451 | 0.2390 | model_form_blend |
| predicted_BB | 0.0670 | 0.0920 | 0.0768 | model_form_blend |
| predicted_H | 0.9600 | 0.9740 | 0.9655 | model_form_blend |
| predicted_HBP | - | 0.1190 | 0.1190 | form_only |
| predicted_HR | 0.1600 | 0.1700 | 0.1639 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2836 | 0.2887 | model_form_blend |
| predicted_R | 0.5670 | 0.6880 | 0.6146 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5980 | 0.5749 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4285 | 0.4215 | model_form_blend |
| predicted_SO | 0.8330 | 0.8880 | 0.8546 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 54 |
| Season rows before report date | 54 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.212 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | CF |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 686611 |
| playerID | 686611 |
| playerName | Dylan Crews |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 1.6 |
| sl_woba | 0.273 |
| sl_xwoba | 0.332 |
| sl_xba | 0.264 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 44.1 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 25.1 |
| 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.214 | 0.000 | 0.000 | Hitting_2B | 0.143 | 0.000 | -0.143 | 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.314 | 3.000 | 0.686 | 0.000 |
| predicted_AVG | 0.289 | 0.333 | 0.333 | Hitting_AVG | 0.185 | 0.333 | 0.148 | 0.000 |
| predicted_BB | 0.357 | 1.000 | 0.000 | Hitting_BB | 0.371 | 0.000 | 0.629 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.540 | 1.000 | 1.000 | Hitting_H | 0.429 | 1.000 | 0.571 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.309 | 0.500 | 0.333 | Hitting_OBP | 0.298 | 0.333 | 0.202 | 0.167 |
| predicted_R | 0.286 | 0.000 | 0.000 | Hitting_R | 0.229 | 1.000 | -0.229 | -1.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_SLG | 0.359 | 0.333 | 0.333 | Hitting_SLG | 0.247 | 0.333 | 0.086 | 0.000 |
| predicted_SO | 0.714 | 0.000 | 1.000 | Hitting_SO | 0.571 | 2.000 | -0.571 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.3570 -> 1.0000 (boost 0.6430, better) |
| Biggest Deboost | predicted_SO: 0.7140 -> 0.0000 (deboost -0.7140, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.5000 -> 2.6600 (boost 0.1600, better) | predicted_AVG: 0.2890 -> 0.2697 (deboost -0.0193, worse) | Final model input calibrated with local 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.3550 -> 0.3654 (boost 0.0104, better) | predicted_AVG: 0.2697 -> 0.2219 (deboost -0.0478, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.5903 -> 1.0000 (boost 0.4097, better) | predicted_RBI: 0.3494 -> 0.0000 (deboost -0.3494, worse) | AB rounded to 3 (raw=2.66), rates preserved: AVG=0.222 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3155 -> 0.0000 (deboost -0.3155, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2219 -> 0.3330 (boost 0.1111, better) | predicted_SLG: 0.3654 -> 0.3330 (deboost -0.0324, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3654 (boost 0.0324, better) | predicted_AVG: 0.3330 -> 0.2219 (deboost -0.1111, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665953",
"player_name": "Andrés Chaparro",
"position": "1B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.214,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.289,
"predicted_BB": 0.357,
"predicted_H": 0.54,
"predicted_HR": 0.06,
"predicted_OBP": 0.309,
"predicted_R": 0.286,
"predicted_RBI": 0.32,
"predicted_SLG": 0.359,
"predicted_SO": 0.714
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2124,
"predicted_3B": 0.0016,
"predicted_AB": 2.66,
"predicted_AVG": 0.2697,
"predicted_BB": 0.3443,
"predicted_H": 0.5874,
"predicted_HBP": 0.012,
"predicted_HR": 0.0548,
"predicted_OBP": 0.3085,
"predicted_R": 0.3133,
"predicted_RBI": 0.3469,
"predicted_SLG": 0.355,
"predicted_SO": 0.7448
},
"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.0,
"after": 0.0016,
"delta": 0.0016,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.66,
"delta": 0.16,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2697,
"delta": -0.0193,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.3443,
"delta": -0.0127,
"percent_delta": -0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.5874,
"delta": 0.0474,
"percent_delta": 0.0878,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0548,
"delta": -0.0052,
"percent_delta": -0.0867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3085,
"delta": -0.0005,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.3133,
"delta": 0.0273,
"percent_delta": 0.0955,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3469,
"delta": 0.0269,
"percent_delta": 0.0841,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.355,
"delta": -0.004,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.7448,
"delta": 0.0308,
"percent_delta": 0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.66,
"delta": 0.16,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2697,
"delta": -0.0193,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 15
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2124,
"predicted_3B": 0.0016,
"predicted_AB": 2.66,
"predicted_AVG": 0.2219,
"predicted_BB": 0.3454,
"predicted_H": 0.5903,
"predicted_HBP": 0.012,
"predicted_HR": 0.0553,
"predicted_OBP": 0.3114,
"predicted_R": 0.3155,
"predicted_RBI": 0.3494,
"predicted_SLG": 0.3654,
"predicted_SO": 0.7424
},
"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.0016,
"after": 0.0016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.66,
"after": 2.66,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2697,
"after": 0.2219,
"delta": -0.0478,
"percent_delta": -0.1772,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3443,
"after": 0.3454,
"delta": 0.0011,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5874,
"after": 0.5903,
"delta": 0.0029,
"percent_delta": 0.0049,
"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.0548,
"after": 0.0553,
"delta": 0.0005,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3085,
"after": 0.3114,
"delta": 0.0029,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3133,
"after": 0.3155,
"delta": 0.0022,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3469,
"after": 0.3494,
"delta": 0.0025,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3654,
"delta": 0.0104,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7448,
"after": 0.7424,
"delta": -0.0024,
"percent_delta": -0.0032,
"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.355,
"after": 0.3654,
"delta": 0.0104,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2697,
"after": 0.2219,
"delta": -0.0478,
"percent_delta": -0.1772,
"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.222 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.2124,
"after": 0.0,
"delta": -0.2124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0,
"delta": -0.0016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.66,
"after": 3.0,
"delta": 0.34,
"percent_delta": 0.1278,
"direction": "boost",
"projection_effect": "better",
"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": 0.5903,
"after": 1.0,
"delta": 0.4097,
"percent_delta": 0.6941,
"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.0553,
"after": 0.0,
"delta": -0.0553,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3494,
"after": 0.0,
"delta": -0.3494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7424,
"after": 1.0,
"delta": 0.2576,
"percent_delta": 0.347,
"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.5903,
"after": 1.0,
"delta": 0.4097,
"percent_delta": 0.6941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3494,
"after": 0.0,
"delta": -0.3494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3155,
"after": 0.0,
"delta": -0.3155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3155,
"after": 0.0,
"delta": -0.3155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2219,
"after": 0.333,
"delta": 0.1111,
"percent_delta": 0.5007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3114,
"after": 0.333,
"delta": 0.0216,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3654,
"after": 0.333,
"delta": -0.0324,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2219,
"after": 0.333,
"delta": 0.1111,
"percent_delta": 0.5007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3654,
"after": 0.333,
"delta": -0.0324,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2219,
"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.3114,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3654,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2219,
"delta": -0.1111,
"percent_delta": -0.3335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3114,
"delta": -0.0216,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3654,
"delta": 0.0324,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3654,
"delta": 0.0324,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2219,
"delta": -0.1111,
"percent_delta": -0.3335,
"direction": "deboost",
"projection_effect": "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.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.289,
"after": 0.2219,
"delta": -0.0671,
"percent_delta": -0.2322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 1.0,
"delta": 0.643,
"percent_delta": 1.8011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 1.0,
"delta": 0.46,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3114,
"delta": 0.0024,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.3654,
"delta": 0.0064,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.357,
"after": 1.0,
"delta": 0.643,
"percent_delta": 1.8011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.357 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.286 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.359 | - |
| predicted_SO | 0.714 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | -0.002 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.660 | 0.160 |
| predicted_AVG | 0.270 | -0.019 |
| predicted_BB | 0.344 | -0.013 |
| predicted_H | 0.587 | 0.047 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.055 | -0.005 |
| predicted_OBP | 0.308 | -0.001 |
| predicted_R | 0.313 | 0.027 |
| predicted_RBI | 0.347 | 0.027 |
| predicted_SLG | 0.355 | -0.004 |
| predicted_SO | 0.745 | 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.212 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.660 | 0.000 |
| predicted_AVG | 0.222 | -0.048 |
| predicted_BB | 0.345 | 0.001 |
| predicted_H | 0.590 | 0.003 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.055 | 0.001 |
| predicted_OBP | 0.311 | 0.003 |
| predicted_R | 0.316 | 0.002 |
| predicted_RBI | 0.349 | 0.003 |
| predicted_SLG | 0.365 | 0.010 |
| predicted_SO | 0.742 | -0.002 |
AB rounded to 3 (raw=2.66), rates preserved: AVG=0.222 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.212 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.340 |
| predicted_AVG | 0.333 | 0.111 |
| predicted_BB | 0.000 | -0.345 |
| predicted_H | 1.000 | 0.410 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.333 | 0.022 |
| predicted_R | 0.000 | -0.316 |
| predicted_RBI | 0.000 | -0.349 |
| predicted_SLG | 0.333 | -0.032 |
| predicted_SO | 1.000 | 0.258 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 0.2500 | 0.3077 | 0.3333 | 0.2500 | 0.0000 | 0.0833 | 0.0833 | 0.3333 |
| last_10 | 0.20 | 10 | - | 23.000 | 5.000 | 2.000 | 0.000 | 0.000 | 4.000 | 2.000 | 3.000 | 8.000 | 0.2174 | 0.3077 | 0.3043 | 0.2174 | 0.0000 | 0.1739 | 0.1304 | 0.3478 |
| season | 0.60 | 15 | - | 35.000 | 7.000 | 3.000 | 0.000 | 0.000 | 5.000 | 4.000 | 5.000 | 10.000 | 0.2000 | 0.3000 | 0.2857 | 0.2000 | 0.0000 | 0.1429 | 0.1429 | 0.2857 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2090 |
| predicted_3B | 0.0050 |
| predicted_AB | 2.9930 |
| predicted_AVG | 0.2294 |
| predicted_BB | 0.3180 |
| predicted_H | 0.6860 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0440 |
| predicted_OBP | 0.3074 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.4030 |
| predicted_SLG | 0.3466 |
| predicted_SO | 0.8090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.2090 | 0.2124 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0016 | model_form_blend |
| predicted_AB | 2.5000 | 2.9930 | 2.6600 | model_form_blend |
| predicted_AVG | 0.2890 | 0.2294 | 0.2697 | model_form_blend |
| predicted_BB | 0.3570 | 0.3180 | 0.3443 | model_form_blend |
| predicted_H | 0.5400 | 0.6860 | 0.5874 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0600 | 0.0440 | 0.0548 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3074 | 0.3085 | model_form_blend |
| predicted_R | 0.2860 | 0.3700 | 0.3133 | model_form_blend |
| predicted_RBI | 0.3200 | 0.4030 | 0.3469 | model_form_blend |
| predicted_SLG | 0.3590 | 0.3466 | 0.3550 | model_form_blend |
| predicted_SO | 0.7140 | 0.8090 | 0.7448 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 15 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260623_PHI@WAS |
| game_type | full |
| mlbID | 665953 |
| playerID | 665953 |
| playerName | Andrés Chaparro |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-23 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 20.5 |
| sl_woba | 0.31 |
| sl_xwoba | 0.358 |
| sl_xba | 0.238 |
| sl_xslg | 0.393 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 10.3 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 40.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 | 0.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.564 | 4.000 | 3.000 | Hitting_AB | 2.904 | 2.000 | 1.096 | 2.000 |
| predicted_AVG | 0.300 | 0.500 | 0.333 | Hitting_AVG | 0.263 | 0.500 | 0.237 | 0.000 |
| predicted_BB | 0.255 | 0.000 | 0.000 | Hitting_BB | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.680 | 2.000 | 1.000 | Hitting_H | 0.765 | 1.000 | 1.235 | 1.000 |
| predicted_HR | 0.110 | 1.000 | 0.000 | Hitting_HR | 0.044 | 1.000 | 0.956 | 0.000 |
| predicted_OBP | 0.365 | 0.500 | 0.333 | Hitting_OBP | 0.349 | 0.500 | 0.151 | 0.000 |
| predicted_R | 0.364 | 1.000 | 0.000 | Hitting_R | 0.515 | 1.000 | 0.485 | 0.000 |
| predicted_RBI | 0.430 | 2.000 | 1.000 | Hitting_RBI | 0.221 | 1.000 | 1.779 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.468 | 1.250 | 0.333 | Hitting_SLG | 0.377 | 2.000 | 0.873 | -0.750 |
| predicted_SO | 0.382 | 2.000 | 0.000 | Hitting_SO | 0.390 | 0.000 | 1.610 | 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_SO: 0.3820 -> 2.0000 (boost 1.6180, worse) |
| Biggest Deboost | predicted_BB: 0.2550 -> 0.0000 (deboost -0.2550, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 2.5640 -> 2.6585 (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_OBP: 0.3751 -> 0.3565 (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 | 7 | 3 | 4 | 4 | 3 | predicted_RBI: 0.4782 -> 1.0000 (boost 0.5218, better) | predicted_SO: 0.3800 -> 0.0000 (deboost -0.3800, better) | AB rounded to 3 (raw=2.66), rates preserved: AVG=0.290 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4137 -> 0.0000 (deboost -0.4137, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2900 -> 0.3330 (boost 0.0430, better) | predicted_SLG: 0.4820 -> 0.3330 (deboost -0.1490, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 6 | 0 | 5 | 1 | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4820 (boost 0.1490, better) | predicted_AVG: 0.3330 -> 0.2900 (deboost -0.0430, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678391",
"player_name": "Jorbit Vivas",
"position": "2B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.127,
"predicted_3B": 0.0,
"predicted_AB": 2.564,
"predicted_AVG": 0.3,
"predicted_BB": 0.255,
"predicted_H": 0.68,
"predicted_HR": 0.11,
"predicted_OBP": 0.365,
"predicted_R": 0.364,
"predicted_RBI": 0.43,
"predicted_SLG": 0.468,
"predicted_SO": 0.382
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1193,
"predicted_3B": 0.0008,
"predicted_AB": 2.6585,
"predicted_AVG": 0.3082,
"predicted_BB": 0.2736,
"predicted_H": 0.7672,
"predicted_HBP": 0.034,
"predicted_HR": 0.1286,
"predicted_OBP": 0.3751,
"predicted_R": 0.4108,
"predicted_RBI": 0.4748,
"predicted_SLG": 0.4921,
"predicted_SO": 0.3812
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.127,
"after": 0.1193,
"delta": -0.0077,
"percent_delta": -0.0606,
"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.564,
"after": 2.6585,
"delta": 0.0945,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.3082,
"delta": 0.0082,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.255,
"after": 0.2736,
"delta": 0.0186,
"percent_delta": 0.0729,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.7672,
"delta": 0.0872,
"percent_delta": 0.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1286,
"delta": 0.0186,
"percent_delta": 0.1691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3751,
"delta": 0.0101,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.4108,
"delta": 0.0468,
"percent_delta": 0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4748,
"delta": 0.0448,
"percent_delta": 0.1042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.4921,
"delta": 0.0241,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.382,
"after": 0.3812,
"delta": -0.0008,
"percent_delta": -0.0021,
"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": 2.564,
"after": 2.6585,
"delta": 0.0945,
"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": 55
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1193,
"predicted_3B": 0.0008,
"predicted_AB": 2.6585,
"predicted_AVG": 0.29,
"predicted_BB": 0.2745,
"predicted_H": 0.771,
"predicted_HBP": 0.034,
"predicted_HR": 0.1298,
"predicted_OBP": 0.3565,
"predicted_R": 0.4137,
"predicted_RBI": 0.4782,
"predicted_SLG": 0.482,
"predicted_SO": 0.38
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1193,
"after": 0.1193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6585,
"after": 2.6585,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3082,
"after": 0.29,
"delta": -0.0182,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2736,
"after": 0.2745,
"delta": 0.0009,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7672,
"after": 0.771,
"delta": 0.0038,
"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.1286,
"after": 0.1298,
"delta": 0.0012,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3751,
"after": 0.3565,
"delta": -0.0186,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4108,
"after": 0.4137,
"delta": 0.0029,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4748,
"after": 0.4782,
"delta": 0.0034,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4921,
"after": 0.482,
"delta": -0.0101,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3812,
"after": 0.38,
"delta": -0.0012,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3751,
"after": 0.3565,
"delta": -0.0186,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.290 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1193,
"after": 0.0,
"delta": -0.1193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6585,
"after": 3.0,
"delta": 0.3415,
"percent_delta": 0.1285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2745,
"after": 0.0,
"delta": -0.2745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.771,
"after": 1.0,
"delta": 0.229,
"percent_delta": 0.297,
"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.1298,
"after": 0.0,
"delta": -0.1298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4782,
"after": 1.0,
"delta": 0.5218,
"percent_delta": 1.0912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4782,
"after": 1.0,
"delta": 0.5218,
"percent_delta": 1.0912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"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.4137,
"after": 0.0,
"delta": -0.4137,
"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.4137,
"after": 0.0,
"delta": -0.4137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.333,
"delta": 0.043,
"percent_delta": 0.1483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3565,
"after": 0.333,
"delta": -0.0235,
"percent_delta": -0.0659,
"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.482,
"after": 0.333,
"delta": -0.149,
"percent_delta": -0.3091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.333,
"delta": 0.043,
"percent_delta": 0.1483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.482,
"after": 0.333,
"delta": -0.149,
"percent_delta": -0.3091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 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": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.29,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3565,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.482,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.29,
"delta": -0.043,
"percent_delta": -0.129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3565,
"delta": 0.0235,
"percent_delta": 0.0705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.482,
"delta": 0.149,
"percent_delta": 0.4474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.482,
"delta": 0.149,
"percent_delta": 0.4474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.29,
"delta": -0.043,
"percent_delta": -0.129,
"direction": "deboost",
"projection_effect": "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": 0.0,
"delta": -0.127,
"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.564,
"after": 4.0,
"delta": 1.436,
"percent_delta": 0.5601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.29,
"delta": -0.01,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 1.0,
"delta": 0.89,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3565,
"delta": -0.0085,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.43,
"after": 2.0,
"delta": 1.57,
"percent_delta": 3.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.482,
"delta": 0.014,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.382,
"after": 2.0,
"delta": 1.618,
"percent_delta": 4.2356,
"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.382,
"after": 2.0,
"delta": 1.618,
"percent_delta": 4.2356,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"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.564 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.255 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.365 | - |
| predicted_R | 0.364 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.468 | - |
| predicted_SO | 0.382 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | -0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.659 | 0.095 |
| predicted_AVG | 0.308 | 0.008 |
| predicted_BB | 0.274 | 0.019 |
| predicted_H | 0.767 | 0.087 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.129 | 0.019 |
| predicted_OBP | 0.375 | 0.010 |
| predicted_R | 0.411 | 0.047 |
| predicted_RBI | 0.475 | 0.045 |
| predicted_SLG | 0.492 | 0.024 |
| predicted_SO | 0.381 | -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.119 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.659 | 0.000 |
| predicted_AVG | 0.290 | -0.018 |
| predicted_BB | 0.275 | 0.001 |
| predicted_H | 0.771 | 0.004 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.130 | 0.001 |
| predicted_OBP | 0.356 | -0.019 |
| predicted_R | 0.414 | 0.003 |
| predicted_RBI | 0.478 | 0.003 |
| predicted_SLG | 0.482 | -0.010 |
| predicted_SO | 0.380 | -0.001 |
AB rounded to 3 (raw=2.66), rates preserved: AVG=0.290 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.119 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.341 |
| predicted_AVG | 0.333 | 0.043 |
| predicted_BB | 0.000 | -0.275 |
| predicted_H | 1.000 | 0.229 |
| predicted_HR | 0.000 | -0.130 |
| predicted_OBP | 0.333 | -0.023 |
| predicted_R | 0.000 | -0.414 |
| predicted_RBI | 1.000 | 0.522 |
| predicted_SLG | 0.333 | -0.149 |
| predicted_SO | 0.000 | -0.380 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 6.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 2.000 | 1.000 | 0.5000 | 0.5714 | 1.0000 | 0.5000 | 0.1667 | 0.4167 | 0.1667 | 0.0833 |
| last_10 | 0.20 | 10 | - | 29.000 | 11.000 | 1.000 | 0.000 | 2.000 | 9.000 | 4.000 | 3.000 | 2.000 | 0.3793 | 0.4375 | 0.6207 | 0.3793 | 0.0690 | 0.3103 | 0.1035 | 0.0690 |
| season | 0.60 | 55 | - | 141.000 | 37.000 | 7.000 | 0.000 | 3.000 | 14.000 | 20.000 | 14.000 | 21.000 | 0.2624 | 0.3375 | 0.3759 | 0.2624 | 0.0213 | 0.0993 | 0.0993 | 0.1489 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.7980 |
| predicted_AVG | 0.3202 |
| predicted_BB | 0.3010 |
| predicted_H | 0.8960 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.1560 |
| predicted_OBP | 0.3899 |
| predicted_R | 0.4800 |
| predicted_RBI | 0.5410 |
| predicted_SLG | 0.5276 |
| predicted_SO | 0.3800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1270 | 0.1080 | 0.1193 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5640 | 2.7980 | 2.6585 | model_form_blend |
| predicted_AVG | 0.3000 | 0.3202 | 0.3082 | model_form_blend |
| predicted_BB | 0.2550 | 0.3010 | 0.2736 | model_form_blend |
| predicted_H | 0.6800 | 0.8960 | 0.7672 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.1100 | 0.1560 | 0.1286 | model_form_blend |
| predicted_OBP | 0.3650 | 0.3899 | 0.3751 | model_form_blend |
| predicted_R | 0.3640 | 0.4800 | 0.4108 | model_form_blend |
| predicted_RBI | 0.4300 | 0.5410 | 0.4748 | model_form_blend |
| predicted_SLG | 0.4680 | 0.5276 | 0.4921 | model_form_blend |
| predicted_SO | 0.3820 | 0.3800 | 0.3812 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 136 |
| Season rows before report date | 136 |
| Report year | 2026 |
| Profile rows used | 55 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.262 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 678391 |
| playerID | 678391 |
| playerName | Jorbit Vivas |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-24 |
| sl_k_percent | 12.8 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.322 |
| sl_xwoba | 0.314 |
| sl_xba | 0.263 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 27.4 |
| sl_exit_velocity_avg | 84.0 |
| sl_launch_angle_avg | 13.7 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 51.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.203 | 0.000 | 0.000 | Hitting_2B | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 4.170 | 4.000 | 4.000 | Hitting_AB | 4.086 | 4.000 | -0.086 | 0.000 |
| predicted_AVG | 0.219 | 0.000 | 0.250 | Hitting_AVG | 0.253 | 0.250 | -0.253 | -0.250 |
| predicted_BB | 0.304 | 0.000 | 0.000 | Hitting_BB | 0.342 | 0.000 | -0.342 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 0.910 | 0.000 | 1.000 | Hitting_H | 1.033 | 1.000 | -1.033 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_OBP | 0.276 | 0.000 | 0.250 | Hitting_OBP | 0.311 | 0.250 | -0.311 | -0.250 |
| predicted_R | 0.532 | 0.000 | 0.000 | Hitting_R | 0.625 | 0.000 | -0.625 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.498 | 0.000 | -0.498 | 0.000 |
| predicted_SLG | 0.349 | 0.000 | 0.250 | Hitting_SLG | 0.414 | 0.250 | -0.414 | -0.250 |
| predicted_SO | 0.722 | 1.000 | 1.000 | Hitting_SO | 0.825 | 0.000 | 0.175 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.7220 -> 1.0000 (boost 0.2780, worse) |
| Biggest Deboost | predicted_H: 0.9100 -> 0.0000 (deboost -0.9100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 0 | 6 | 0 | 6 | - | predicted_AB: 4.1700 -> 4.0122 (deboost -0.1578, worse) | Final model input calibrated with local 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.2697 -> 0.2616 (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 | 2 | 5 | 1 | 6 | predicted_SO: 0.6878 -> 1.0000 (boost 0.3122, worse) | predicted_RBI: 0.3666 -> 0.0000 (deboost -0.3666, worse) | AB rounded to 4 (raw=4.17), rates preserved: AVG=0.205 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4628 -> 0.0000 (deboost -0.4628, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2132 -> 0.2500 (boost 0.0368, better) | predicted_SLG: 0.3369 -> 0.2500 (deboost -0.0869, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3369 (boost 0.0869, better) | predicted_AVG: 0.2500 -> 0.2132 (deboost -0.0368, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695734",
"player_name": "Daylen Lile",
"position": "LF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.038,
"predicted_AB": 4.17,
"predicted_AVG": 0.219,
"predicted_BB": 0.304,
"predicted_H": 0.91,
"predicted_HR": 0.09,
"predicted_OBP": 0.276,
"predicted_R": 0.532,
"predicted_RBI": 0.39,
"predicted_SLG": 0.349,
"predicted_SO": 0.722
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1774,
"predicted_3B": 0.0393,
"predicted_AB": 4.0122,
"predicted_AVG": 0.2123,
"predicted_BB": 0.2618,
"predicted_H": 0.8512,
"predicted_HBP": 0.107,
"predicted_HR": 0.0793,
"predicted_OBP": 0.2697,
"predicted_R": 0.4595,
"predicted_RBI": 0.364,
"predicted_SLG": 0.3337,
"predicted_SO": 0.69
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1774,
"delta": -0.0256,
"percent_delta": -0.1261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0393,
"delta": 0.0013,
"percent_delta": 0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 4.0122,
"delta": -0.1578,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2123,
"delta": -0.0067,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 0.2618,
"delta": -0.0422,
"percent_delta": -0.1388,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.8512,
"delta": -0.0588,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0793,
"delta": -0.0107,
"percent_delta": -0.1189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2697,
"delta": -0.0063,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 0.4595,
"delta": -0.0725,
"percent_delta": -0.1363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.364,
"delta": -0.026,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3337,
"delta": -0.0153,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 0.69,
"delta": -0.032,
"percent_delta": -0.0443,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.17,
"after": 4.0122,
"delta": -0.1578,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1774,
"predicted_3B": 0.0393,
"predicted_AB": 4.0122,
"predicted_AVG": 0.2132,
"predicted_BB": 0.2626,
"predicted_H": 0.8555,
"predicted_HBP": 0.107,
"predicted_HR": 0.08,
"predicted_OBP": 0.2616,
"predicted_R": 0.4628,
"predicted_RBI": 0.3666,
"predicted_SLG": 0.3369,
"predicted_SO": 0.6878
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1774,
"after": 0.1774,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0393,
"after": 0.0393,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0122,
"after": 4.0122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2123,
"after": 0.2132,
"delta": 0.0009,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2618,
"after": 0.2626,
"delta": 0.0008,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8512,
"after": 0.8555,
"delta": 0.0043,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.107,
"after": 0.107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0793,
"after": 0.08,
"delta": 0.0007,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2697,
"after": 0.2616,
"delta": -0.0081,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4595,
"after": 0.4628,
"delta": 0.0033,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.364,
"after": 0.3666,
"delta": 0.0026,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3337,
"after": 0.3369,
"delta": 0.0032,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.69,
"after": 0.6878,
"delta": -0.0022,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2697,
"after": 0.2616,
"delta": -0.0081,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.17), rates preserved: AVG=0.205 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1774,
"after": 0.0,
"delta": -0.1774,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0393,
"after": 0.0,
"delta": -0.0393,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0122,
"after": 4.0,
"delta": -0.0122,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2626,
"after": 0.0,
"delta": -0.2626,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8555,
"after": 1.0,
"delta": 0.1445,
"percent_delta": 0.1689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"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_RBI",
"before": 0.3666,
"after": 0.0,
"delta": -0.3666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6878,
"after": 1.0,
"delta": 0.3122,
"percent_delta": 0.4539,
"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.6878,
"after": 1.0,
"delta": 0.3122,
"percent_delta": 0.4539,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3666,
"after": 0.0,
"delta": -0.3666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4628,
"after": 0.0,
"delta": -0.4628,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4628,
"after": 0.0,
"delta": -0.4628,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2132,
"after": 0.25,
"delta": 0.0368,
"percent_delta": 0.1726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2616,
"after": 0.25,
"delta": -0.0116,
"percent_delta": -0.0443,
"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.3369,
"after": 0.25,
"delta": -0.0869,
"percent_delta": -0.2579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2132,
"after": 0.25,
"delta": 0.0368,
"percent_delta": 0.1726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3369,
"after": 0.25,
"delta": -0.0869,
"percent_delta": -0.2579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2132,
"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.2616,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3369,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2132,
"delta": -0.0368,
"percent_delta": -0.1471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2616,
"delta": 0.0116,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3369,
"delta": 0.0869,
"percent_delta": 0.3475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3369,
"delta": 0.0869,
"percent_delta": 0.3475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2132,
"delta": -0.0368,
"percent_delta": -0.1471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.0,
"delta": -0.203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 4.0,
"delta": -0.17,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2132,
"delta": -0.0058,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 0.0,
"delta": -0.304,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"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.276,
"after": 0.2616,
"delta": -0.0144,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"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.349,
"after": 0.3369,
"delta": -0.0121,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 1.0,
"delta": 0.278,
"percent_delta": 0.385,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.722,
"after": 1.0,
"delta": 0.278,
"percent_delta": 0.385,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 4.170 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.304 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.276 | - |
| predicted_R | 0.532 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.349 | - |
| predicted_SO | 0.722 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | -0.026 |
| predicted_3B | 0.039 | 0.001 |
| predicted_AB | 4.012 | -0.158 |
| predicted_AVG | 0.212 | -0.007 |
| predicted_BB | 0.262 | -0.042 |
| predicted_H | 0.851 | -0.059 |
| predicted_HBP | 0.107 | - |
| predicted_HR | 0.079 | -0.011 |
| predicted_OBP | 0.270 | -0.006 |
| predicted_R | 0.460 | -0.073 |
| predicted_RBI | 0.364 | -0.026 |
| predicted_SLG | 0.334 | -0.015 |
| predicted_SO | 0.690 | -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.177 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 4.012 | 0.000 |
| predicted_AVG | 0.213 | 0.001 |
| predicted_BB | 0.263 | 0.001 |
| predicted_H | 0.856 | 0.004 |
| predicted_HBP | 0.107 | 0.000 |
| predicted_HR | 0.080 | 0.001 |
| predicted_OBP | 0.262 | -0.008 |
| predicted_R | 0.463 | 0.003 |
| predicted_RBI | 0.367 | 0.003 |
| predicted_SLG | 0.337 | 0.003 |
| predicted_SO | 0.688 | -0.002 |
AB rounded to 4 (raw=4.17), rates preserved: AVG=0.205 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.177 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 4.000 | -0.012 |
| predicted_AVG | 0.250 | 0.037 |
| predicted_BB | 0.000 | -0.263 |
| predicted_H | 1.000 | 0.144 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.250 | -0.012 |
| predicted_R | 0.000 | -0.463 |
| predicted_RBI | 0.000 | -0.367 |
| predicted_SLG | 0.250 | -0.087 |
| predicted_SO | 1.000 | 0.312 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.1111 | 0.1579 | 0.1111 | 0.1111 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 10 | - | 36.000 | 5.000 | 1.000 | 1.000 | 0.000 | 2.000 | 2.000 | 1.000 | 4.000 | 0.1389 | 0.2051 | 0.2222 | 0.1389 | 0.0000 | 0.0556 | 0.0278 | 0.1111 |
| season | 0.60 | 79 | - | 310.000 | 77.000 | 16.000 | 3.000 | 8.000 | 37.000 | 42.000 | 24.000 | 57.000 | 0.2484 | 0.3070 | 0.3968 | 0.2484 | 0.0258 | 0.1193 | 0.0774 | 0.1839 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1430 |
| predicted_3B | 0.0410 |
| predicted_AB | 3.8000 |
| predicted_AVG | 0.2032 |
| predicted_BB | 0.2050 |
| predicted_H | 0.7720 |
| predicted_HBP | 0.1070 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.2613 |
| predicted_R | 0.3620 |
| predicted_RBI | 0.3290 |
| predicted_SLG | 0.3132 |
| predicted_SO | 0.6470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1430 | 0.1774 | model_form_blend |
| predicted_3B | 0.0380 | 0.0410 | 0.0393 | model_form_blend |
| predicted_AB | 4.1700 | 3.8000 | 4.0122 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2032 | 0.2123 | model_form_blend |
| predicted_BB | 0.3040 | 0.2050 | 0.2618 | model_form_blend |
| predicted_H | 0.9100 | 0.7720 | 0.8512 | model_form_blend |
| predicted_HBP | - | 0.1070 | 0.1070 | form_only |
| predicted_HR | 0.0900 | 0.0650 | 0.0793 | model_form_blend |
| predicted_OBP | 0.2760 | 0.2613 | 0.2697 | model_form_blend |
| predicted_R | 0.5320 | 0.3620 | 0.4595 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3290 | 0.3640 | model_form_blend |
| predicted_SLG | 0.3490 | 0.3132 | 0.3337 | model_form_blend |
| predicted_SO | 0.7220 | 0.6470 | 0.6900 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 269 |
| Season rows before report date | 269 |
| Report year | 2026 |
| Profile rows used | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.248 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 695734 |
| playerID | 695734 |
| playerName | Daylen Lile |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-24 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.308 |
| sl_xwoba | 0.318 |
| sl_xba | 0.256 |
| sl_xslg | 0.409 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 34.4 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 54.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.118 | 0.000 | 0.000 | Hitting_2B | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.529 | 3.000 | 4.000 | Hitting_AB | 3.606 | 4.000 | -0.606 | -1.000 |
| predicted_AVG | 0.231 | 0.000 | 0.250 | Hitting_AVG | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_BB | 0.176 | 1.000 | 0.000 | Hitting_BB | 0.197 | 0.000 | 0.803 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.835 | 0.000 | -0.835 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_OBP | 0.258 | 0.250 | 0.250 | Hitting_OBP | 0.284 | 0.000 | -0.034 | 0.250 |
| predicted_R | 0.456 | 0.000 | 0.000 | Hitting_R | 0.518 | 0.000 | -0.518 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.431 | 0.000 | -0.431 | 0.000 |
| predicted_SLG | 0.347 | 0.000 | 0.250 | Hitting_SLG | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_SO | 0.721 | 0.000 | 1.000 | Hitting_SO | 0.642 | 2.000 | -0.642 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.1760 -> 1.0000 (boost 0.8240, better) |
| Biggest Deboost | predicted_H: 0.7500 -> 0.0000 (deboost -0.7500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2310 -> 0.2184 (deboost -0.0126, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2184 -> 0.2086 (deboost -0.0098, 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.5621 -> 4.0000 (boost 0.4379, better) | predicted_RBI: 0.3167 -> 0.0000 (deboost -0.3167, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.209 HR/AB=0.024 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4225 -> 0.0000 (deboost -0.4225, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2086 -> 0.2500 (boost 0.0414, better) | predicted_SLG: 0.3317 -> 0.2500 (deboost -0.0817, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3317 (boost 0.0817, better) | predicted_AVG: 0.2500 -> 0.2086 (deboost -0.0414, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696285",
"player_name": "Jacob Young",
"position": "CF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.118,
"predicted_3B": 0.029,
"predicted_AB": 3.529,
"predicted_AVG": 0.231,
"predicted_BB": 0.176,
"predicted_H": 0.75,
"predicted_HR": 0.09,
"predicted_OBP": 0.258,
"predicted_R": 0.456,
"predicted_RBI": 0.33,
"predicted_SLG": 0.347,
"predicted_SO": 0.721
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.118,
"predicted_3B": 0.0315,
"predicted_AB": 3.5621,
"predicted_AVG": 0.2184,
"predicted_BB": 0.1622,
"predicted_H": 0.7395,
"predicted_HBP": 0.028,
"predicted_HR": 0.085,
"predicted_OBP": 0.2487,
"predicted_R": 0.4195,
"predicted_RBI": 0.3145,
"predicted_SLG": 0.3347,
"predicted_SO": 0.7529
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0315,
"delta": 0.0025,
"percent_delta": 0.0862,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.529,
"after": 3.5621,
"delta": 0.0331,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2184,
"delta": -0.0126,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.176,
"after": 0.1622,
"delta": -0.0138,
"percent_delta": -0.0784,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7395,
"delta": -0.0105,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.085,
"delta": -0.005,
"percent_delta": -0.0556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.258,
"after": 0.2487,
"delta": -0.0093,
"percent_delta": -0.036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.4195,
"delta": -0.0365,
"percent_delta": -0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3145,
"delta": -0.0155,
"percent_delta": -0.047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3347,
"delta": -0.0123,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.721,
"after": 0.7529,
"delta": 0.0319,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.231,
"after": 0.2184,
"delta": -0.0126,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.118,
"predicted_3B": 0.0315,
"predicted_AB": 3.5621,
"predicted_AVG": 0.2086,
"predicted_BB": 0.1627,
"predicted_H": 0.7432,
"predicted_HBP": 0.028,
"predicted_HR": 0.0858,
"predicted_OBP": 0.2432,
"predicted_R": 0.4225,
"predicted_RBI": 0.3167,
"predicted_SLG": 0.3317,
"predicted_SO": 0.7505
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0315,
"after": 0.0315,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5621,
"after": 3.5621,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2184,
"after": 0.2086,
"delta": -0.0098,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1622,
"after": 0.1627,
"delta": 0.0005,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7395,
"after": 0.7432,
"delta": 0.0037,
"percent_delta": 0.005,
"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.085,
"after": 0.0858,
"delta": 0.0008,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2487,
"after": 0.2432,
"delta": -0.0055,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4195,
"after": 0.4225,
"delta": 0.003,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3145,
"after": 0.3167,
"delta": 0.0022,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3347,
"after": 0.3317,
"delta": -0.003,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7529,
"after": 0.7505,
"delta": -0.0024,
"percent_delta": -0.0032,
"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.2184,
"after": 0.2086,
"delta": -0.0098,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.209 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0315,
"after": 0.0,
"delta": -0.0315,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5621,
"after": 4.0,
"delta": 0.4379,
"percent_delta": 0.1229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1627,
"after": 0.0,
"delta": -0.1627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7432,
"after": 1.0,
"delta": 0.2568,
"percent_delta": 0.3455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0858,
"after": 0.0,
"delta": -0.0858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3167,
"after": 0.0,
"delta": -0.3167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7505,
"after": 1.0,
"delta": 0.2495,
"percent_delta": 0.3324,
"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.5621,
"after": 4.0,
"delta": 0.4379,
"percent_delta": 0.1229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3167,
"after": 0.0,
"delta": -0.3167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.4225,
"after": 0.0,
"delta": -0.4225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4225,
"after": 0.0,
"delta": -0.4225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2086,
"after": 0.25,
"delta": 0.0414,
"percent_delta": 0.1985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2432,
"after": 0.25,
"delta": 0.0068,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3317,
"after": 0.25,
"delta": -0.0817,
"percent_delta": -0.2463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2086,
"after": 0.25,
"delta": 0.0414,
"percent_delta": 0.1985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3317,
"after": 0.25,
"delta": -0.0817,
"percent_delta": -0.2463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2086,
"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.2432,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3317,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2086,
"delta": -0.0414,
"percent_delta": -0.1654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2432,
"delta": -0.0068,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3317,
"delta": 0.0817,
"percent_delta": 0.3269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3317,
"delta": 0.0817,
"percent_delta": 0.3269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2086,
"delta": -0.0414,
"percent_delta": -0.1654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.529,
"after": 3.0,
"delta": -0.529,
"percent_delta": -0.1499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2086,
"delta": -0.0224,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"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.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.258,
"after": 0.2432,
"delta": -0.0148,
"percent_delta": -0.0574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.0,
"delta": -0.456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3317,
"delta": -0.0153,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.721,
"after": 0.0,
"delta": -0.721,
"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.176,
"after": 1.0,
"delta": 0.824,
"percent_delta": 4.6818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.529 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.176 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.258 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.721 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.000 |
| predicted_3B | 0.032 | 0.002 |
| predicted_AB | 3.562 | 0.033 |
| predicted_AVG | 0.218 | -0.013 |
| predicted_BB | 0.162 | -0.014 |
| predicted_H | 0.740 | -0.010 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.085 | -0.005 |
| predicted_OBP | 0.249 | -0.009 |
| predicted_R | 0.419 | -0.037 |
| predicted_RBI | 0.315 | -0.016 |
| predicted_SLG | 0.335 | -0.012 |
| predicted_SO | 0.753 | 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.118 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.562 | 0.000 |
| predicted_AVG | 0.209 | -0.010 |
| predicted_BB | 0.163 | 0.001 |
| predicted_H | 0.743 | 0.004 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.086 | 0.001 |
| predicted_OBP | 0.243 | -0.006 |
| predicted_R | 0.422 | 0.003 |
| predicted_RBI | 0.317 | 0.002 |
| predicted_SLG | 0.332 | -0.003 |
| predicted_SO | 0.750 | -0.002 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.209 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.118 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | 0.438 |
| predicted_AVG | 0.250 | 0.041 |
| predicted_BB | 0.000 | -0.163 |
| predicted_H | 1.000 | 0.257 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.250 | 0.007 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 0.000 | -0.317 |
| predicted_SLG | 0.250 | -0.082 |
| predicted_SO | 1.000 | 0.250 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.1111 | 0.1111 | 0.1111 | 0.1111 | 0.0000 | 0.0000 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 2.000 | 1.000 | 0.000 | 1.000 | 4.000 | 1.000 | 10.000 | 0.1892 | 0.2105 | 0.2973 | 0.1892 | 0.0000 | 0.0270 | 0.0270 | 0.2703 |
| season | 0.60 | 68 | - | 240.000 | 54.000 | 8.000 | 2.000 | 8.000 | 28.000 | 31.000 | 12.000 | 49.000 | 0.2250 | 0.2706 | 0.3750 | 0.2250 | 0.0333 | 0.1167 | 0.0500 | 0.2042 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1180 |
| predicted_3B | 0.0350 |
| predicted_AB | 3.6080 |
| predicted_AVG | 0.2009 |
| predicted_BB | 0.1430 |
| predicted_H | 0.7250 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.0780 |
| predicted_OBP | 0.2358 |
| predicted_R | 0.3690 |
| predicted_RBI | 0.2930 |
| predicted_SLG | 0.3176 |
| predicted_SO | 0.7970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.1180 | 0.1180 | model_form_blend |
| predicted_3B | 0.0290 | 0.0350 | 0.0315 | model_form_blend |
| predicted_AB | 3.5290 | 3.6080 | 3.5621 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2009 | 0.2184 | model_form_blend |
| predicted_BB | 0.1760 | 0.1430 | 0.1622 | model_form_blend |
| predicted_H | 0.7500 | 0.7250 | 0.7395 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.0900 | 0.0780 | 0.0850 | model_form_blend |
| predicted_OBP | 0.2580 | 0.2358 | 0.2487 | model_form_blend |
| predicted_R | 0.4560 | 0.3690 | 0.4195 | model_form_blend |
| predicted_RBI | 0.3300 | 0.2930 | 0.3145 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3176 | 0.3347 | model_form_blend |
| predicted_SO | 0.7210 | 0.7970 | 0.7529 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 218 |
| Season rows before report date | 218 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260623_PHI@WAS |
| game_type | full |
| mlbID | 696285 |
| playerID | 696285 |
| playerName | Jacob Young |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-23 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.286 |
| sl_xwoba | 0.303 |
| sl_xba | 0.256 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 36.5 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 20.1 |
| sl_swing_percent | 43.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.057 | 0.000 | 0.000 | Hitting_2B | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.243 | 4.000 | 3.000 | Hitting_AB | 3.335 | 4.000 | 0.665 | 0.000 |
| predicted_AVG | 0.272 | 0.500 | 0.333 | Hitting_AVG | 0.208 | 0.000 | 0.292 | 0.500 |
| predicted_BB | 0.386 | 0.000 | 0.000 | Hitting_BB | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.820 | 2.000 | 1.000 | Hitting_H | 0.693 | 0.000 | 1.307 | 2.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.355 | 0.500 | 0.333 | Hitting_OBP | 0.305 | 0.000 | 0.195 | 0.500 |
| predicted_R | 0.414 | 0.000 | 0.000 | Hitting_R | 0.437 | 0.000 | -0.437 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.340 | 0.000 | -0.340 | 0.000 |
| predicted_SLG | 0.371 | 0.500 | 0.333 | Hitting_SLG | 0.238 | 0.000 | 0.262 | 0.500 |
| predicted_SO | 0.843 | 0.000 | 1.000 | Hitting_SO | 0.870 | 3.000 | -0.870 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.8200 -> 2.0000 (boost 1.1800, better) |
| Biggest Deboost | predicted_SO: 0.8430 -> 0.0000 (deboost -0.8430, 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_H: 0.8200 -> 0.9102 (boost 0.0902, 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.3772 -> 0.3632 (deboost -0.0140, 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.8855 -> 1.0000 (boost 0.1145, worse) | predicted_RBI: 0.4428 -> 0.0000 (deboost -0.4428, worse) | AB rounded to 3 (raw=3.29), rates preserved: AVG=0.278 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4287 -> 0.0000 (deboost -0.4287, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2777 -> 0.3330 (boost 0.0553, better) | predicted_SLG: 0.3632 -> 0.3330 (deboost -0.0302, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3632 (boost 0.0302, better) | predicted_AVG: 0.3330 -> 0.2777 (deboost -0.0553, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "SS",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.057,
"predicted_3B": 0.043,
"predicted_AB": 3.243,
"predicted_AVG": 0.272,
"predicted_BB": 0.386,
"predicted_H": 0.82,
"predicted_HR": 0.05,
"predicted_OBP": 0.355,
"predicted_R": 0.414,
"predicted_RBI": 0.42,
"predicted_SLG": 0.371,
"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.0754,
"predicted_3B": 0.0514,
"predicted_AB": 3.2937,
"predicted_AVG": 0.2869,
"predicted_BB": 0.3713,
"predicted_H": 0.9102,
"predicted_HBP": 0.011,
"predicted_HR": 0.0341,
"predicted_OBP": 0.3633,
"predicted_R": 0.4257,
"predicted_RBI": 0.4397,
"predicted_SLG": 0.3772,
"predicted_SO": 0.8883
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.057,
"after": 0.0754,
"delta": 0.0184,
"percent_delta": 0.3228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0514,
"delta": 0.0084,
"percent_delta": 0.1953,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.243,
"after": 3.2937,
"delta": 0.0507,
"percent_delta": 0.0156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2869,
"delta": 0.0149,
"percent_delta": 0.0548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.3713,
"delta": -0.0147,
"percent_delta": -0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.9102,
"delta": 0.0902,
"percent_delta": 0.11,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0341,
"delta": -0.0159,
"percent_delta": -0.318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3633,
"delta": 0.0083,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 0.4257,
"delta": 0.0117,
"percent_delta": 0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4397,
"delta": 0.0197,
"percent_delta": 0.0469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3772,
"delta": 0.0062,
"percent_delta": 0.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.843,
"after": 0.8883,
"delta": 0.0453,
"percent_delta": 0.0537,
"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.82,
"after": 0.9102,
"delta": 0.0902,
"percent_delta": 0.11,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0754,
"predicted_3B": 0.0514,
"predicted_AB": 3.2937,
"predicted_AVG": 0.2777,
"predicted_BB": 0.3725,
"predicted_H": 0.9148,
"predicted_HBP": 0.011,
"predicted_HR": 0.0344,
"predicted_OBP": 0.3511,
"predicted_R": 0.4287,
"predicted_RBI": 0.4428,
"predicted_SLG": 0.3632,
"predicted_SO": 0.8855
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0754,
"after": 0.0754,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0514,
"after": 0.0514,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2937,
"after": 3.2937,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2869,
"after": 0.2777,
"delta": -0.0092,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3713,
"after": 0.3725,
"delta": 0.0012,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9102,
"after": 0.9148,
"delta": 0.0046,
"percent_delta": 0.0051,
"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.0341,
"after": 0.0344,
"delta": 0.0003,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3633,
"after": 0.3511,
"delta": -0.0122,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4257,
"after": 0.4287,
"delta": 0.003,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4397,
"after": 0.4428,
"delta": 0.0031,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3772,
"after": 0.3632,
"delta": -0.014,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8883,
"after": 0.8855,
"delta": -0.0028,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3772,
"after": 0.3632,
"delta": -0.014,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.29), rates preserved: AVG=0.278 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0754,
"after": 0.0,
"delta": -0.0754,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0514,
"after": 0.0,
"delta": -0.0514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.2937,
"after": 3.0,
"delta": -0.2937,
"percent_delta": -0.0892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3725,
"after": 0.0,
"delta": -0.3725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9148,
"after": 1.0,
"delta": 0.0852,
"percent_delta": 0.0931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0344,
"after": 0.0,
"delta": -0.0344,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4428,
"after": 0.0,
"delta": -0.4428,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8855,
"after": 1.0,
"delta": 0.1145,
"percent_delta": 0.1293,
"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.8855,
"after": 1.0,
"delta": 0.1145,
"percent_delta": 0.1293,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4428,
"after": 0.0,
"delta": -0.4428,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4287,
"after": 0.0,
"delta": -0.4287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4287,
"after": 0.0,
"delta": -0.4287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2777,
"after": 0.333,
"delta": 0.0553,
"percent_delta": 0.1991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3511,
"after": 0.333,
"delta": -0.0181,
"percent_delta": -0.0516,
"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.3632,
"after": 0.333,
"delta": -0.0302,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2777,
"after": 0.333,
"delta": 0.0553,
"percent_delta": 0.1991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3632,
"after": 0.333,
"delta": -0.0302,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2777,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3511,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3632,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2777,
"delta": -0.0553,
"percent_delta": -0.166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.3511,
"delta": 0.0181,
"percent_delta": 0.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3632,
"delta": 0.0302,
"percent_delta": 0.0906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3632,
"delta": 0.0302,
"percent_delta": 0.0906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2777,
"delta": -0.0553,
"percent_delta": -0.166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"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.243,
"after": 4.0,
"delta": 0.757,
"percent_delta": 0.2334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2777,
"delta": 0.0057,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"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.82,
"after": 2.0,
"delta": 1.18,
"percent_delta": 1.439,
"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.355,
"after": 0.3511,
"delta": -0.0039,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 0.0,
"delta": -0.414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3632,
"delta": -0.0078,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.843,
"after": 0.0,
"delta": -0.843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.82,
"after": 2.0,
"delta": 1.18,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.843,
"after": 0.0,
"delta": -0.843,
"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.057 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.243 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.386 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.414 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.371 | - |
| 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.075 | 0.018 |
| predicted_3B | 0.051 | 0.008 |
| predicted_AB | 3.294 | 0.051 |
| predicted_AVG | 0.287 | 0.015 |
| predicted_BB | 0.371 | -0.015 |
| predicted_H | 0.910 | 0.090 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.034 | -0.016 |
| predicted_OBP | 0.363 | 0.008 |
| predicted_R | 0.426 | 0.012 |
| predicted_RBI | 0.440 | 0.020 |
| predicted_SLG | 0.377 | 0.006 |
| predicted_SO | 0.888 | 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.075 | 0.000 |
| predicted_3B | 0.051 | 0.000 |
| predicted_AB | 3.294 | 0.000 |
| predicted_AVG | 0.278 | -0.009 |
| predicted_BB | 0.372 | 0.001 |
| predicted_H | 0.915 | 0.005 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.034 | 0.000 |
| predicted_OBP | 0.351 | -0.012 |
| predicted_R | 0.429 | 0.003 |
| predicted_RBI | 0.443 | 0.003 |
| predicted_SLG | 0.363 | -0.014 |
| predicted_SO | 0.885 | -0.003 |
AB rounded to 3 (raw=3.29), rates preserved: AVG=0.278 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.075 |
| predicted_3B | 0.000 | -0.051 |
| predicted_AB | 3.000 | -0.294 |
| predicted_AVG | 0.333 | 0.055 |
| predicted_BB | 0.000 | -0.372 |
| predicted_H | 1.000 | 0.085 |
| predicted_HR | 0.000 | -0.034 |
| predicted_OBP | 0.333 | -0.018 |
| predicted_R | 0.000 | -0.429 |
| predicted_RBI | 0.000 | -0.443 |
| predicted_SLG | 0.333 | -0.030 |
| predicted_SO | 1.000 | 0.115 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 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 | 7.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 7.000 | 0.3889 | 0.4211 | 0.4444 | 0.3889 | 0.0000 | 0.1667 | 0.0556 | 0.3889 |
| last_10 | 0.20 | 10 | - | 32.000 | 15.000 | 1.000 | 2.000 | 0.000 | 6.000 | 7.000 | 4.000 | 9.000 | 0.4688 | 0.5278 | 0.6250 | 0.4688 | 0.0000 | 0.1875 | 0.1250 | 0.2812 |
| season | 0.60 | 70 | - | 227.000 | 54.000 | 4.000 | 3.000 | 0.000 | 26.000 | 29.000 | 27.000 | 59.000 | 0.2379 | 0.3203 | 0.2819 | 0.2379 | 0.0000 | 0.1145 | 0.1189 | 0.2599 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1010 |
| predicted_3B | 0.0630 |
| predicted_AB | 3.3640 |
| predicted_AVG | 0.3076 |
| predicted_BB | 0.3510 |
| predicted_H | 1.0350 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0120 |
| predicted_OBP | 0.3747 |
| predicted_R | 0.4420 |
| predicted_RBI | 0.4670 |
| predicted_SLG | 0.3859 |
| predicted_SO | 0.9510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0570 | 0.1010 | 0.0754 | model_form_blend |
| predicted_3B | 0.0430 | 0.0630 | 0.0514 | model_form_blend |
| predicted_AB | 3.2430 | 3.3640 | 3.2937 | model_form_blend |
| predicted_AVG | 0.2720 | 0.3076 | 0.2869 | model_form_blend |
| predicted_BB | 0.3860 | 0.3510 | 0.3713 | model_form_blend |
| predicted_H | 0.8200 | 1.0350 | 0.9102 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0500 | 0.0120 | 0.0341 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3747 | 0.3633 | model_form_blend |
| predicted_R | 0.4140 | 0.4420 | 0.4257 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4670 | 0.4397 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3859 | 0.3772 | model_form_blend |
| predicted_SO | 0.8430 | 0.9510 | 0.8883 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 215 |
| Season rows before report date | 215 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.238 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260624_PHI@WAS |
| game_type | full |
| mlbID | 683083 |
| playerID | 683083 |
| playerName | Nasim Nuñez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.279 |
| sl_xwoba | 0.271 |
| sl_xba | 0.224 |
| sl_xslg | 0.271 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 20.0 |
| sl_exit_velocity_avg | 84.6 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 22.2 |
| 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.300 | 0.000 | 0.000 | Hitting_2B | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.260 | 4.000 | 3.000 | Hitting_AB | 3.457 | 3.000 | 0.543 | 1.000 |
| predicted_AVG | 0.264 | 0.000 | 0.333 | Hitting_AVG | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_BB | 0.100 | 0.000 | 0.000 | Hitting_BB | 0.085 | 1.000 | -0.085 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.915 | 0.000 | -0.915 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_OBP | 0.320 | 0.000 | 0.333 | Hitting_OBP | 0.285 | 0.250 | -0.285 | -0.250 |
| predicted_R | 0.440 | 0.000 | 0.000 | Hitting_R | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.736 | 0.000 | -0.736 | 0.000 |
| predicted_SLG | 0.414 | 0.000 | 0.333 | Hitting_SLG | 0.496 | 0.000 | -0.496 | 0.000 |
| predicted_SO | 0.440 | 0.000 | 0.000 | Hitting_SO | 0.574 | 1.000 | -0.574 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.2600 -> 4.0000 (boost 0.7400, better) |
| Biggest Deboost | predicted_H: 0.7700 -> 0.0000 (deboost -0.7700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.7700 -> 0.8525 (boost 0.0825, 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.3220 -> 0.2827 (deboost -0.0393, 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.8568 -> 1.0000 (boost 0.1432, better) | predicted_SO: 0.4633 -> 0.0000 (deboost -0.4633, better) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.257 HR/AB=0.028 |
| 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.4342 -> 0.0000 (deboost -0.4342, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2573 -> 0.3330 (boost 0.0757, better) | predicted_SLG: 0.4251 -> 0.3330 (deboost -0.0921, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4251 (boost 0.0921, better) | predicted_AVG: 0.3330 -> 0.2573 (deboost -0.0757, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"position": "C",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.3,
"predicted_3B": 0.0,
"predicted_AB": 3.26,
"predicted_AVG": 0.264,
"predicted_BB": 0.1,
"predicted_H": 0.77,
"predicted_HR": 0.09,
"predicted_OBP": 0.32,
"predicted_R": 0.44,
"predicted_RBI": 0.37,
"predicted_SLG": 0.414,
"predicted_SO": 0.44
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2744,
"predicted_3B": 0.0008,
"predicted_AB": 3.3295,
"predicted_AVG": 0.2719,
"predicted_BB": 0.1175,
"predicted_H": 0.8525,
"predicted_HBP": 0.077,
"predicted_HR": 0.0933,
"predicted_OBP": 0.322,
"predicted_R": 0.4311,
"predicted_RBI": 0.3867,
"predicted_SLG": 0.4244,
"predicted_SO": 0.4648
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3,
"after": 0.2744,
"delta": -0.0256,
"percent_delta": -0.0853,
"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.26,
"after": 3.3295,
"delta": 0.0695,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2719,
"delta": 0.0079,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1,
"after": 0.1175,
"delta": 0.0175,
"percent_delta": 0.175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.8525,
"delta": 0.0825,
"percent_delta": 0.1071,
"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.32,
"after": 0.322,
"delta": 0.002,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.4311,
"delta": -0.0089,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3867,
"delta": 0.0167,
"percent_delta": 0.0451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.4244,
"delta": 0.0104,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.44,
"after": 0.4648,
"delta": 0.0248,
"percent_delta": 0.0564,
"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.77,
"after": 0.8525,
"delta": 0.0825,
"percent_delta": 0.1071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 50
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2744,
"predicted_3B": 0.0008,
"predicted_AB": 3.3295,
"predicted_AVG": 0.2573,
"predicted_BB": 0.1179,
"predicted_H": 0.8568,
"predicted_HBP": 0.077,
"predicted_HR": 0.0942,
"predicted_OBP": 0.2827,
"predicted_R": 0.4342,
"predicted_RBI": 0.3894,
"predicted_SLG": 0.4251,
"predicted_SO": 0.4633
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2744,
"after": 0.2744,
"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.3295,
"after": 3.3295,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2719,
"after": 0.2573,
"delta": -0.0146,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1175,
"after": 0.1179,
"delta": 0.0004,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8525,
"after": 0.8568,
"delta": 0.0043,
"percent_delta": 0.005,
"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.0933,
"after": 0.0942,
"delta": 0.0009,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.2827,
"delta": -0.0393,
"percent_delta": -0.122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4311,
"after": 0.4342,
"delta": 0.0031,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3867,
"after": 0.3894,
"delta": 0.0027,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4244,
"after": 0.4251,
"delta": 0.0007,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4648,
"after": 0.4633,
"delta": -0.0015,
"percent_delta": -0.0032,
"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.322,
"after": 0.2827,
"delta": -0.0393,
"percent_delta": -0.122,
"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.257 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2744,
"after": 0.0,
"delta": -0.2744,
"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.3295,
"after": 3.0,
"delta": -0.3295,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1179,
"after": 0.0,
"delta": -0.1179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8568,
"after": 1.0,
"delta": 0.1432,
"percent_delta": 0.1671,
"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.0942,
"after": 0.0,
"delta": -0.0942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3894,
"after": 0.0,
"delta": -0.3894,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4633,
"after": 0.0,
"delta": -0.4633,
"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.8568,
"after": 1.0,
"delta": 0.1432,
"percent_delta": 0.1671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4633,
"after": 0.0,
"delta": -0.4633,
"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.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.4342,
"after": 0.0,
"delta": -0.4342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4342,
"after": 0.0,
"delta": -0.4342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2573,
"after": 0.333,
"delta": 0.0757,
"percent_delta": 0.2942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2827,
"after": 0.333,
"delta": 0.0503,
"percent_delta": 0.1779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4251,
"after": 0.333,
"delta": -0.0921,
"percent_delta": -0.2167,
"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.2573,
"after": 0.333,
"delta": 0.0757,
"percent_delta": 0.2942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4251,
"after": 0.333,
"delta": -0.0921,
"percent_delta": -0.2167,
"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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2573,
"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.2827,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4251,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2573,
"delta": -0.0757,
"percent_delta": -0.2273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2827,
"delta": -0.0503,
"percent_delta": -0.151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4251,
"delta": 0.0921,
"percent_delta": 0.2765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4251,
"delta": 0.0921,
"percent_delta": 0.2765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2573,
"delta": -0.0757,
"percent_delta": -0.2273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"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.26,
"after": 4.0,
"delta": 0.74,
"percent_delta": 0.227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2573,
"delta": -0.0067,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.32,
"after": 0.2827,
"delta": -0.0373,
"percent_delta": -0.1166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.4251,
"delta": 0.0111,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.26,
"after": 4.0,
"delta": 0.74,
"percent_delta": 0.227,
"direction": "boost",
"projection_effect": "better",
"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.300 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.260 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.100 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.440 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.414 | - |
| predicted_SO | 0.440 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.274 | -0.026 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.329 | 0.070 |
| predicted_AVG | 0.272 | 0.008 |
| predicted_BB | 0.117 | 0.017 |
| predicted_H | 0.853 | 0.083 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.093 | 0.003 |
| predicted_OBP | 0.322 | 0.002 |
| predicted_R | 0.431 | -0.009 |
| predicted_RBI | 0.387 | 0.017 |
| predicted_SLG | 0.424 | 0.010 |
| predicted_SO | 0.465 | 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.274 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.329 | 0.000 |
| predicted_AVG | 0.257 | -0.015 |
| predicted_BB | 0.118 | 0.000 |
| predicted_H | 0.857 | 0.004 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.094 | 0.001 |
| predicted_OBP | 0.283 | -0.039 |
| predicted_R | 0.434 | 0.003 |
| predicted_RBI | 0.389 | 0.003 |
| predicted_SLG | 0.425 | 0.001 |
| predicted_SO | 0.463 | -0.002 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.257 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 | 0.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 | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.274 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.329 |
| predicted_AVG | 0.333 | 0.076 |
| predicted_BB | 0.000 | -0.118 |
| predicted_H | 1.000 | 0.143 |
| predicted_HR | 0.000 | -0.094 |
| predicted_OBP | 0.333 | 0.050 |
| predicted_R | 0.000 | -0.434 |
| predicted_RBI | 0.000 | -0.389 |
| predicted_SLG | 0.333 | -0.092 |
| predicted_SO | 0.000 | -0.463 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 0.2941 | 0.3684 | 0.3529 | 0.2941 | 0.0000 | 0.0000 | 0.0588 | 0.1765 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 1.000 | 3.000 | 0.3056 | 0.3421 | 0.4167 | 0.3056 | 0.0278 | 0.0556 | 0.0278 | 0.0833 |
| season | 0.60 | 50 | - | 163.000 | 46.000 | 15.000 | 0.000 | 6.000 | 29.000 | 22.000 | 5.000 | 22.000 | 0.2822 | 0.3081 | 0.4847 | 0.2822 | 0.0368 | 0.1779 | 0.0307 | 0.1350 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2370 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4310 |
| predicted_AVG | 0.2835 |
| predicted_BB | 0.1430 |
| predicted_H | 0.9730 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.3249 |
| predicted_R | 0.4180 |
| predicted_RBI | 0.4110 |
| predicted_SLG | 0.4396 |
| predicted_SO | 0.5010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3000 | 0.2370 | 0.2744 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2600 | 3.4310 | 3.3295 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2835 | 0.2719 | model_form_blend |
| predicted_BB | 0.1000 | 0.1430 | 0.1175 | model_form_blend |
| predicted_H | 0.7700 | 0.9730 | 0.8525 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.0900 | 0.0980 | 0.0933 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3249 | 0.3220 | model_form_blend |
| predicted_R | 0.4400 | 0.4180 | 0.4311 | model_form_blend |
| predicted_RBI | 0.3700 | 0.4110 | 0.3867 | model_form_blend |
| predicted_SLG | 0.4140 | 0.4396 | 0.4244 | model_form_blend |
| predicted_SO | 0.4400 | 0.5010 | 0.4648 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 129 |
| Season rows before report date | 129 |
| Report year | 2026 |
| Profile rows used | 50 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260623_PHI@WAS |
| game_type | full |
| mlbID | 660688 |
| playerID | 660688 |
| playerName | Keibert Ruiz |
| pos | C |
| started | True |
| startingPosition | C |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-23 |
| sl_k_percent | 12.8 |
| sl_bb_percent | 2.9 |
| sl_woba | 0.34 |
| sl_xwoba | 0.273 |
| sl_xba | 0.232 |
| sl_xslg | 0.364 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 40.6 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 13.7 |
| sl_swing_percent | 50.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.750 | 3.000 | -1.750 | -3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.188 | 2.000 | -1.188 | -1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 5.312 | 6.000 | -1.312 | -2.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.688 | 2.200 | -0.487 | 2.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.125 | 1.000 | 0.875 | 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 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, 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": "676917",
"player_name": "Cade Cavalli",
"position": "Starter",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.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": {}
},
{
"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": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 1.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.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 | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 6.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -0.467 |
| predicted_SO | 6.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 23.200 | 12.000 | 27.000 | 9.000 | 21.000 | 3.000 | 4.5634 | 1.5211 | 0.5070 | 1.1408 | 0.3803 | 0.8873 | 0.1268 |
| last_10 | 0.35 | 10 | 52.200 | 24.000 | 56.000 | 16.000 | 54.000 | 6.000 | 4.1013 | 1.3671 | 0.4557 | 1.0633 | 0.3038 | 1.0253 | 0.1139 |
| season | 0.20 | 16 | 77.100 | 35.000 | 85.000 | 28.000 | 82.000 | 6.000 | 4.0733 | 1.4612 | 0.4526 | 1.0991 | 0.3621 | 1.0603 | 0.0776 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7070 |
| predicted_ER | 2.3410 |
| predicted_ERA | 4.3496 |
| predicted_H | 5.1980 |
| predicted_HR | 0.5840 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.6740 |
| predicted_WHIP | 1.4253 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.7070 | 0.9378 | model_form_blend |
| predicted_ER | 1.0000 | 2.3410 | 1.7367 | model_form_blend |
| predicted_ERA | - | 4.3496 | 4.3496 | form_only |
| predicted_H | 4.0000 | 5.1980 | 4.6582 | model_form_blend |
| predicted_HR | 0.0000 | 0.5840 | 0.3209 | model_form_blend |
| predicted_IP | 4.2000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 6.0000 | 4.6740 | 5.2715 | model_form_blend |
| predicted_WHIP | - | 1.4253 | 1.4253 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 4 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 6 |
| HR | 0 |
| BF | 19 |
| Pitches | 86 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 16 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.07 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 5 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.2 |
| Pitching_Pitches | 68 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 39 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260620_WAS@TB |
| game_type | full |
| mlbID | 676917 |
| playerID | 676917 |
| playerName | Cade Cavalli |
| pos | P |
| started | True |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-20 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.331 |
| sl_xwoba | 0.329 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 39.9 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 46.2 |
| sl_avg_best_speed | 78.408441964 |
| sl_avg_hyper_speed | 94.338415804 |
| 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.625 | 1.000 | -0.625 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.792 | 6.000 | -0.792 | -6.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.750 | 5.000 | -1.750 | -5.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.988 | 0.200 | -0.887 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.917 | 2.000 | -1.917 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "695418",
"player_name": "Brad Lord",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 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 | 11.100 | 8.000 | 12.000 | 5.000 | 12.000 | 2.000 | 6.3529 | 1.5000 | 0.7059 | 1.0588 | 0.4412 | 1.0588 | 0.1765 |
| last_10 | 0.35 | 10 | 22.200 | 9.000 | 15.000 | 9.000 | 23.000 | 3.000 | 3.5735 | 1.0588 | 0.3971 | 0.6618 | 0.3971 | 1.0147 | 0.1323 |
| season | 0.20 | 24 | 51.200 | 19.000 | 42.000 | 15.000 | 46.000 | 6.000 | 3.3097 | 1.1032 | 0.3677 | 0.8129 | 0.2903 | 0.8903 | 0.1161 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7530 |
| predicted_ER | 1.0200 |
| predicted_ERA | 4.6813 |
| predicted_H | 1.7700 |
| predicted_HR | 0.2900 |
| predicted_IP | 2.0000 |
| predicted_SO | 1.9390 |
| predicted_WHIP | 1.2870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7530 | 0.3850 | model_form_blend |
| predicted_ER | 0.0000 | 1.0200 | 0.5215 | model_form_blend |
| predicted_ERA | - | 4.6813 | 4.6813 | form_only |
| predicted_H | 0.0000 | 1.7700 | 0.9050 | model_form_blend |
| predicted_HR | 0.0000 | 0.2900 | 0.1483 | model_form_blend |
| predicted_IP | 1.1000 | 2.0000 | 1.2000 | model_form_blend |
| predicted_SO | 0.0000 | 1.9390 | 0.9914 | model_form_blend |
| predicted_WHIP | - | 1.2870 | 1.2870 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 12 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 6 |
| Pitching_ERA | 3.31 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 30 |
| Pitching_R | 6 |
| Pitching_SO | 2 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20260623_PHI@WAS |
| game_type | full |
| mlbID | 695418 |
| playerID | 695418 |
| playerName | Brad Lord |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-23 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.277 |
| sl_xwoba | 0.314 |
| sl_sweet_spot_percent | 25.7 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 42.6 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 75.033451644 |
| sl_avg_hyper_speed | 94.454328759 |
| 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.696 | 0.000 | -0.696 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.652 | 1.000 | -0.652 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.948 | 0.100 | 0.252 | 1.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.130 | 0.000 | 0.870 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "690925",
"player_name": "Clayton Beeter",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 1.000 | 3.000 | 3.000 | 7.000 | 0.000 | 2.0769 | 1.3846 | 0.2308 | 0.6923 | 0.6923 | 1.6154 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 5.000 | 9.000 | 6.000 | 13.000 | 0.000 | 4.3548 | 1.4516 | 0.4839 | 0.8710 | 0.5806 | 1.2581 | 0.0000 |
| season | 0.20 | 23 | 23.200 | 9.000 | 15.000 | 16.000 | 26.000 | 2.000 | 3.4225 | 1.3099 | 0.3803 | 0.6338 | 0.6761 | 1.0986 | 0.0845 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5000 |
| predicted_ER | 0.4270 |
| predicted_ERA | 3.8419 |
| predicted_H | 0.8600 |
| predicted_HR | 0.0840 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1600 |
| predicted_WHIP | 1.3603 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5000 | 0.2160 | model_form_blend |
| predicted_ER | 0.0000 | 0.4270 | 0.1844 | model_form_blend |
| predicted_ERA | - | 3.8419 | 3.8419 | form_only |
| predicted_H | 0.0000 | 0.8600 | 0.3714 | model_form_blend |
| predicted_HR | 0.0000 | 0.0840 | 0.0363 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.1600 | 1.6372 | model_form_blend |
| predicted_WHIP | - | 1.3603 | 1.3603 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.42 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 3 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260623_PHI@WAS |
| game_type | full |
| mlbID | 690925 |
| playerID | 690925 |
| playerName | Clayton Beeter |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-23 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 15.7 |
| sl_woba | 0.278 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 25.9 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 41.4 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 44.3 |
| sl_avg_best_speed | 79.288533929 |
| sl_avg_hyper_speed | 93.762872727 |
| 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.484 | 1.000 | -0.484 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.548 | 1.000 | 1.452 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 1.129 | 3.000 | 1.871 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.806 | 2.000 | 0.294 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.903 | 2.000 | 0.097 | -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": "681402",
"player_name": "Gus Varland",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.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": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 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 | 6.000 | 3.000 | 7.000 | 3.000 | 7.000 | 3.000 | 4.5000 | 1.6667 | 0.5000 | 1.1667 | 0.5000 | 1.1667 | 0.5000 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 12.000 | 7.000 | 9.000 | 3.000 | 5.4000 | 1.9000 | 0.6000 | 1.2000 | 0.7000 | 0.9000 | 0.3000 |
| season | 0.20 | 30 | 29.200 | 14.000 | 33.000 | 14.000 | 28.000 | 4.000 | 4.2472 | 1.5843 | 0.4719 | 1.1124 | 0.4719 | 0.9438 | 0.1348 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5090 |
| predicted_ER | 0.5570 |
| predicted_ERA | 4.6413 |
| predicted_H | 1.1640 |
| predicted_HR | 0.2810 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0720 |
| predicted_WHIP | 1.5469 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5090 | 0.2320 | model_form_blend |
| predicted_ER | 2.0000 | 0.5570 | 1.3424 | model_form_blend |
| predicted_ERA | - | 4.6413 | 4.6413 | form_only |
| predicted_H | 3.0000 | 1.1640 | 2.1633 | model_form_blend |
| predicted_HR | 0.0000 | 0.2810 | 0.1281 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0720 | 1.0328 | model_form_blend |
| predicted_WHIP | - | 1.5469 | 1.5469 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 1 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 10 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.16 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 32 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260621_WAS@TB |
| game_type | full |
| mlbID | 681402 |
| playerID | 681402 |
| playerName | Gus Varland |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-21 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.374 |
| sl_xwoba | 0.367 |
| sl_sweet_spot_percent | 43.6 |
| sl_barrel_batted_rate | 14.0 |
| sl_hard_hit_percent | 48.9 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 84.572802174 |
| sl_avg_hyper_speed | 95.801432308 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SEA 3 - 1 PIT | SEA | 0.525 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | SEA 3 - 1 PIT | SEA | - | advisory_box_score_draw | True |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 7 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5250 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 6.575 | 2.773 | - | Base ML historical model prediction |
| 2 | variance_applied | 7 | 3 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 1 | 0.5250 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 1 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 1 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 1 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5134576271186441,
"base_low_score_probability": 0.423728813559322,
"low_score_signal_threshold": 0.503728813559322,
"low_score_signal_strength": 0.08972881355932205,
"confidence": 0.7058800000000001,
"factors": {
"environmental": 1.1016000000000001,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.2117600000000002
},
"prediction": "low_scoring",
"expected_total_runs": 4,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 4,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 12,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 2,
"wide_bucket_sample_size": 12,
"global_sample_size": 12,
"bucket_scope": "sparse_pooled_0.12",
"sparse_bucket": true,
"empirical_hit_rate": 0.3333,
"bayesian_hit_rate": 0.45,
"sample_weight": 0.255,
"prior_strength": 28.0,
"reliability": 0.3,
"confidence_cap": 0.525,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.525,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "PIT",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 404,
"runs_allowed": 381,
"run_differential": 23,
"run_differential_per_game": 0.2875,
"available": true
},
"away": {
"team": "SEA",
"games": 81,
"wins": 41,
"losses": 40,
"win_pct": 0.5061728395061729,
"runs_scored": 330,
"runs_allowed": 322,
"run_differential": 8,
"run_differential_per_game": 0.09876543209876543,
"available": true
},
"run_differential_edge_per_game": 0.1887,
"win_pct_edge": -0.0062,
"quality_edge": 0.1795,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "SEA",
"guardrail_predicted_team": "SEA",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "SEA",
"output_opponent_team": "PIT",
"final_score_winner": "SEA",
"pre_simulation_winner": "SEA",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "SEA 3 - 1 PIT",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "SEA 3 - 1 PIT",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "PIT",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 404,
"runs_allowed": 381,
"run_differential": 23,
"run_differential_per_game": 0.2875,
"available": true
},
"away": {
"team": "SEA",
"games": 81,
"wins": 41,
"losses": 40,
"win_pct": 0.5061728395061729,
"runs_scored": 330,
"runs_allowed": 322,
"run_differential": 8,
"run_differential_per_game": 0.09876543209876543,
"available": true
}
}
}{
"applied": true,
"raw_margin": -2.04,
"final_margin": -1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.1795,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 2.75,
"home_runs": 1.25
}
}{
"applied": false,
"raw_confidence": 0.525,
"final_confidence": 0.525,
"confidence_cap": 0.525,
"score_gap": 1.5,
"calibration_sample_size": 12,
"calibration_empirical_hit_rate": 0.3333,
"calibration_bayesian_hit_rate": 0.45,
"calibration_sparse_bucket": true,
"season_quality_edge": 0.1795,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"historical confidence bucket is sparse",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "SEA 3 - 1 PIT",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "SEA 3 - 1 PIT",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 3,
"home_runs": 1,
"confidence": 0.525,
"home_win_probability": 0.475,
"away_win_probability": 0.525,
"predicted_score_text": "SEA 3 - 1 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": "SEA",
"original_runs": 3,
"run_delta": 0.0093,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.1475128465614569,
"contact": -0.04184074308388138,
"power": 0.11997808442764843,
"discipline": -0.09220535055987998,
"xwoba": 0.320060606060606,
"recent_xwoba": 0.320060606060606,
"barrel": 8.363636363636362,
"ab_hard_contact": 0.10823701322829808,
"ab_bat_speed": 71.26947471123556,
"ab_strikeout_rate": 0.2467829118874415,
"available_players": 9,
"top_players": [
{
"player_id": "670042",
"player_name": "Luke Raley",
"position": "RF",
"weight": 3.0,
"quality": 0.41730457092428286,
"contact": 0.3990954899828354,
"power": 1.5186222403146963,
"discipline": -1.4754790249433105,
"xwoba": 0.351,
"recent_xwoba": 0.351,
"barrel": 16.9,
"ab_hard_contact": 0.8135876634367808,
"ab_bat_speed": 73.79295027534823,
"ab_strikeout_rate": 0.3860544217687075,
"available": 1.0
},
{
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"weight": 4.0,
"quality": 0.5245093906739743,
"contact": 0.5713633074026601,
"power": 0.6833508942803965,
"discipline": -0.22022562358276623,
"xwoba": 0.344,
"recent_xwoba": 0.344,
"barrel": 9.3,
"ab_hard_contact": 0.6620655046555656,
"ab_bat_speed": 75.45754712301587,
"ab_strikeout_rate": 0.21594387755102043,
"available": 1.0
},
{
"player_id": "806068",
"player_name": "Colt Emerson",
"position": "SS",
"weight": 3.0,
"quality": -0.20833219874305392,
"contact": -1.9316406362454337,
"power": -1.0579611652985272,
"discipline": -0.8332261904761902,
"xwoba": 0.228,
"recent_xwoba": 0.228,
"barrel": 6.3,
"ab_hard_contact": -0.632747115494346,
"ab_bat_speed": 70.67972222222221,
"ab_strikeout_rate": 0.19444444444444445,
"available": 1.0
},
{
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"weight": 4.0,
"quality": 0.3384173894544449,
"contact": 0.5816748951699096,
"power": 0.3195020701236509,
"discipline": -0.0880317460317459,
"xwoba": 0.345,
"recent_xwoba": 0.345,
"barrel": 7.5,
"ab_hard_contact": 0.013660450092074644,
"ab_bat_speed": 69.1499007936508,
"ab_strikeout_rate": 0.24910714285714283,
"available": 1.0
},
{
"player_id": "663728",
"player_name": "Cal Raleigh",
"position": "DH",
"weight": 4.0,
"quality": -0.3264832110301028,
"contact": -1.0342060739793346,
"power": 0.0221734775867424,
"discipline": -0.19913946960898135,
"xwoba": 0.293,
"recent_xwoba": 0.293,
"barrel": 11.300000000000002,
"ab_hard_contact": 0.1478505041157943,
"ab_bat_speed": 73.27285104529616,
"ab_strikeout_rate": 0.3223577235772358,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "696149",
"player_name": "Bubba Chandler",
"quality": -0.07469964400503981,
"contact": -0.16473217263396817,
"command": -0.26207142857142834,
"movement": 1.0349939105861305,
"xwoba": 0.318,
"whiff": 24.6,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "PIT",
"original_runs": 1,
"run_delta": -0.317,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.1230076324772314,
"contact": 0.020380738838636194,
"power": 0.10530518805694124,
"discipline": -0.0906963233931391,
"xwoba": 0.32070967741935485,
"recent_xwoba": 0.32070967741935485,
"barrel": 9.338709677419354,
"ab_hard_contact": -0.2964523064495004,
"ab_bat_speed": 69.17953382287777,
"ab_strikeout_rate": 0.22087233465786013,
"available_players": 9,
"top_players": [
{
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"weight": 4.0,
"quality": 0.8472447046082154,
"contact": 1.0310211158331757,
"power": 0.8851803962645244,
"discipline": 0.6782539682539684,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 10.6,
"ab_hard_contact": 0.45332221100477293,
"ab_bat_speed": 71.04840029761905,
"ab_strikeout_rate": 0.21160714285714285,
"available": 1.0
},
{
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "CF",
"weight": 3.0,
"quality": -0.39504915860529144,
"contact": -0.6441277185973712,
"power": -1.3793419159314564,
"discipline": -0.09996838197644636,
"xwoba": 0.283,
"recent_xwoba": 0.283,
"barrel": 0.7,
"ab_hard_contact": -1.5959811757719817,
"ab_bat_speed": 63.870827060931894,
"ab_strikeout_rate": 0.23225806451612904,
"available": 1.0
},
{
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "DH",
"weight": 4.0,
"quality": 0.4998207327157911,
"contact": 0.44724318481276704,
"power": 0.916676798466905,
"discipline": -0.25497222222222227,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 11.9,
"ab_hard_contact": 0.21734549314763033,
"ab_bat_speed": 70.76913666666667,
"ab_strikeout_rate": 0.25733333333333336,
"available": 1.0
},
{
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "RF",
"weight": 3.0,
"quality": 0.04534639752891698,
"contact": -0.07782155388471187,
"power": 1.9061911955467368,
"discipline": -1.5499999999999998,
"xwoba": 0.325,
"recent_xwoba": 0.325,
"barrel": 31.3,
"ab_hard_contact": -0.5716046604938277,
"ab_bat_speed": 69.49,
"ab_strikeout_rate": 0.5133333333333333,
"available": 1.0
},
{
"player_id": "669707",
"player_name": "Jared Triolo",
"position": "SS",
"weight": 3.0,
"quality": -0.23708680310785438,
"contact": -0.6494843832391802,
"power": -1.1322142577307854,
"discipline": -0.1357016594516592,
"xwoba": 0.271,
"recent_xwoba": 0.271,
"barrel": 1.0,
"ab_hard_contact": -0.551713726044289,
"ab_bat_speed": 69.12920454545454,
"ab_strikeout_rate": 0.23484848484848483,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "682243",
"player_name": "Bryce Miller",
"quality": 0.2677915363554707,
"contact": 1.5514425710401587,
"command": 0.8139285714285713,
"movement": 0.7573182832514014,
"xwoba": 0.231,
"whiff": 28.4,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 1,
"predicted_score_text": "SEA 3 - 1 PIT",
"confidence": 0.525,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "SEA 3 - 1 PIT",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "SEA 3 - 1 PIT",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 SEA | True | 1.0230 | 1.0230 | 1 | 9 | 0 |
| Home PIT | True | 1.0181 | 1.0181 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Cal Raleigh | 483 | 0.9950 | -0.0673 | positive_batter_regression | 0.2930 | 0.1820 | 0.3810 | 11.30 | 31.50 | 87.70 | 23.90 | 30.50 | 30.50 | 11.30 | 0.9714 |
| 3B | J.P. Crawford | 173 | 1.0424 | 0.5651 | neutral | 0.3490 | 0.2500 | 0.4050 | 8.20 | 35.10 | 88 | 14.40 | 17.50 | 18.60 | 14.40 | 0.4857 |
| LF | Randy Arozarena | 35 | 1.0458 | 0.6109 | neutral | 0.3450 | 0.2650 | 0.4180 | 7.50 | 43 | 91.60 | 7.60 | 27 | 23 | 9.10 | -0.3429 |
| 1B | Josh Naylor | 470 | 1.0271 | 0.3614 | neutral | 0.3230 | 0.2730 | 0.4070 | 5.20 | 38.60 | 88.10 | 14.20 | 18.80 | 13.10 | 7.50 | 0.5143 |
| RF | Luke Raley | 242 | 1.0583 | 0.7772 | neutral | 0.3510 | 0.2530 | 0.5110 | 16.90 | 48.50 | 90.90 | 16.70 | 41.10 | 32.90 | 5 | 0.4000 |
| CF | Julio Rodríguez | 65 | 1.0626 | 0.8343 | neutral | 0.3440 | 0.2670 | 0.4700 | 9.30 | 43.70 | 90.10 | 13.30 | 27.20 | 20.90 | 7.40 | 0.6286 |
| 2B | Cole Young | 39 | 1.0337 | 0.4498 | neutral | 0.3310 | 0.2750 | 0.4130 | 5 | 39.10 | 88.20 | 16.10 | 20.70 | 17.60 | 6.80 | 0.6286 |
| C | Mitch Garver | 228 | 0.9935 | -0.0863 | neutral | 0.2950 | 0.1910 | 0.3290 | 6.80 | 49.20 | 89.80 | 18.10 | 35.30 | 32.10 | 15.20 | 0.2286 |
| SS | Colt Emerson | 199 | 0.9483 | -0.6888 | negative_batter_regression | 0.2280 | 0.1630 | 0.2690 | 6.30 | 28.10 | 86.10 | 17.30 | 33.80 | 32.40 | 6.50 | -2 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Nick Gonzales | 142 | 1.0135 | 0.1796 | neutral | 0.3260 | 0.2910 | 0.3980 | 3.10 | 36.30 | 86 | 6.10 | 23.60 | 17.90 | 5.30 | 0.0857 |
| CF | Jake Mangum | 230 | 0.9736 | -0.3525 | neutral | 0.2830 | 0.2640 | 0.3240 | 0.70 | 25.50 | 83.30 | 4.50 | 19 | 16.80 | 5.40 | -0.8286 |
| LF | Bryan Reynolds | 17 | 1.0862 | 1.1490 | neutral | 0.3770 | 0.2690 | 0.4700 | 10.60 | 48.60 | 91.40 | 5.90 | 28.10 | 20.90 | 14.80 | -0.3429 |
| DH | Brandon Lowe | 23 | 1.0640 | 0.8536 | neutral | 0.3490 | 0.2510 | 0.4750 | 11.90 | 46.20 | 90.50 | 16.90 | 33.70 | 25.10 | 10.10 | -0.2000 |
| 1B | Ryan O'Hearn | 232 | 1.0131 | 0.1746 | neutral | 0.3220 | 0.2610 | 0.4110 | 5.90 | 43.50 | 89.40 | 13.40 | 21.80 | 21.80 | 7.50 | -0.8286 |
| RF | Esmerlyn Valdez | 445 | 1.0394 | 0.5256 | positive_batter_regression | 0.3250 | 0.1990 | 0.5210 | 31.30 | 62.50 | 93.60 | 18.30 | 43.80 | 43.80 | 6.30 | 1.3143 |
| 2B | Tyler Callihan | 315 | 0.9894 | -0.1418 | negative_batter_regression | 0.3070 | 0.2060 | 0.3600 | 9.70 | 32.30 | 85.20 | 29.40 | 28.30 | 26.40 | 13.20 | -2 |
| SS | Jared Triolo | 302 | 0.9774 | -0.3008 | neutral | 0.2710 | 0.2310 | 0.2860 | 1 | 36.50 | 87.40 | 5.50 | 24.40 | 24.50 | 8.20 | 0.2286 |
| C | Henry Davis | 413 | 1.0065 | 0.0870 | positive_batter_regression | 0.2960 | 0.2000 | 0.3570 | 11.80 | 38.20 | 90.30 | 19.20 | 24.80 | 21.10 | 9.20 | 1.6286 |
{
"home": {
"applied": true,
"offense_factor": 1.0181,
"raw_average_factor": 1.0181,
"team_espn_average_rank": 235.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "693304",
"player_name": "Nick Gonzales",
"offense_factor": 1.0135,
"quality_score": 0.1796,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693304",
"espn_id": 4311634,
"player_name": "Nick Gonzales",
"team": "PIT",
"role": "batter",
"espn_rank": 142,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 142,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 279.0,
"ab_rank": 75,
"r_value": 42.0,
"r_rank": 52,
"h_value": 83.0,
"h_rank": 18,
"avg_value": 0.297491,
"avg_rank": 11.0,
"2b_value": 11.0,
"2b_rank": 128,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 35.0,
"rbi_rank": 86,
"tb_value": 105.0,
"tb_rank": 1090,
"bb_value": 16.0,
"bb_rank": 206,
"so_value": 54.0,
"so_rank": 133,
"sb_value": 4.0,
"sb_rank": 133,
"obp_value": 0.3455149,
"obp_rank": "58",
"slg_value": 0.376344,
"slg_rank": "123",
"ops_value": 0.7218589,
"ops_rank": 65.0,
"war_value": 0.97,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 17.9,
"bb_percent": 5.3,
"woba": 0.323,
"xwoba": 0.326,
"xba": 0.291,
"xslg": 0.398,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 3.1,
"hard_hit_percent": 36.3,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 6.1,
"whiff_percent": 23.6,
"swing_percent": 54.0
},
"components": {
"expected_quality": 0.2192,
"regression_edge": 0.0857,
"xwoba_edge": 0.6286,
"xba_edge": 1.4571,
"xslg_edge": 0.3429,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.2857,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "663968",
"player_name": "Jake Mangum",
"offense_factor": 0.9736,
"quality_score": -0.3525,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663968",
"espn_id": 42664,
"player_name": "Jake Mangum",
"team": "PIT",
"role": "batter",
"espn_rank": 230,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 230,
"gp_value": 60.0,
"gp_rank": 197,
"ab_value": 168.0,
"ab_rank": 232,
"r_value": 22.0,
"r_rank": 209,
"h_value": 50.0,
"h_rank": 169,
"avg_value": 0.297619,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 14.0,
"rbi_rank": 286,
"tb_value": 60.0,
"tb_rank": 1915,
"bb_value": 10.0,
"bb_rank": 292,
"so_value": 31.0,
"so_rank": 285,
"sb_value": 14.0,
"sb_rank": 18,
"obp_value": 0.3425414,
"obp_rank": "-",
"slg_value": 0.3571428,
"slg_rank": "-",
"ops_value": 0.6996842,
"ops_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 97.0,
"k_percent": 16.8,
"bb_percent": 5.4,
"woba": 0.312,
"xwoba": 0.283,
"xba": 0.264,
"xslg": 0.324,
"sweet_spot_percent": 24.8,
"barrel_batted_rate": 0.7,
"hard_hit_percent": 25.5,
"exit_velocity_avg": 83.3,
"launch_angle_avg": 4.5,
"whiff_percent": 19.0,
"swing_percent": 59.3
},
"components": {
"expected_quality": -0.776,
"regression_edge": -0.8286,
"xwoba_edge": -0.6,
"xba_edge": 0.6857,
"xslg_edge": -0.7143,
"barrel_edge": -1.4,
"hard_hit_edge": -1.8286,
"exit_velocity_edge": -2.2,
"sweet_spot_edge": -1.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"offense_factor": 1.0862,
"quality_score": 1.149,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668804",
"espn_id": 38980,
"player_name": "Bryan Reynolds",
"team": "PIT",
"role": "batter",
"espn_rank": 17,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 17,
"gp_value": 80.0,
"gp_rank": 9,
"ab_value": 286.0,
"ab_rank": 55,
"r_value": 53.0,
"r_rank": 11,
"h_value": 83.0,
"h_rank": 18,
"avg_value": 0.2902097,
"avg_rank": 18.0,
"2b_value": 19.0,
"2b_rank": 8,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 11.0,
"hr_rank": 71,
"rbi_value": 52.0,
"rbi_rank": 13,
"tb_value": 139.0,
"tb_rank": 279,
"bb_value": 51.0,
"bb_rank": 8,
"so_value": 72.0,
"so_rank": 60,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.4040697,
"obp_rank": "5",
"slg_value": 0.4860139,
"slg_rank": "32",
"ops_value": 0.8900836,
"ops_rank": 37.0,
"war_value": 3.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 20.9,
"bb_percent": 14.8,
"woba": 0.389,
"xwoba": 0.377,
"xba": 0.269,
"xslg": 0.47,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 5.9,
"whiff_percent": 28.1,
"swing_percent": 44.2
},
"components": {
"expected_quality": 1.3918,
"regression_edge": -0.3429,
"xwoba_edge": 2.0857,
"xba_edge": 0.8286,
"xslg_edge": 1.3714,
"barrel_edge": 0.8,
"hard_hit_edge": 1.4714,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "664040",
"player_name": "Brandon Lowe",
"offense_factor": 1.064,
"quality_score": 0.8536,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664040",
"espn_id": 39961,
"player_name": "Brandon Lowe",
"team": "PIT",
"role": "batter",
"espn_rank": 23,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 23,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 289.0,
"ab_rank": 45,
"r_value": 49.0,
"r_rank": 22,
"h_value": 71.0,
"h_rank": 70,
"avg_value": 0.2456747,
"avg_rank": 96.0,
"2b_value": 19.0,
"2b_rank": 8,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 18.0,
"hr_rank": 12,
"rbi_value": 49.0,
"rbi_rank": 18,
"tb_value": 146.0,
"tb_rank": 278,
"bb_value": 33.0,
"bb_rank": 53,
"so_value": 82.0,
"so_rank": 27,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.324159,
"obp_rank": "93",
"slg_value": 0.5051903,
"slg_rank": "26",
"ops_value": 0.8293493,
"ops_rank": 119.0,
"war_value": 2.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 25.1,
"bb_percent": 10.1,
"woba": 0.356,
"xwoba": 0.349,
"xba": 0.251,
"xslg": 0.475,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 46.2,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 16.9,
"whiff_percent": 33.7,
"swing_percent": 49.4
},
"components": {
"expected_quality": 1.0297,
"regression_edge": -0.2,
"xwoba_edge": 1.2857,
"xba_edge": 0.3143,
"xslg_edge": 1.4429,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.1286,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 0.5667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"offense_factor": 1.0131,
"quality_score": 0.1746,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656811",
"espn_id": 35183,
"player_name": "Ryan O'Hearn",
"team": "PIT",
"role": "batter",
"espn_rank": 232,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 232,
"gp_value": 65.0,
"gp_rank": 173,
"ab_value": 242.0,
"ab_rank": 122,
"r_value": 35.0,
"r_rank": 99,
"h_value": 69.0,
"h_rank": 78,
"avg_value": 0.2851239,
"avg_rank": 26.0,
"2b_value": 11.0,
"2b_rank": 128,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 11.0,
"hr_rank": 71,
"rbi_value": 44.0,
"rbi_rank": 36,
"tb_value": 113.0,
"tb_rank": 827,
"bb_value": 20.0,
"bb_rank": 166,
"so_value": 58.0,
"so_rank": 108,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3421052,
"obp_rank": "62",
"slg_value": 0.4669421,
"slg_rank": "46",
"ops_value": 0.8090473,
"ops_rank": 108.0,
"war_value": 0.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 21.8,
"bb_percent": 7.5,
"woba": 0.351,
"xwoba": 0.322,
"xba": 0.261,
"xslg": 0.411,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 13.4,
"whiff_percent": 21.8,
"swing_percent": 45.9
},
"components": {
"expected_quality": 0.383,
"regression_edge": -0.8286,
"xwoba_edge": 0.5143,
"xba_edge": 0.6,
"xslg_edge": 0.5286,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.7429,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"offense_factor": 1.0394,
"quality_score": 0.5256,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "699013",
"espn_id": 5137200,
"player_name": "Esmerlyn Valdez",
"team": "PIT",
"role": "batter",
"espn_rank": 445,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 445,
"gp_value": 11.0,
"gp_rank": 496,
"ab_value": 30.0,
"ab_rank": 474,
"r_value": 4.0,
"r_rank": 444,
"h_value": 5.0,
"h_rank": 482,
"avg_value": 0.1666666,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 399,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 6.0,
"rbi_rank": 395,
"tb_value": 13.0,
"tb_rank": 2243,
"bb_value": 2.0,
"bb_rank": 454,
"so_value": 14.0,
"so_rank": 419,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.21875,
"obp_rank": "-",
"slg_value": 0.4333333,
"slg_rank": "-",
"ops_value": 0.6520833,
"ops_rank": null,
"war_value": -0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 18.0,
"k_percent": 43.8,
"bb_percent": 6.3,
"woba": 0.279,
"xwoba": 0.325,
"xba": 0.199,
"xslg": 0.521,
"sweet_spot_percent": 56.3,
"barrel_batted_rate": 31.3,
"hard_hit_percent": 62.5,
"exit_velocity_avg": 93.6,
"launch_angle_avg": 18.3,
"whiff_percent": 43.8,
"swing_percent": 47.4
},
"components": {
"expected_quality": 1.1441,
"regression_edge": 1.3143,
"xwoba_edge": 0.6,
"xba_edge": -1.1714,
"xslg_edge": 2.1,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.92,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "682997",
"player_name": "Tyler Callihan",
"offense_factor": 0.9894,
"quality_score": -0.1418,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682997",
"espn_id": 42487,
"player_name": "Tyler Callihan",
"team": "PIT",
"role": "batter",
"espn_rank": 315,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 315,
"gp_value": 18.0,
"gp_rank": 438,
"ab_value": 44.0,
"ab_rank": 442,
"r_value": 8.0,
"r_rank": 377,
"h_value": 12.0,
"h_rank": 412,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 399,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 9.0,
"rbi_rank": 350,
"tb_value": 24.0,
"tb_rank": 1805,
"bb_value": 7.0,
"bb_rank": 351,
"so_value": 14.0,
"so_rank": 419,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3773584,
"obp_rank": "-",
"slg_value": 0.5454545,
"slg_rank": "-",
"ops_value": 0.9228129,
"ops_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 3.0,
"k_percent": 26.4,
"bb_percent": 13.2,
"woba": 0.393,
"xwoba": 0.307,
"xba": 0.206,
"xslg": 0.36,
"sweet_spot_percent": 48.4,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 32.3,
"exit_velocity_avg": 85.2,
"launch_angle_avg": 29.4,
"whiff_percent": 28.3,
"swing_percent": 54.8
},
"components": {
"expected_quality": -0.0408,
"regression_edge": -2.0,
"xwoba_edge": 0.0857,
"xba_edge": -0.9714,
"xslg_edge": -0.2,
"barrel_edge": 0.6,
"hard_hit_edge": -0.8571,
"exit_velocity_edge": -1.44,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "669707",
"player_name": "Jared Triolo",
"offense_factor": 0.9774,
"quality_score": -0.3008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669707",
"espn_id": 42933,
"player_name": "Jared Triolo",
"team": "PIT",
"role": "batter",
"espn_rank": 302,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 302,
"gp_value": 47.0,
"gp_rank": 275,
"ab_value": 142.0,
"ab_rank": 265,
"r_value": 13.0,
"r_rank": 317,
"h_value": 32.0,
"h_rank": 270,
"avg_value": 0.2253521,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 9.0,
"rbi_rank": 350,
"tb_value": 38.0,
"tb_rank": 2292,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 39.0,
"so_rank": 232,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.299363,
"obp_rank": "-",
"slg_value": 0.2676056,
"slg_rank": "-",
"ops_value": 0.5669686,
"ops_rank": null,
"war_value": 0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 72.0,
"k_percent": 24.5,
"bb_percent": 8.2,
"woba": 0.263,
"xwoba": 0.271,
"xba": 0.231,
"xslg": 0.286,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 1.0,
"hard_hit_percent": 36.5,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 5.5,
"whiff_percent": 24.4,
"swing_percent": 41.8
},
"components": {
"expected_quality": -0.8145,
"regression_edge": 0.2286,
"xwoba_edge": -0.9429,
"xba_edge": -0.2571,
"xslg_edge": -1.2571,
"barrel_edge": -1.3333,
"hard_hit_edge": -0.2571,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "680779",
"player_name": "Henry Davis",
"offense_factor": 1.0065,
"quality_score": 0.087,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "680779",
"espn_id": 4418683,
"player_name": "Henry Davis",
"team": "PIT",
"role": "batter",
"espn_rank": 413,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 413,
"gp_value": 50.0,
"gp_rank": 261,
"ab_value": 132.0,
"ab_rank": 275,
"r_value": 14.0,
"r_rank": 302,
"h_value": 18.0,
"h_rank": 361,
"avg_value": 0.1363636,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 17.0,
"rbi_rank": 256,
"tb_value": 37.0,
"tb_rank": 1685,
"bb_value": 14.0,
"bb_rank": 235,
"so_value": 32.0,
"so_rank": 275,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2384105,
"obp_rank": "-",
"slg_value": 0.280303,
"slg_rank": "-",
"ops_value": 0.5187135,
"ops_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 125.0,
"k_percent": 21.1,
"bb_percent": 9.2,
"woba": 0.239,
"xwoba": 0.296,
"xba": 0.2,
"xslg": 0.357,
"sweet_spot_percent": 25.5,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 19.2,
"whiff_percent": 24.8,
"swing_percent": 51.9
},
"components": {
"expected_quality": -0.0871,
"regression_edge": 1.6286,
"xwoba_edge": -0.2286,
"xba_edge": -1.1429,
"xslg_edge": -0.2429,
"barrel_edge": 1.0667,
"hard_hit_edge": -0.0143,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -1.3,
"launch_angle_hr_bonus": 0.45
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.023,
"raw_average_factor": 1.023,
"team_espn_average_rank": 214.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "663728",
"player_name": "Cal Raleigh",
"offense_factor": 0.995,
"quality_score": -0.0673,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663728",
"espn_id": 41292,
"player_name": "Cal Raleigh",
"team": "SEA",
"role": "batter",
"espn_rank": 483,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 483,
"gp_value": 49.0,
"gp_rank": 266,
"ab_value": 187.0,
"ab_rank": 196,
"r_value": 18.0,
"r_rank": 254,
"h_value": 31.0,
"h_rank": 273,
"avg_value": 0.1657754,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 21.0,
"rbi_rank": 220,
"tb_value": 59.0,
"tb_rank": 1345,
"bb_value": 24.0,
"bb_rank": 114,
"so_value": 65.0,
"so_rank": 84,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.2582159,
"obp_rank": "-",
"slg_value": 0.315508,
"slg_rank": "-",
"ops_value": 0.5737239,
"ops_rank": null,
"war_value": -0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 181.0,
"k_percent": 30.5,
"bb_percent": 11.3,
"woba": 0.259,
"xwoba": 0.293,
"xba": 0.182,
"xslg": 0.381,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 31.5,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 23.9,
"whiff_percent": 30.5,
"swing_percent": 53.3
},
"components": {
"expected_quality": -0.2532,
"regression_edge": 0.9714,
"xwoba_edge": -0.3143,
"xba_edge": -1.6571,
"xslg_edge": 0.1,
"barrel_edge": 0.9556,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "641487",
"player_name": "J.P. Crawford",
"offense_factor": 1.0424,
"quality_score": 0.5651,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641487",
"espn_id": 33210,
"player_name": "J.P. Crawford",
"team": "SEA",
"role": "batter",
"espn_rank": 173,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 173,
"gp_value": 63.0,
"gp_rank": 186,
"ab_value": 219.0,
"ab_rank": 156,
"r_value": 33.0,
"r_rank": 116,
"h_value": 49.0,
"h_rank": 178,
"avg_value": 0.2237442,
"avg_rank": 140.0,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 10.0,
"hr_rank": 82,
"rbi_value": 23.0,
"rbi_rank": 197,
"tb_value": 84.0,
"tb_rank": 1113,
"bb_value": 38.0,
"bb_rank": 36,
"so_value": 49.0,
"so_rank": 161,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3498098,
"obp_rank": "50",
"slg_value": 0.3835616,
"slg_rank": "118",
"ops_value": 0.7333714,
"ops_rank": 68.0,
"war_value": 0.73,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 202.0,
"k_percent": 18.6,
"bb_percent": 14.4,
"woba": 0.332,
"xwoba": 0.349,
"xba": 0.25,
"xslg": 0.405,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 35.1,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 14.4,
"whiff_percent": 17.5,
"swing_percent": 37.9
},
"components": {
"expected_quality": 0.6366,
"regression_edge": 0.4857,
"xwoba_edge": 1.2857,
"xba_edge": 0.2857,
"xslg_edge": 0.4429,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.4571,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "668227",
"player_name": "Randy Arozarena",
"offense_factor": 1.0458,
"quality_score": 0.6109,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668227",
"espn_id": 36488,
"player_name": "Randy Arozarena",
"team": "SEA",
"role": "batter",
"espn_rank": 35,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 35,
"gp_value": 73.0,
"gp_rank": 112,
"ab_value": 268.0,
"ab_rank": 93,
"r_value": 47.0,
"r_rank": 29,
"h_value": 76.0,
"h_rank": 50,
"avg_value": 0.283582,
"avg_rank": 28.0,
"2b_value": 18.0,
"2b_rank": 17,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 33.0,
"rbi_rank": 101,
"tb_value": 117.0,
"tb_rank": 642,
"bb_value": 28.0,
"bb_rank": 85,
"so_value": 71.0,
"so_rank": 64,
"sb_value": 19.0,
"sb_rank": 6,
"obp_value": 0.368932,
"obp_rank": "29",
"slg_value": 0.4365671,
"slg_rank": "73",
"ops_value": 0.8054991,
"ops_rank": 102.0,
"war_value": 2.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 23.0,
"bb_percent": 9.1,
"woba": 0.357,
"xwoba": 0.345,
"xba": 0.265,
"xslg": 0.418,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 7.6,
"whiff_percent": 27.0,
"swing_percent": 47.8
},
"components": {
"expected_quality": 0.7662,
"regression_edge": -0.3429,
"xwoba_edge": 1.1714,
"xba_edge": 0.7143,
"xslg_edge": 0.6286,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.6714,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "647304",
"player_name": "Josh Naylor",
"offense_factor": 1.0271,
"quality_score": 0.3614,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "647304",
"espn_id": 35066,
"player_name": "Josh Naylor",
"team": "SEA",
"role": "batter",
"espn_rank": 470,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 470,
"gp_value": 74.0,
"gp_rank": 98,
"ab_value": 292.0,
"ab_rank": 36,
"r_value": 28.0,
"r_rank": 158,
"h_value": 75.0,
"h_rank": 56,
"avg_value": 0.2568493,
"avg_rank": 75.0,
"2b_value": 10.0,
"2b_rank": 151,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 33.0,
"rbi_rank": 101,
"tb_value": 109.0,
"tb_rank": 954,
"bb_value": 24.0,
"bb_rank": 114,
"so_value": 42.0,
"so_rank": 203,
"sb_value": 14.0,
"sb_rank": 18,
"obp_value": 0.3166144,
"obp_rank": "108",
"slg_value": 0.3732876,
"slg_rank": "128",
"ops_value": 0.689902,
"ops_rank": 236.0,
"war_value": -0.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 13.1,
"bb_percent": 7.5,
"woba": 0.305,
"xwoba": 0.323,
"xba": 0.273,
"xslg": 0.407,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 14.2,
"whiff_percent": 18.8,
"swing_percent": 52.6
},
"components": {
"expected_quality": 0.3365,
"regression_edge": 0.5143,
"xwoba_edge": 0.5429,
"xba_edge": 0.9429,
"xslg_edge": 0.4714,
"barrel_edge": -0.4,
"hard_hit_edge": 0.0429,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "670042",
"player_name": "Luke Raley",
"offense_factor": 1.0583,
"quality_score": 0.7772,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670042",
"espn_id": 40422,
"player_name": "Luke Raley",
"team": "SEA",
"role": "batter",
"espn_rank": 242,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 242,
"gp_value": 70.0,
"gp_rank": 140,
"ab_value": 200.0,
"ab_rank": 178,
"r_value": 25.0,
"r_rank": 183,
"h_value": 47.0,
"h_rank": 190,
"avg_value": 0.235,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 14.0,
"hr_rank": 34,
"rbi_value": 35.0,
"rbi_rank": 86,
"tb_value": 98.0,
"tb_rank": 675,
"bb_value": 11.0,
"bb_rank": 278,
"so_value": 72.0,
"so_rank": 60,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2949308,
"obp_rank": "-",
"slg_value": 0.49,
"slg_rank": "-",
"ops_value": 0.7849308,
"ops_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 32.9,
"bb_percent": 5.0,
"woba": 0.337,
"xwoba": 0.351,
"xba": 0.253,
"xslg": 0.511,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 16.9,
"hard_hit_percent": 48.5,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 16.7,
"whiff_percent": 41.1,
"swing_percent": 54.2
},
"components": {
"expected_quality": 1.2604,
"regression_edge": 0.4,
"xwoba_edge": 1.3429,
"xba_edge": 0.3714,
"xslg_edge": 1.9571,
"barrel_edge": 2.2,
"hard_hit_edge": 1.4571,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"offense_factor": 1.0626,
"quality_score": 0.8343,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677594",
"espn_id": 41044,
"player_name": "Julio Rodriguez",
"team": "SEA",
"role": "batter",
"espn_rank": 65,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 65,
"gp_value": 80.0,
"gp_rank": 9,
"ab_value": 319.0,
"ab_rank": 3,
"r_value": 42.0,
"r_rank": 52,
"h_value": 79.0,
"h_rank": 36,
"avg_value": 0.2476489,
"avg_rank": 90.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 14.0,
"hr_rank": 34,
"rbi_value": 38.0,
"rbi_rank": 69,
"tb_value": 136.0,
"tb_rank": 592,
"bb_value": 26.0,
"bb_rank": 99,
"so_value": 73.0,
"so_rank": 58,
"sb_value": 10.0,
"sb_rank": 41,
"obp_value": 0.3094555,
"obp_rank": "123",
"slg_value": 0.4263322,
"slg_rank": "82",
"ops_value": 0.7357877,
"ops_rank": 41.0,
"war_value": 1.87,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 244.0,
"k_percent": 20.9,
"bb_percent": 7.4,
"woba": 0.322,
"xwoba": 0.344,
"xba": 0.267,
"xslg": 0.47,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 43.7,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 13.3,
"whiff_percent": 27.2,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.8678,
"regression_edge": 0.6286,
"xwoba_edge": 1.1429,
"xba_edge": 0.7714,
"xslg_edge": 1.3714,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.7714,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "702284",
"player_name": "Cole Young",
"offense_factor": 1.0337,
"quality_score": 0.4498,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702284",
"espn_id": 5080641,
"player_name": "Cole Young",
"team": "SEA",
"role": "batter",
"espn_rank": 39,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 39,
"gp_value": 81.0,
"gp_rank": 2,
"ab_value": 291.0,
"ab_rank": 39,
"r_value": 34.0,
"r_rank": 110,
"h_value": 74.0,
"h_rank": 59,
"avg_value": 0.2542955,
"avg_rank": 82.0,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 37.0,
"rbi_rank": 77,
"tb_value": 109.0,
"tb_rank": 733,
"bb_value": 22.0,
"bb_rank": 145,
"so_value": 57.0,
"so_rank": 116,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3188854,
"obp_rank": "103",
"slg_value": 0.3745704,
"slg_rank": "124",
"ops_value": 0.6934558,
"ops_rank": 227.0,
"war_value": 2.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 220.0,
"k_percent": 17.6,
"bb_percent": 6.8,
"woba": 0.309,
"xwoba": 0.331,
"xba": 0.275,
"xslg": 0.413,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 39.1,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 16.1,
"whiff_percent": 20.7,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.4207,
"regression_edge": 0.6286,
"xwoba_edge": 0.7714,
"xba_edge": 1.0,
"xslg_edge": 0.5571,
"barrel_edge": -0.4444,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "641598",
"player_name": "Mitch Garver",
"offense_factor": 0.9935,
"quality_score": -0.0863,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641598",
"espn_id": 33667,
"player_name": "Mitch Garver",
"team": "SEA",
"role": "batter",
"espn_rank": 228,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 228,
"gp_value": 37.0,
"gp_rank": 336,
"ab_value": 95.0,
"ab_rank": 347,
"r_value": 14.0,
"r_rank": 302,
"h_value": 18.0,
"h_rank": 361,
"avg_value": 0.1894736,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 399,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 11.0,
"rbi_rank": 317,
"tb_value": 29.0,
"tb_rank": 1948,
"bb_value": 17.0,
"bb_rank": 193,
"so_value": 36.0,
"so_rank": 244,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.3052631,
"slg_rank": "-",
"ops_value": 0.6177631,
"ops_rank": null,
"war_value": 0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 32.1,
"bb_percent": 15.2,
"woba": 0.287,
"xwoba": 0.295,
"xba": 0.191,
"xslg": 0.329,
"sweet_spot_percent": 23.7,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 49.2,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 18.1,
"whiff_percent": 35.3,
"swing_percent": 42.1
},
"components": {
"expected_quality": -0.2603,
"regression_edge": 0.2286,
"xwoba_edge": -0.2571,
"xba_edge": -1.4,
"xslg_edge": -0.6429,
"barrel_edge": -0.0444,
"hard_hit_edge": 1.5571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -1.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "806068",
"player_name": "Colt Emerson",
"offense_factor": 0.9483,
"quality_score": -0.6888,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "806068",
"espn_id": 5149068,
"player_name": "Colt Emerson",
"team": "SEA",
"role": "batter",
"espn_rank": 199,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 199,
"gp_value": 31.0,
"gp_rank": 369,
"ab_value": 99.0,
"ab_rank": 341,
"r_value": 13.0,
"r_rank": 317,
"h_value": 21.0,
"h_rank": 342,
"avg_value": 0.2121212,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 16.0,
"rbi_rank": 266,
"tb_value": 46.0,
"tb_rank": 1294,
"bb_value": 7.0,
"bb_rank": 351,
"so_value": 35.0,
"so_rank": 251,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2777777,
"obp_rank": "-",
"slg_value": 0.4646464,
"slg_rank": "-",
"ops_value": 0.7424241,
"ops_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 32.0,
"k_percent": 32.4,
"bb_percent": 6.5,
"woba": 0.32,
"xwoba": 0.228,
"xba": 0.163,
"xslg": 0.269,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 28.1,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 17.3,
"whiff_percent": 33.8,
"swing_percent": 51.4
},
"components": {
"expected_quality": -1.4542,
"regression_edge": -2.0,
"xwoba_edge": -2.1714,
"xba_edge": -2.2,
"xslg_edge": -1.5,
"barrel_edge": -0.1556,
"hard_hit_edge": -1.4571,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 0.7,
"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 SEA | True | 40 | 0.5303 | 0.4500 | 0.9549 | 1.0266 | 0.9496 | 0.9273 | neutral | 0.2310 | 0.2230 | 30.50 | 3.50 | 28.40 | 5.40 | 28 | |
| Home PIT | True | 278 | -0.0820 | 0.9400 | 1.0070 | 0.9847 | 1.0752 | 0.9915 | neutral | 0.3180 | 0.3140 | 21.10 | 13.10 | 24.60 | 7.60 | 34.80 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SEA | True | None | 77 | 91.35 | 2257 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0897 | |
| Home PIT | True | None | 95 | 94.92 | 2343 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2800 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0066 |
| home_runs_vs_away_pitcher | 0.9797 |
| home_pitcher_quality_edge | -0.6123 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "696149",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 235.0,
"k_percent": 21.1,
"bb_percent": 13.1,
"woba": 0.314,
"xwoba": 0.318,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 34.8,
"avg_best_speed": 79.0752,
"avg_hyper_speed": 93.7867,
"whiff_percent": 24.6,
"swing_percent": 48.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.0057,
"command_and_miss": -0.3654,
"regression_edge": -0.1143,
"xwoba_edge": -0.1,
"barrel_edge": -0.1,
"hard_hit_edge": 0.5,
"whiff_edge": -0.1786,
"bb_edge": -1.0,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696149",
"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": 94.92477203547561,
"release_spin_rate": 2343.4147708175915,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.92477203547561,
"release_spin_rate": 2343.4147708175915,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9248,
"release_spin_rate": 2343.4148,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.082,
"sample_weight": 0.94,
"run_prevention_factor": 1.007,
"strikeout_factor": 0.9847,
"walk_factor": 1.0752,
"homer_factor": 0.9915,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696149",
"espn_id": 4683325,
"player_name": "Bubba Chandler",
"team": "PIT",
"role": "pitcher",
"espn_rank": 278,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 278,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 14.0,
"gs_rank": 71,
"qs_value": 2.0,
"qs_rank": 120,
"era_value": 4.6216,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 7.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 74.0,
"ip_rank": 83,
"h_value": 59.0,
"h_rank": 112,
"er_value": 38.0,
"er_rank": 50,
"hr_value": 9.0,
"hr_rank": 65,
"bb_value": 43.0,
"bb_rank": 2,
"k_value": 69.0,
"k_rank": 67,
"k_per_9_value": 8.3918915,
"k_per_9_rank": 21,
"whip_value": 1.3783,
"whip_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "682243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 60.0,
"k_percent": 30.5,
"bb_percent": 3.5,
"woba": 0.223,
"xwoba": 0.231,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 28.0,
"avg_best_speed": 75.5679,
"avg_hyper_speed": 92.4864,
"whiff_percent": 28.4,
"swing_percent": 57.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.7105,
"command_and_miss": 0.9089,
"regression_edge": -0.2286,
"xwoba_edge": 2.3857,
"barrel_edge": 0.3889,
"hard_hit_edge": 1.4714,
"whiff_edge": 0.3643,
"bb_edge": 1.4,
"pitch_design_score": 0.0897
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682243",
"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.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3537,
"release_spin_rate": 2256.5659,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0897,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.641,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5303,
"sample_weight": 0.45,
"run_prevention_factor": 0.9549,
"strikeout_factor": 1.0266,
"walk_factor": 0.9496,
"homer_factor": 0.9273,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682243",
"espn_id": 4654313,
"player_name": "Bryce Miller",
"team": "SEA",
"role": "pitcher",
"espn_rank": 40,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 40,
"gp_value": 7.0,
"gp_rank": 454,
"gs_value": 6.0,
"gs_rank": 156,
"qs_value": 2.0,
"qs_rank": 120,
"era_value": 1.575,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 40.0,
"ip_rank": 175,
"h_value": 23.0,
"h_rank": 317,
"er_value": 7.0,
"er_rank": 450,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 5.0,
"bb_rank": 488,
"k_value": 43.0,
"k_rank": 163,
"k_per_9_value": 9.674999,
"k_per_9_rank": 25,
"whip_value": 0.7,
"whip_rank": null,
"war_value": 1.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0066,
"home_runs_vs_away_pitcher": 0.9797,
"home_pitcher_quality_edge": -0.6123
},
"score_before": {
"away_runs": 3.0,
"home_runs": 1.0
},
"score_after": {
"away_runs": 3.0197,
"home_runs": 0.9797,
"home_win_probability": 0.3156
},
"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 SEA | 22-41 | 0.349 | 1 | 2.90 | -120 | cold | strong | |
| Home PIT | 20-43 | 0.317 | 1.40 | 3.30 | -123 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SEA | 41-40 | 0.506 | 8 | 0.099 | True |
| Home PIT | 40-40 | 0.500 | 23 | 0.287 | True |
| Signal | - | - | 0.189 | 0.179 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SEA | - | - | 3 | - | - | - | - |
| Game target PIT | - | - | 1 | - | - | - | - |
| Player finalized SEA | 33 | 9 | 1 | 0 | 1 | 1 | 9 |
| Player finalized PIT | 31 | 9 | 4 | 0 | 2 | 1 | 9 |
| Player model fractional SEA | 32.66 | 7.32 | 3.88 | 1.13 | 3.75 | 3.14 | 8.53 |
| Player model fractional PIT | 31.50 | 7.57 | 4.30 | 0.94 | 4.24 | 2.79 | 7.93 |
| Simulation box SEA | 29 | 3 | 3 | 1 | 3 | 5 | 11 |
| Simulation box PIT | 30 | 3 | 1 | 1 | 1 | 1 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away SEA | Starter | Bryce Miller | 6 | 1 | 6 | 2 | 0 | 2.78 | 0.91 | True |
| Away SEA | Middle Reliever | Andrés Muñoz | 1 | 0 | 0 | 0 | 0 | 3.28 | 1.23 | True |
| Away SEA | Middle Reliever | Eduard Bazardo | 1 | 0 | 0 | 0 | 0 | 2.48 | 1.08 | True |
| Away SEA | Middle Reliever | José A. Ferrer | 1 | 0 | 0 | 1 | 1 | 6.24 | 1.74 | True |
| Home PIT | Starter | Bubba Chandler | 5 | 2 | 5 | 2 | 5 | 4.57 | 1.30 | True |
| Home PIT | Middle Reliever | Yohan Ramírez | 1.10 | 0 | 1 | 0 | 0 | 3.17 | 1.10 | True |
| Home PIT | Middle Reliever | Dennis Santana | 1 | 0 | 2 | 0 | 0 | 4.76 | 1.20 | True |
| Home PIT | Middle Reliever | Gregory Soto | 1 | 0 | 1 | 0 | 0 | 4.25 | 1.31 | True |
| Home PIT | Middle Reliever | Evan Sisk | 0.20 | 0 | 2 | 0 | 0 | 3.85 | 1.30 | True |
| Home PIT | Middle Reliever | Mason Montgomery | 0 | 1 | 0 | 1 | 0 | 4.49 | 1.57 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | SEA | batter | 3B | J.P. Crawford | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | -2.0100 | deboost | worse |
| away | SEA | batter | DH | Cal Raleigh | worse | 11 | 1 | 10 | 0 | 11 | predicted_SO | 1.6730 | boost | worse |
| away | SEA | batter | CF | Julio Rodríguez | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | -1.4400 | deboost | worse |
| home | PIT | batter | RF | Esmerlyn Valdez | better | 10 | 6 | 4 | 7 | 3 | predicted_SO | -1.2730 | deboost | better |
| away | SEA | batter | SS | Colt Emerson | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.1940 | deboost | worse |
| home | PIT | batter | C | Henry Davis | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | -1.1430 | deboost | worse |
| away | SEA | batter | 2B | Cole Young | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 1.1300 | boost | better |
| away | SEA | batter | C | Mitch Garver | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 1.1210 | boost | better |
| home | PIT | batter | LF | Bryan Reynolds | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | -1.0700 | deboost | worse |
| home | PIT | batter | 3B | Nick Gonzales | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -1.0500 | deboost | worse |
| home | PIT | batter | DH | Brandon Lowe | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -1.0300 | deboost | worse |
| away | SEA | pitcher | Starter | Bryce Miller | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| away | SEA | pitcher | Middle Reliever | Andrés Muñoz | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | PIT | batter | 1B | Ryan O'Hearn | worse | 10 | 1 | 9 | 2 | 8 | predicted_H | -0.9800 | deboost | worse |
| away | SEA | batter | LF | Randy Arozarena | worse | 8 | 1 | 7 | 1 | 7 | predicted_H | -0.9200 | deboost | worse |
| home | PIT | batter | 2B | Tyler Callihan | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.8240 | deboost | better |
| home | PIT | batter | CF | Jake Mangum | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | 0.7600 | boost | better |
| away | SEA | batter | RF | Luke Raley | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.6800 | deboost | worse |
| away | SEA | batter | 1B | Josh Naylor | worse | 10 | 3 | 7 | 4 | 6 | predicted_R | 0.6220 | boost | better |
| home | PIT | pitcher | Middle Reliever | Evan Sisk | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | PIT | batter | SS | Jared Triolo | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | 0.3200 | boost | better |
| home | PIT | pitcher | Middle Reliever | Yohan Ramírez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | PIT | pitcher | Middle Reliever | Mason Montgomery | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1000 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Bryce Miller |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5303 |
| ESPN Rank | 40 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0897 |
| Avg Velo | 91.3537 |
| Avg Spin | 2256.5659 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 1.5750 |
| Season WHIP | 0.7000 |
| Role Avg IP | 5.8330 |
| Recent Avg IP | 5.9330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"opponent": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"edges": {
"quality_edge": -0.0094,
"offense_edge": -0.0558,
"opponent_offense_edge": 0.089,
"defense_strength": 0.1038,
"opponent_defense_weakness": 0.0503,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9992,
"run_prevention": 1.0043,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682243",
"profile": {
"available": true,
"pitcher_id": "682243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 60.0,
"k_percent": 30.5,
"bb_percent": 3.5,
"woba": 0.223,
"xwoba": 0.231,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 28.0,
"avg_best_speed": 75.5679,
"avg_hyper_speed": 92.4864,
"whiff_percent": 28.4,
"swing_percent": 57.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.7105,
"command_and_miss": 0.9089,
"regression_edge": -0.2286,
"xwoba_edge": 2.3857,
"barrel_edge": 0.3889,
"hard_hit_edge": 1.4714,
"whiff_edge": 0.3643,
"bb_edge": 1.4,
"pitch_design_score": 0.0897
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682243",
"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.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3537,
"release_spin_rate": 2256.5659,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0897,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.641,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5303,
"sample_weight": 0.45,
"run_prevention_factor": 0.9549,
"strikeout_factor": 1.0266,
"walk_factor": 0.9496,
"homer_factor": 0.9273,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682243",
"espn_id": 4654313,
"player_name": "Bryce Miller",
"team": "SEA",
"role": "pitcher",
"espn_rank": 40,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 40,
"gp_value": 7.0,
"gp_rank": 454,
"gs_value": 6.0,
"gs_rank": 156,
"qs_value": 2.0,
"qs_rank": 120,
"era_value": 1.575,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 40.0,
"ip_rank": 175,
"h_value": 23.0,
"h_rank": 317,
"er_value": 7.0,
"er_rank": 450,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 5.0,
"bb_rank": 488,
"k_value": 43.0,
"k_rank": 163,
"k_per_9_value": 9.674999,
"k_per_9_rank": 25,
"whip_value": 0.7,
"whip_rank": null,
"war_value": 1.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9797,
"adjusted": 1
},
"predicted_H": {
"original": 2.0,
"factor": 0.9797,
"adjusted": 2
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9773,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9673,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.012,
"adjusted": 7
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 40.0,
"ER": 7,
"H": 23,
"BB": 5,
"SO": 43,
"HR": 5,
"ERA": 1.575,
"WHIP": 0.7,
"K9": 9.675,
"HR9": 1.125,
"games_pitched": 7,
"quality_starts": 2,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "682243",
"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.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3537,
"release_spin_rate": 2256.5659,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0897,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.641,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.7627118644067797,
"last_10": 0.23728813559322032
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"role": "pitcher",
"player_id": "682243",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.0,
"ER": 5.0,
"R": 5.0,
"H": 14.0,
"BB": 3.0,
"SO": 33.0,
"HR": 4.0,
"BF": 97.0,
"Pitches": 405.0
},
"per_game": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 2.8,
"BB": 0.6,
"SO": 6.6,
"HR": 0.8,
"BF": 19.4,
"Pitches": 81.0
},
"rates": {
"ERA": 1.5517,
"WHIP": 0.5862,
"ER_per_IP": 0.17241,
"H_per_IP": 0.48276,
"BB_per_IP": 0.10345,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.13793
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 40.0,
"ER": 7.0,
"R": 7.0,
"H": 23.0,
"BB": 5.0,
"SO": 43.0,
"HR": 5.0,
"BF": 141.0,
"Pitches": 558.0
},
"per_game": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 3.2857,
"BB": 0.7143,
"SO": 6.1429,
"HR": 0.7143,
"BF": 20.1429,
"Pitches": 79.7143
},
"rates": {
"ERA": 1.575,
"WHIP": 0.7,
"ER_per_IP": 0.175,
"H_per_IP": 0.575,
"BB_per_IP": 0.125,
"SO_per_IP": 1.075,
"HR_per_IP": 0.125
}
},
"season": {
"games": 7,
"totals": {
"IP": 40.0,
"ER": 7.0,
"R": 7.0,
"H": 23.0,
"BB": 5.0,
"SO": 43.0,
"HR": 5.0,
"BF": 141.0,
"Pitches": 558.0
},
"per_game": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 3.2857,
"BB": 0.7143,
"SO": 6.1429,
"HR": 0.7143,
"BF": 20.1429,
"Pitches": 79.7143
},
"rates": {
"ERA": 1.575,
"WHIP": 0.7,
"ER_per_IP": 0.175,
"H_per_IP": 0.575,
"BB_per_IP": 0.125,
"SO_per_IP": 1.075,
"HR_per_IP": 0.125
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.795,
"predicted_H": 4.054,
"predicted_BB": 1.239,
"predicted_SO": 6.094,
"predicted_HR": 0.81,
"predicted_ERA": 2.7821,
"predicted_WHIP": 0.9117
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5261,
"form_weight": 0.4739,
"form_reliability": 0.5833,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 5.2,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.795,
"final": 1.3768,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.054,
"final": 2.9735,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.239,
"final": 0.5872,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 6.094,
"final": 5.5185,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.81,
"final": 0.91,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7821,
"final": 2.7821,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9117,
"final": 0.9117,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Andrés Muñoz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1277 |
| ESPN Rank | 632 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.4471 |
| Season WHIP | 1.3059 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"opponent": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"edges": {
"quality_edge": -0.0094,
"offense_edge": -0.0558,
"opponent_offense_edge": 0.089,
"defense_strength": 0.1038,
"opponent_defense_weakness": 0.0503,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9992,
"run_prevention": 1.0043,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "662253",
"profile": {
"available": true,
"pitcher_id": "662253",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 34.9,
"bb_percent": 10.3,
"woba": 0.308,
"xwoba": 0.317,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 44.1,
"avg_best_speed": 75.1186,
"avg_hyper_speed": 94.628,
"whiff_percent": 42.0,
"swing_percent": 46.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1583,
"command_and_miss": 1.5318,
"regression_edge": -0.2571,
"xwoba_edge": -0.0714,
"barrel_edge": -0.7,
"hard_hit_edge": -0.8286,
"whiff_edge": 2.3071,
"bb_edge": -0.3,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "662253",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1277,
"sample_weight": 0.45,
"run_prevention_factor": 0.9891,
"strikeout_factor": 1.0729,
"walk_factor": 1.0108,
"homer_factor": 1.0411,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662253",
"espn_id": 40939,
"player_name": "Andres Munoz",
"team": "SEA",
"role": "pitcher",
"espn_rank": 632,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 632,
"gp_value": 31.0,
"gp_rank": 85,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 5.0823,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 4.0,
"l_rank": 81,
"sv_value": 14.0,
"sv_rank": 10,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 28.1,
"ip_rank": 314,
"h_value": 26.0,
"h_rank": 281,
"er_value": 16.0,
"er_rank": 216,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 13.0,
"bb_rank": 244,
"k_value": 44.0,
"k_rank": 159,
"k_per_9_value": 13.976471,
"k_per_9_rank": 13,
"whip_value": 1.3764,
"whip_rank": null,
"war_value": -0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0049,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0185,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0328,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 4,
"H": 7,
"BB": 5,
"SO": 12,
"HR": 1,
"ERA": 4.153846153846154,
"WHIP": 1.3846153846153848,
"K9": 12.461538461538462,
"HR9": 1.0384615384615385,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "662253",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.61,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5287,
"prior_weight": 0.4713
},
"role": "pitcher",
"player_id": "662253",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 89.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.6,
"SO": 1.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.6,
"SO_per_IP": 1.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 5.0,
"SO": 12.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 180.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.7,
"BB": 0.5,
"SO": 1.2,
"HR": 0.1,
"BF": 4.3,
"Pitches": 18.0
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.2414,
"ER_per_IP": 0.41379,
"H_per_IP": 0.72414,
"BB_per_IP": 0.51724,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 30,
"totals": {
"IP": 28.1,
"ER": 14.0,
"R": 15.0,
"H": 25.0,
"BB": 12.0,
"SO": 44.0,
"HR": 4.0,
"BF": 124.0,
"Pitches": 501.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4667,
"R": 0.5,
"H": 0.8333,
"BB": 0.4,
"SO": 1.4667,
"HR": 0.1333,
"BF": 4.1333,
"Pitches": 16.7
},
"rates": {
"ERA": 4.4471,
"WHIP": 1.3059,
"ER_per_IP": 0.49412,
"H_per_IP": 0.88235,
"BB_per_IP": 0.42353,
"SO_per_IP": 1.55294,
"HR_per_IP": 0.14118
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.364,
"predicted_H": 0.779,
"predicted_BB": 0.453,
"predicted_SO": 1.269,
"predicted_HR": 0.103,
"predicted_ERA": 3.2787,
"predicted_WHIP": 1.2323
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5491,
"form_weight": 0.4509,
"form_reliability": 0.5287,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.61,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5287,
"prior_weight": 0.4713
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.364,
"final": 0.1641,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.779,
"final": 0.3512,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.453,
"final": 0.2042,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.269,
"final": 1.1213,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.103,
"final": 0.0464,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2787,
"final": 3.2787,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2323,
"final": 1.2323,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Eduard Bazardo |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0931 |
| ESPN Rank | 96 |
| 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.0377 |
| Season WHIP | 1.2736 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"opponent": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"edges": {
"quality_edge": -0.0094,
"offense_edge": -0.0558,
"opponent_offense_edge": 0.089,
"defense_strength": 0.1038,
"opponent_defense_weakness": 0.0503,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9992,
"run_prevention": 1.0043,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660825",
"profile": {
"available": true,
"pitcher_id": "660825",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 21.9,
"bb_percent": 8.2,
"woba": 0.3,
"xwoba": 0.318,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 40.6,
"avg_best_speed": 81.6068,
"avg_hyper_speed": 94.4584,
"whiff_percent": 22.2,
"swing_percent": 44.4
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1899,
"command_and_miss": -0.1889,
"regression_edge": -0.5143,
"xwoba_edge": -0.1,
"barrel_edge": -0.1667,
"hard_hit_edge": -0.3286,
"whiff_edge": -0.5214,
"bb_edge": 0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "660825",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0931,
"sample_weight": 0.45,
"run_prevention_factor": 1.0079,
"strikeout_factor": 0.9886,
"walk_factor": 0.9919,
"homer_factor": 1.0133,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660825",
"espn_id": 41939,
"player_name": "Eduard Bazardo",
"team": "SEA",
"role": "pitcher",
"espn_rank": 96,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 96,
"gp_value": 37.0,
"gp_rank": 12,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.0377,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 16.0,
"hld_rank": 4,
"ip_value": 35.1,
"ip_rank": 212,
"h_value": 33.0,
"h_rank": 202,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 32.0,
"k_rank": 252,
"k_per_9_value": 8.150944,
"k_per_9_rank": 32,
"whip_value": 1.2735,
"whip_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.006,
"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": 10.0,
"ER": 2,
"H": 8,
"BB": 2,
"SO": 9,
"HR": 0,
"ERA": 1.8000000000000003,
"WHIP": 1.0000000000000002,
"K9": 8.100000000000001,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "660825",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.996,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5832,
"prior_weight": 0.4168
},
"role": "pitcher",
"player_id": "660825",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 37,
"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": 6.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.4
},
"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": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 8.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 133.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 0.9,
"HR": 0.0,
"BF": 3.7,
"Pitches": 13.3
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.2,
"SO_per_IP": 0.9,
"HR_per_IP": 0.0
}
},
"season": {
"games": 37,
"totals": {
"IP": 35.1,
"ER": 8.0,
"R": 10.0,
"H": 33.0,
"BB": 12.0,
"SO": 32.0,
"HR": 2.0,
"BF": 146.0,
"Pitches": 568.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2162,
"R": 0.2703,
"H": 0.8919,
"BB": 0.3243,
"SO": 0.8649,
"HR": 0.0541,
"BF": 3.9459,
"Pitches": 15.3514
},
"rates": {
"ERA": 2.0377,
"WHIP": 1.2736,
"ER_per_IP": 0.22642,
"H_per_IP": 0.93396,
"BB_per_IP": 0.33962,
"SO_per_IP": 0.90566,
"HR_per_IP": 0.0566
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.275,
"predicted_H": 0.789,
"predicted_BB": 0.287,
"predicted_SO": 1.022,
"predicted_HR": 0.068,
"predicted_ERA": 2.4793,
"predicted_WHIP": 1.0756
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5261,
"form_weight": 0.4739,
"form_reliability": 0.5832,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.996,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5832,
"prior_weight": 0.4168
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.275,
"final": 0.1303,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.789,
"final": 0.3739,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.287,
"final": 0.136,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.022,
"final": 0.4843,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.068,
"final": 0.0322,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4793,
"final": 2.4793,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0756,
"final": 1.0756,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | José A. Ferrer |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2221 |
| ESPN Rank | 151 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.7273 |
| Season WHIP | 1.3636 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"opponent": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"edges": {
"quality_edge": -0.0094,
"offense_edge": -0.0558,
"opponent_offense_edge": 0.089,
"defense_strength": 0.1038,
"opponent_defense_weakness": 0.0503,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9992,
"run_prevention": 1.0043,
"strikeout": 0.9926
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678606",
"profile": {
"available": true,
"pitcher_id": "678606",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 18.5,
"bb_percent": 5.5,
"woba": 0.321,
"xwoba": 0.271,
"sweet_spot_percent": 27.8,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 36.1,
"avg_best_speed": 73.0833,
"avg_hyper_speed": 93.2752,
"whiff_percent": 21.3,
"swing_percent": 53.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.7738,
"command_and_miss": -0.3175,
"regression_edge": 1.4286,
"xwoba_edge": 1.2429,
"barrel_edge": 0.5667,
"hard_hit_edge": 0.3143,
"whiff_edge": -0.65,
"bb_edge": 0.9,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "678606",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2221,
"sample_weight": 0.45,
"run_prevention_factor": 0.9811,
"strikeout_factor": 0.9775,
"walk_factor": 0.9676,
"homer_factor": 0.9572,
"woba_minus_xwoba": 0.05,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "678606",
"espn_id": 5119607,
"player_name": "Jose Ferrer",
"team": "SEA",
"role": "pitcher",
"espn_rank": 151,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 151,
"gp_value": 37.0,
"gp_rank": 12,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.7272,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 3.0,
"sv_rank": 46,
"hld_value": 9.0,
"hld_rank": 38,
"ip_value": 33.0,
"ip_rank": 240,
"h_value": 38.0,
"h_rank": 171,
"er_value": 10.0,
"er_rank": 351,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 8.0,
"bb_rank": 386,
"k_value": 27.0,
"k_rank": 308,
"k_per_9_value": 7.363636,
"k_per_9_rank": 34,
"whip_value": 1.3939,
"whip_rank": null,
"war_value": 0.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9899,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 5,
"H": 10,
"BB": 5,
"SO": 5,
"HR": 1,
"ERA": 5.625,
"WHIP": 1.875,
"K9": 5.625,
"HR9": 1.125,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "678606",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.534,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"role": "pitcher",
"player_id": "678606",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 2.0,
"SO": 2.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 90.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.6,
"BB": 0.4,
"SO": 0.4,
"HR": 0.2,
"BF": 4.4,
"Pitches": 18.0
},
"rates": {
"ERA": 11.25,
"WHIP": 2.5,
"ER_per_IP": 1.25,
"H_per_IP": 2.0,
"BB_per_IP": 0.5,
"SO_per_IP": 0.5,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 5.0,
"SO": 5.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 161.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5,
"R": 0.5,
"H": 1.0,
"BB": 0.5,
"SO": 0.5,
"HR": 0.1,
"BF": 3.8,
"Pitches": 16.1
},
"rates": {
"ERA": 5.625,
"WHIP": 1.875,
"ER_per_IP": 0.625,
"H_per_IP": 1.25,
"BB_per_IP": 0.625,
"SO_per_IP": 0.625,
"HR_per_IP": 0.125
}
},
"season": {
"games": 36,
"totals": {
"IP": 33.0,
"ER": 10.0,
"R": 11.0,
"H": 37.0,
"BB": 8.0,
"SO": 27.0,
"HR": 2.0,
"BF": 145.0,
"Pitches": 542.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2778,
"R": 0.3056,
"H": 1.0278,
"BB": 0.2222,
"SO": 0.75,
"HR": 0.0556,
"BF": 4.0278,
"Pitches": 15.0556
},
"rates": {
"ERA": 2.7273,
"WHIP": 1.3636,
"ER_per_IP": 0.30303,
"H_per_IP": 1.12121,
"BB_per_IP": 0.24242,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.06061
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.589,
"predicted_H": 1.108,
"predicted_BB": 0.369,
"predicted_SO": 0.641,
"predicted_HR": 0.135,
"predicted_ERA": 6.2415,
"predicted_WHIP": 1.7399
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5332,
"form_weight": 0.4668,
"form_reliability": 0.5665,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.534,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.589,
"final": 0.275,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.108,
"final": 1.0504,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.369,
"final": 0.7054,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.641,
"final": 0.2992,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.135,
"final": 0.063,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.2415,
"final": 6.2415,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7399,
"final": 1.7399,
"source": "form_only"
}
}
}{
"available": false,
"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.082 | 0.000 | 0.000 | Hitting_2B | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.290 | 4.000 | 4.000 | Hitting_AB | 3.968 | 4.000 | 0.032 | 0.000 |
| predicted_AVG | 0.205 | 0.000 | 0.250 | Hitting_AVG | 0.165 | 0.250 | -0.165 | -0.250 |
| predicted_BB | 0.490 | 0.000 | 0.000 | Hitting_BB | 0.487 | 0.000 | -0.487 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 0.880 | 0.000 | 1.000 | Hitting_H | 0.656 | 1.000 | -0.656 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.250 | Hitting_OBP | 0.254 | 0.250 | -0.254 | -0.250 |
| predicted_R | 0.367 | 0.000 | 0.000 | Hitting_R | 0.418 | 0.000 | -0.418 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.413 | 0.000 | -0.413 | 0.000 |
| predicted_SLG | 0.355 | 0.000 | 0.250 | Hitting_SLG | 0.317 | 0.250 | -0.317 | -0.250 |
| predicted_SO | 1.327 | 3.000 | 1.000 | Hitting_SO | 1.381 | 0.000 | 1.619 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 1.3270 -> 3.0000 (boost 1.6730, worse) |
| Biggest Deboost | predicted_H: 0.8800 -> 0.0000 (deboost -0.8800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 4.2900 -> 4.0214 (deboost -0.2686, worse) | Final model input calibrated with local 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.2988 -> 0.2896 (deboost -0.0092, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_H: 0.7937 -> 1.0000 (boost 0.2063, better) | predicted_BB: 0.5222 -> 0.0000 (deboost -0.5222, worse) | AB rounded to 4 (raw=4.29), rates preserved: AVG=0.185 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3840 -> 0.0000 (deboost -0.3840, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1974 -> 0.2500 (boost 0.0526, better) | predicted_SLG: 0.3384 -> 0.2500 (deboost -0.0884, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3384 (boost 0.0884, better) | predicted_AVG: 0.2500 -> 0.1974 (deboost -0.0526, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663728",
"player_name": "Cal Raleigh",
"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.082,
"predicted_3B": 0.0,
"predicted_AB": 4.29,
"predicted_AVG": 0.205,
"predicted_BB": 0.49,
"predicted_H": 0.88,
"predicted_HR": 0.17,
"predicted_OBP": 0.301,
"predicted_R": 0.367,
"predicted_RBI": 0.43,
"predicted_SLG": 0.355,
"predicted_SO": 1.327
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0741,
"predicted_3B": 0.0008,
"predicted_AB": 4.0214,
"predicted_AVG": 0.1976,
"predicted_BB": 0.5235,
"predicted_H": 0.7976,
"predicted_HBP": 0.004,
"predicted_HR": 0.1642,
"predicted_OBP": 0.2988,
"predicted_R": 0.3873,
"predicted_RBI": 0.4052,
"predicted_SLG": 0.3463,
"predicted_SO": 1.2459
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.082,
"after": 0.0741,
"delta": -0.0079,
"percent_delta": -0.0963,
"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.29,
"after": 4.0214,
"delta": -0.2686,
"percent_delta": -0.0626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.1976,
"delta": -0.0074,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.49,
"after": 0.5235,
"delta": 0.0335,
"percent_delta": 0.0684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.7976,
"delta": -0.0824,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1642,
"delta": -0.0058,
"percent_delta": -0.0341,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2988,
"delta": -0.0022,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.367,
"after": 0.3873,
"delta": 0.0203,
"percent_delta": 0.0553,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4052,
"delta": -0.0248,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3463,
"delta": -0.0087,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.327,
"after": 1.2459,
"delta": -0.0811,
"percent_delta": -0.0611,
"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.29,
"after": 4.0214,
"delta": -0.2686,
"percent_delta": -0.0626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 49
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0741,
"predicted_3B": 0.0008,
"predicted_AB": 4.0214,
"predicted_AVG": 0.1974,
"predicted_BB": 0.5222,
"predicted_H": 0.7937,
"predicted_HBP": 0.004,
"predicted_HR": 0.1639,
"predicted_OBP": 0.2896,
"predicted_R": 0.384,
"predicted_RBI": 0.4017,
"predicted_SLG": 0.3384,
"predicted_SO": 1.249
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0741,
"after": 0.0741,
"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.0214,
"after": 4.0214,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1976,
"after": 0.1974,
"delta": -0.0002,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5235,
"after": 0.5222,
"delta": -0.0013,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7976,
"after": 0.7937,
"delta": -0.0039,
"percent_delta": -0.0049,
"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.1642,
"after": 0.1639,
"delta": -0.0003,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2988,
"after": 0.2896,
"delta": -0.0092,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3873,
"after": 0.384,
"delta": -0.0033,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4052,
"after": 0.4017,
"delta": -0.0035,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3463,
"after": 0.3384,
"delta": -0.0079,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2459,
"after": 1.249,
"delta": 0.0031,
"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.2988,
"after": 0.2896,
"delta": -0.0092,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.29), rates preserved: AVG=0.185 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0741,
"after": 0.0,
"delta": -0.0741,
"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.0214,
"after": 4.0,
"delta": -0.0214,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5222,
"after": 0.0,
"delta": -0.5222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7937,
"after": 1.0,
"delta": 0.2063,
"percent_delta": 0.2599,
"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.1639,
"after": 0.0,
"delta": -0.1639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4017,
"after": 0.0,
"delta": -0.4017,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.249,
"after": 1.0,
"delta": -0.249,
"percent_delta": -0.1994,
"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.7937,
"after": 1.0,
"delta": 0.2063,
"percent_delta": 0.2599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5222,
"after": 0.0,
"delta": -0.5222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.384,
"after": 0.0,
"delta": -0.384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.384,
"after": 0.0,
"delta": -0.384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1974,
"after": 0.25,
"delta": 0.0526,
"percent_delta": 0.2665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2896,
"after": 0.25,
"delta": -0.0396,
"percent_delta": -0.1367,
"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.3384,
"after": 0.25,
"delta": -0.0884,
"percent_delta": -0.2612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1974,
"after": 0.25,
"delta": 0.0526,
"percent_delta": 0.2665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3384,
"after": 0.25,
"delta": -0.0884,
"percent_delta": -0.2612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1974,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2896,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3384,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1974,
"delta": -0.0526,
"percent_delta": -0.2105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2896,
"delta": 0.0396,
"percent_delta": 0.1585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3384,
"delta": 0.0884,
"percent_delta": 0.3537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3384,
"delta": 0.0884,
"percent_delta": 0.3537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1974,
"delta": -0.0526,
"percent_delta": -0.2105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.082,
"after": 0.0,
"delta": -0.082,
"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.29,
"after": 4.0,
"delta": -0.29,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.1974,
"delta": -0.0076,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2896,
"delta": -0.0114,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.367,
"after": 0.0,
"delta": -0.367,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3384,
"delta": -0.0166,
"percent_delta": -0.0468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.327,
"after": 3.0,
"delta": 1.673,
"percent_delta": 1.2607,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.327,
"after": 3.0,
"delta": 1.673,
"percent_delta": 1.2607,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.082 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.490 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.367 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 1.327 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.074 | -0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.021 | -0.269 |
| predicted_AVG | 0.198 | -0.007 |
| predicted_BB | 0.523 | 0.033 |
| predicted_H | 0.798 | -0.082 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.164 | -0.006 |
| predicted_OBP | 0.299 | -0.002 |
| predicted_R | 0.387 | 0.020 |
| predicted_RBI | 0.405 | -0.025 |
| predicted_SLG | 0.346 | -0.009 |
| predicted_SO | 1.246 | -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.074 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.021 | 0.000 |
| predicted_AVG | 0.197 | -0.000 |
| predicted_BB | 0.522 | -0.001 |
| predicted_H | 0.794 | -0.004 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.164 | -0.000 |
| predicted_OBP | 0.290 | -0.009 |
| predicted_R | 0.384 | -0.003 |
| predicted_RBI | 0.402 | -0.004 |
| predicted_SLG | 0.338 | -0.008 |
| predicted_SO | 1.249 | 0.003 |
AB rounded to 4 (raw=4.29), rates preserved: AVG=0.185 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.074 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.021 |
| predicted_AVG | 0.250 | 0.053 |
| predicted_BB | 0.000 | -0.522 |
| predicted_H | 1.000 | 0.206 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.250 | -0.040 |
| predicted_R | 0.000 | -0.384 |
| predicted_RBI | 0.000 | -0.402 |
| predicted_SLG | 0.250 | -0.088 |
| predicted_SO | 1.000 | -0.249 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 4.000 | 4.000 | 0.1875 | 0.3500 | 0.3750 | 0.1875 | 0.0625 | 0.0625 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 7.000 | 11.000 | 0.2059 | 0.3415 | 0.2941 | 0.2059 | 0.0294 | 0.0882 | 0.2059 | 0.3235 |
| season | 0.60 | 49 | - | 187.000 | 31.000 | 4.000 | 0.000 | 8.000 | 21.000 | 18.000 | 24.000 | 65.000 | 0.1658 | 0.2582 | 0.3155 | 0.1658 | 0.0428 | 0.1123 | 0.1283 | 0.3476 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0630 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6410 |
| predicted_AVG | 0.1871 |
| predicted_BB | 0.5710 |
| predicted_H | 0.6810 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1560 |
| predicted_OBP | 0.2957 |
| predicted_R | 0.4160 |
| predicted_RBI | 0.3700 |
| predicted_SLG | 0.3339 |
| predicted_SO | 1.1310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0820 | 0.0630 | 0.0741 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.2900 | 3.6410 | 4.0214 | model_form_blend |
| predicted_AVG | 0.2050 | 0.1871 | 0.1976 | model_form_blend |
| predicted_BB | 0.4900 | 0.5710 | 0.5235 | model_form_blend |
| predicted_H | 0.8800 | 0.6810 | 0.7976 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1700 | 0.1560 | 0.1642 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2957 | 0.2988 | model_form_blend |
| predicted_R | 0.3670 | 0.4160 | 0.3873 | model_form_blend |
| predicted_RBI | 0.4300 | 0.3700 | 0.4052 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3339 | 0.3463 | model_form_blend |
| predicted_SO | 1.3270 | 1.1310 | 1.2459 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 189 |
| Season rows before report date | 189 |
| Report year | 2026 |
| Profile rows used | 49 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.166 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 663728 |
| playerID | 663728 |
| playerName | Cal Raleigh |
| pos | C |
| started | True |
| startingPosition | C |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-24 |
| sl_k_percent | 30.5 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.259 |
| sl_xwoba | 0.293 |
| sl_xba | 0.182 |
| sl_xslg | 0.381 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 31.5 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 23.9 |
| sl_whiff_percent | 30.5 |
| 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.079 | 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 | 4.010 | 2.000 | 4.000 | Hitting_AB | 3.676 | 4.000 | -1.676 | -2.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.230 | 0.250 | -0.230 | -0.250 |
| predicted_BB | 0.603 | 2.000 | 1.000 | Hitting_BB | 0.648 | 0.000 | 1.352 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 0.845 | 1.000 | -0.845 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_OBP | 0.340 | 0.500 | 0.400 | Hitting_OBP | 0.354 | 0.250 | 0.146 | 0.250 |
| predicted_R | 0.524 | 0.000 | 0.000 | Hitting_R | 0.589 | 1.000 | -0.589 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_SLG | 0.379 | 0.000 | 0.250 | Hitting_SLG | 0.389 | 0.250 | -0.389 | -0.250 |
| predicted_SO | 0.778 | 0.000 | 1.000 | Hitting_SO | 0.781 | 1.000 | -0.781 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.6030 -> 2.0000 (boost 1.3970, better) |
| Biggest Deboost | predicted_AB: 4.0100 -> 2.0000 (deboost -2.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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.0100 -> 3.7534 (deboost -0.2566, worse) | Final model input calibrated with local 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.3747 -> 0.3580 (deboost -0.0167, 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.5579 -> 1.0000 (boost 0.4421, better) | predicted_RBI: 0.3087 -> 0.0000 (deboost -0.3087, worse) | AB rounded to 4 (raw=4.01), rates preserved: AVG=0.223 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4995 -> 0.0000 (deboost -0.4995, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3367 -> 0.4000 (boost 0.0633, better) | predicted_SLG: 0.3580 -> 0.2500 (deboost -0.1080, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3580 (boost 0.1080, better) | predicted_OBP: 0.4000 -> 0.3367 (deboost -0.0633, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641487",
"player_name": "J.P. Crawford",
"position": "3B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.079,
"predicted_3B": 0.0,
"predicted_AB": 4.01,
"predicted_AVG": 0.237,
"predicted_BB": 0.603,
"predicted_H": 0.95,
"predicted_HR": 0.13,
"predicted_OBP": 0.34,
"predicted_R": 0.524,
"predicted_RBI": 0.35,
"predicted_SLG": 0.379,
"predicted_SO": 0.778
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.079,
"predicted_3B": 0.0004,
"predicted_AB": 3.7534,
"predicted_AVG": 0.2396,
"predicted_BB": 0.5593,
"predicted_H": 0.8979,
"predicted_HBP": 0.065,
"predicted_HR": 0.1237,
"predicted_OBP": 0.3442,
"predicted_R": 0.5038,
"predicted_RBI": 0.3114,
"predicted_SLG": 0.3747,
"predicted_SO": 0.7532
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.079,
"after": 0.079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 3.7534,
"delta": -0.2566,
"percent_delta": -0.064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2396,
"delta": 0.0026,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.603,
"after": 0.5593,
"delta": -0.0437,
"percent_delta": -0.0725,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.8979,
"delta": -0.0521,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1237,
"delta": -0.0063,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3442,
"delta": 0.0042,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 0.5038,
"delta": -0.0202,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3114,
"delta": -0.0386,
"percent_delta": -0.1103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3747,
"delta": -0.0043,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.7532,
"delta": -0.0248,
"percent_delta": -0.0319,
"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.01,
"after": 3.7534,
"delta": -0.2566,
"percent_delta": -0.064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.079,
"predicted_3B": 0.0004,
"predicted_AB": 3.7534,
"predicted_AVG": 0.2381,
"predicted_BB": 0.5579,
"predicted_H": 0.8935,
"predicted_HBP": 0.065,
"predicted_HR": 0.1234,
"predicted_OBP": 0.3367,
"predicted_R": 0.4995,
"predicted_RBI": 0.3087,
"predicted_SLG": 0.358,
"predicted_SO": 0.7551
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.079,
"after": 0.079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7534,
"after": 3.7534,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2396,
"after": 0.2381,
"delta": -0.0015,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5593,
"after": 0.5579,
"delta": -0.0014,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8979,
"after": 0.8935,
"delta": -0.0044,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.065,
"after": 0.065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1237,
"after": 0.1234,
"delta": -0.0003,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3442,
"after": 0.3367,
"delta": -0.0075,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5038,
"after": 0.4995,
"delta": -0.0043,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3114,
"after": 0.3087,
"delta": -0.0027,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3747,
"after": 0.358,
"delta": -0.0167,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7532,
"after": 0.7551,
"delta": 0.0019,
"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.3747,
"after": 0.358,
"delta": -0.0167,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.01), rates preserved: AVG=0.223 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.079,
"after": 0.0,
"delta": -0.079,
"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.7534,
"after": 4.0,
"delta": 0.2466,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5579,
"after": 1.0,
"delta": 0.4421,
"percent_delta": 0.7924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8935,
"after": 1.0,
"delta": 0.1065,
"percent_delta": 0.1192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.065,
"after": 0.0,
"delta": -0.065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1234,
"after": 0.0,
"delta": -0.1234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3087,
"after": 0.0,
"delta": -0.3087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7551,
"after": 1.0,
"delta": 0.2449,
"percent_delta": 0.3243,
"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.5579,
"after": 1.0,
"delta": 0.4421,
"percent_delta": 0.7924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3087,
"after": 0.0,
"delta": -0.3087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4995,
"after": 0.0,
"delta": -0.4995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4995,
"after": 0.0,
"delta": -0.4995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2381,
"after": 0.25,
"delta": 0.0119,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3367,
"after": 0.4,
"delta": 0.0633,
"percent_delta": 0.188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.25,
"delta": -0.108,
"percent_delta": -0.3017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3367,
"after": 0.4,
"delta": 0.0633,
"percent_delta": 0.188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.25,
"delta": -0.108,
"percent_delta": -0.3017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2381,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3367,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.358,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2381,
"delta": -0.0119,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3367,
"delta": -0.0633,
"percent_delta": -0.1584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.358,
"delta": 0.108,
"percent_delta": 0.4319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.358,
"delta": 0.108,
"percent_delta": 0.4319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3367,
"delta": -0.0633,
"percent_delta": -0.1584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.079,
"after": 0.0,
"delta": -0.079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 2.0,
"delta": -2.01,
"percent_delta": -0.5012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2381,
"delta": 0.0011,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.603,
"after": 2.0,
"delta": 1.397,
"percent_delta": 2.3167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3367,
"delta": -0.0033,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 0.0,
"delta": -0.524,
"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.358,
"delta": -0.021,
"percent_delta": -0.0554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.0,
"delta": -0.778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.603,
"after": 2.0,
"delta": 1.397,
"percent_delta": 2.3167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 2.0,
"delta": -2.01,
"percent_delta": -0.5012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.079 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.010 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.603 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.524 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.778 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.079 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.753 | -0.257 |
| predicted_AVG | 0.240 | 0.003 |
| predicted_BB | 0.559 | -0.044 |
| predicted_H | 0.898 | -0.052 |
| predicted_HBP | 0.065 | - |
| predicted_HR | 0.124 | -0.006 |
| predicted_OBP | 0.344 | 0.004 |
| predicted_R | 0.504 | -0.020 |
| predicted_RBI | 0.311 | -0.039 |
| predicted_SLG | 0.375 | -0.004 |
| predicted_SO | 0.753 | -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.079 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.753 | 0.000 |
| predicted_AVG | 0.238 | -0.002 |
| predicted_BB | 0.558 | -0.001 |
| predicted_H | 0.893 | -0.004 |
| predicted_HBP | 0.065 | 0.000 |
| predicted_HR | 0.123 | -0.000 |
| predicted_OBP | 0.337 | -0.008 |
| predicted_R | 0.499 | -0.004 |
| predicted_RBI | 0.309 | -0.003 |
| predicted_SLG | 0.358 | -0.017 |
| predicted_SO | 0.755 | 0.002 |
AB rounded to 4 (raw=4.01), rates preserved: AVG=0.223 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 |
Player 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 | 4.000 | 0.247 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 1.000 | 0.442 |
| predicted_H | 1.000 | 0.107 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.400 | 0.063 |
| predicted_R | 0.000 | -0.499 |
| predicted_RBI | 0.000 | -0.309 |
| predicted_SLG | 0.250 | -0.108 |
| predicted_SO | 1.000 | 0.245 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -2.000 |
| BB | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 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 | 0.000 | 2.000 | 2.000 | 3.000 | 0.2500 | 0.3333 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.1250 | 0.1875 |
| last_10 | 0.20 | 10 | - | 31.000 | 9.000 | 1.000 | 0.000 | 1.000 | 1.000 | 4.000 | 4.000 | 6.000 | 0.2903 | 0.3889 | 0.4194 | 0.2903 | 0.0323 | 0.0323 | 0.1290 | 0.1935 |
| season | 0.60 | 63 | - | 219.000 | 49.000 | 5.000 | 0.000 | 10.000 | 23.000 | 33.000 | 38.000 | 49.000 | 0.2237 | 0.3498 | 0.3836 | 0.2237 | 0.0457 | 0.1050 | 0.1735 | 0.2237 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0790 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3990 |
| predicted_AVG | 0.2431 |
| predicted_BB | 0.4990 |
| predicted_H | 0.8260 |
| predicted_HBP | 0.0650 |
| predicted_HR | 0.1150 |
| predicted_OBP | 0.3501 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.2580 |
| predicted_SLG | 0.3688 |
| predicted_SO | 0.7190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0790 | 0.0790 | 0.0790 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0100 | 3.3990 | 3.7534 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2431 | 0.2396 | model_form_blend |
| predicted_BB | 0.6030 | 0.4990 | 0.5593 | model_form_blend |
| predicted_H | 0.9500 | 0.8260 | 0.8979 | model_form_blend |
| predicted_HBP | - | 0.0650 | 0.0650 | form_only |
| predicted_HR | 0.1300 | 0.1150 | 0.1237 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3501 | 0.3442 | model_form_blend |
| predicted_R | 0.5240 | 0.4760 | 0.5038 | model_form_blend |
| predicted_RBI | 0.3500 | 0.2580 | 0.3114 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3688 | 0.3747 | model_form_blend |
| predicted_SO | 0.7780 | 0.7190 | 0.7532 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 219 |
| Season rows before report date | 219 |
| Report year | 2026 |
| Profile rows used | 63 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 641487 |
| playerID | 641487 |
| playerName | J.P. Crawford |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-24 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 14.4 |
| sl_woba | 0.332 |
| sl_xwoba | 0.349 |
| sl_xba | 0.25 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 35.1 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 17.5 |
| sl_swing_percent | 37.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.278 | 0.000 | -0.278 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.880 | 3.000 | 4.000 | Hitting_AB | 3.698 | 3.000 | -0.698 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.303 | 0.000 | -0.303 | 0.000 |
| predicted_BB | 0.384 | 1.000 | 0.000 | Hitting_BB | 0.408 | 0.000 | 0.592 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 0.920 | 0.000 | 1.000 | Hitting_H | 1.122 | 0.000 | -1.122 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.250 | Hitting_OBP | 0.388 | 0.000 | -0.138 | 0.250 |
| predicted_R | 0.644 | 0.000 | 1.000 | Hitting_R | 0.678 | 0.000 | -0.678 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_SLG | 0.380 | 0.000 | 0.250 | Hitting_SLG | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_SO | 0.973 | 1.000 | 1.000 | Hitting_SO | 0.980 | 2.000 | 0.020 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3840 -> 1.0000 (boost 0.6160, better) |
| Biggest Deboost | predicted_H: 0.9200 -> 0.0000 (deboost -0.9200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 3.8800 -> 3.7723 (deboost -0.1077, worse) | Final model input calibrated with local 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.3060 (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 | 7 | 2 | 5 | 2 | 5 | predicted_AB: 3.7723 -> 4.0000 (boost 0.2277, better) | predicted_RBI: 0.4315 -> 0.0000 (deboost -0.4315, worse) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.232 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6028 -> 1.0000 (boost 0.3972, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2387 -> 0.2500 (boost 0.0113, better) | predicted_SLG: 0.3765 -> 0.2500 (deboost -0.1265, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | 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 |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3765 (boost 0.1265, better) | predicted_AVG: 0.2500 -> 0.2387 (deboost -0.0113, worse) | 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.247,
"predicted_3B": 0.014,
"predicted_AB": 3.88,
"predicted_AVG": 0.238,
"predicted_BB": 0.384,
"predicted_H": 0.92,
"predicted_HR": 0.1,
"predicted_OBP": 0.318,
"predicted_R": 0.644,
"predicted_RBI": 0.45,
"predicted_SLG": 0.38,
"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.2211,
"predicted_3B": 0.0119,
"predicted_AB": 3.7723,
"predicted_AVG": 0.2404,
"predicted_BB": 0.367,
"predicted_H": 0.9047,
"predicted_HBP": 0.095,
"predicted_HR": 0.0919,
"predicted_OBP": 0.3192,
"predicted_R": 0.608,
"predicted_RBI": 0.4352,
"predicted_SLG": 0.3744,
"predicted_SO": 1.023
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.2211,
"delta": -0.0259,
"percent_delta": -0.1049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 3.7723,
"delta": -0.1077,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2404,
"delta": 0.0024,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.384,
"after": 0.367,
"delta": -0.017,
"percent_delta": -0.0443,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9047,
"delta": -0.0153,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0919,
"delta": -0.0081,
"percent_delta": -0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3192,
"delta": 0.0012,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.644,
"after": 0.608,
"delta": -0.036,
"percent_delta": -0.0559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4352,
"delta": -0.0148,
"percent_delta": -0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.38,
"after": 0.3744,
"delta": -0.0056,
"percent_delta": -0.0147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 1.023,
"delta": 0.05,
"percent_delta": 0.0514,
"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.88,
"after": 3.7723,
"delta": -0.1077,
"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": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2211,
"predicted_3B": 0.0119,
"predicted_AB": 3.7723,
"predicted_AVG": 0.2387,
"predicted_BB": 0.3661,
"predicted_H": 0.9003,
"predicted_HBP": 0.095,
"predicted_HR": 0.0917,
"predicted_OBP": 0.306,
"predicted_R": 0.6028,
"predicted_RBI": 0.4315,
"predicted_SLG": 0.3765,
"predicted_SO": 1.0256
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2211,
"after": 0.2211,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7723,
"after": 3.7723,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2404,
"after": 0.2387,
"delta": -0.0017,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.367,
"after": 0.3661,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9047,
"after": 0.9003,
"delta": -0.0044,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0919,
"after": 0.0917,
"delta": -0.0002,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3192,
"after": 0.306,
"delta": -0.0132,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.608,
"after": 0.6028,
"delta": -0.0052,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4352,
"after": 0.4315,
"delta": -0.0037,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3744,
"after": 0.3765,
"delta": 0.0021,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.023,
"after": 1.0256,
"delta": 0.0026,
"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.3192,
"after": 0.306,
"delta": -0.0132,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.88), rates preserved: AVG=0.232 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2211,
"after": 0.0,
"delta": -0.2211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7723,
"after": 4.0,
"delta": 0.2277,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3661,
"after": 0.0,
"delta": -0.3661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9003,
"after": 1.0,
"delta": 0.0997,
"percent_delta": 0.1107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0917,
"after": 0.0,
"delta": -0.0917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4315,
"after": 0.0,
"delta": -0.4315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0256,
"after": 1.0,
"delta": -0.0256,
"percent_delta": -0.025,
"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": 3.7723,
"after": 4.0,
"delta": 0.2277,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4315,
"after": 0.0,
"delta": -0.4315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6028,
"after": 1.0,
"delta": 0.3972,
"percent_delta": 0.6589,
"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.6028,
"after": 1.0,
"delta": 0.3972,
"percent_delta": 0.6589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.25,
"delta": 0.0113,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.25,
"delta": -0.056,
"percent_delta": -0.183,
"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.3765,
"after": 0.25,
"delta": -0.1265,
"percent_delta": -0.336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.25,
"delta": 0.0113,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3765,
"after": 0.25,
"delta": -0.1265,
"percent_delta": -0.336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2387,
"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.306,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3765,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2387,
"delta": -0.0113,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.306,
"delta": 0.056,
"percent_delta": 0.224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3765,
"delta": 0.1265,
"percent_delta": 0.506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3765,
"delta": 0.1265,
"percent_delta": 0.506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2387,
"delta": -0.0113,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 3.0,
"delta": -0.88,
"percent_delta": -0.2268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2387,
"delta": 0.0007,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.384,
"after": 1.0,
"delta": 0.616,
"percent_delta": 1.6042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.306,
"delta": -0.012,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.644,
"after": 0.0,
"delta": -0.644,
"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.38,
"after": 0.3765,
"delta": -0.0035,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.384,
"after": 1.0,
"delta": 0.616,
"percent_delta": 1.6042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.384 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.644 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.380 | - |
| 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.221 | -0.026 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.772 | -0.108 |
| predicted_AVG | 0.240 | 0.002 |
| predicted_BB | 0.367 | -0.017 |
| predicted_H | 0.905 | -0.015 |
| predicted_HBP | 0.095 | - |
| predicted_HR | 0.092 | -0.008 |
| predicted_OBP | 0.319 | 0.001 |
| predicted_R | 0.608 | -0.036 |
| predicted_RBI | 0.435 | -0.015 |
| predicted_SLG | 0.374 | -0.006 |
| predicted_SO | 1.023 | 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.221 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.772 | 0.000 |
| predicted_AVG | 0.239 | -0.002 |
| predicted_BB | 0.366 | -0.001 |
| predicted_H | 0.900 | -0.004 |
| predicted_HBP | 0.095 | 0.000 |
| predicted_HR | 0.092 | -0.000 |
| predicted_OBP | 0.306 | -0.013 |
| predicted_R | 0.603 | -0.005 |
| predicted_RBI | 0.431 | -0.004 |
| predicted_SLG | 0.377 | 0.002 |
| predicted_SO | 1.026 | 0.003 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.232 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.221 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.228 |
| predicted_AVG | 0.250 | 0.011 |
| predicted_BB | 0.000 | -0.366 |
| predicted_H | 1.000 | 0.100 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.250 | -0.056 |
| predicted_R | 1.000 | 0.397 |
| predicted_RBI | 0.000 | -0.431 |
| predicted_SLG | 0.250 | -0.127 |
| predicted_SO | 1.000 | -0.026 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | - | 17.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 8.000 | 0.0588 | 0.1111 | 0.0588 | 0.0588 | 0.0000 | 0.0000 | 0.0588 | 0.4706 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 2.000 | 0.000 | 1.000 | 7.000 | 5.000 | 4.000 | 10.000 | 0.3056 | 0.3902 | 0.4444 | 0.3056 | 0.0278 | 0.1944 | 0.1111 | 0.2778 |
| season | 0.60 | 73 | - | 268.000 | 76.000 | 18.000 | 1.000 | 7.000 | 33.000 | 47.000 | 28.000 | 71.000 | 0.2836 | 0.3689 | 0.4366 | 0.2836 | 0.0261 | 0.1231 | 0.1045 | 0.2649 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.6260 |
| predicted_AVG | 0.2437 |
| predicted_BB | 0.3440 |
| predicted_H | 0.8840 |
| predicted_HBP | 0.0950 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.3209 |
| predicted_R | 0.5590 |
| predicted_RBI | 0.4150 |
| predicted_SLG | 0.3668 |
| predicted_SO | 1.0910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2470 | 0.1860 | 0.2211 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 3.8800 | 3.6260 | 3.7723 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2437 | 0.2404 | model_form_blend |
| predicted_BB | 0.3840 | 0.3440 | 0.3670 | model_form_blend |
| predicted_H | 0.9200 | 0.8840 | 0.9047 | model_form_blend |
| predicted_HBP | - | 0.0950 | 0.0950 | form_only |
| predicted_HR | 0.1000 | 0.0810 | 0.0919 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3209 | 0.3192 | model_form_blend |
| predicted_R | 0.6440 | 0.5590 | 0.6080 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4150 | 0.4352 | model_form_blend |
| predicted_SLG | 0.3800 | 0.3668 | 0.3744 | model_form_blend |
| predicted_SO | 0.9730 | 1.0910 | 1.0230 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 255 |
| Season rows before report date | 255 |
| Report year | 2026 |
| Profile rows used | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.284 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 668227 |
| playerID | 668227 |
| playerName | Randy Arozarena |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.357 |
| sl_xwoba | 0.345 |
| sl_xba | 0.265 |
| sl_xslg | 0.418 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 7.6 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 47.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.135 | 0.000 | 0.000 | Hitting_2B | 0.108 | 1.000 | -0.108 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.260 | 4.000 | 4.000 | Hitting_AB | 3.992 | 4.000 | 0.008 | 0.000 |
| predicted_AVG | 0.241 | 0.250 | 0.250 | Hitting_AVG | 0.267 | 0.500 | -0.017 | -0.250 |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 1.064 | 2.000 | -0.064 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.313 | 0.250 | 0.250 | Hitting_OBP | 0.330 | 0.500 | -0.080 | -0.250 |
| predicted_R | 0.378 | 1.000 | 0.000 | Hitting_R | 0.404 | 0.000 | 0.596 | 1.000 |
| predicted_RBI | 0.420 | 1.000 | 0.000 | Hitting_RBI | 0.468 | 0.000 | 0.532 | 1.000 |
| predicted_SLG | 0.389 | 0.250 | 0.250 | Hitting_SLG | 0.369 | 0.750 | -0.119 | -0.500 |
| predicted_SO | 0.568 | 0.000 | 1.000 | Hitting_SO | 0.596 | 1.000 | -0.596 | -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_R: 0.3780 -> 1.0000 (boost 0.6220, better) |
| Biggest Deboost | predicted_SO: 0.5680 -> 0.0000 (deboost -0.5680, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2410 -> 0.2500 (boost 0.0090, better) | predicted_AB: 4.2600 -> 4.1088 (deboost -0.1512, worse) | Final model input calibrated with local 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.3883 -> 0.3598 (deboost -0.0285, 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.5933 -> 1.0000 (boost 0.4067, worse) | predicted_RBI: 0.3911 -> 0.0000 (deboost -0.3911, worse) | AB rounded to 4 (raw=4.26), rates preserved: AVG=0.240 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3356 -> 0.0000 (deboost -0.3356, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3598 -> 0.2500 (deboost -0.1098, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3598 (boost 0.1098, 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.135,
"predicted_3B": 0.0,
"predicted_AB": 4.26,
"predicted_AVG": 0.241,
"predicted_BB": 0.324,
"predicted_H": 1.03,
"predicted_HR": 0.1,
"predicted_OBP": 0.313,
"predicted_R": 0.378,
"predicted_RBI": 0.42,
"predicted_SLG": 0.389,
"predicted_SO": 0.568
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1711,
"predicted_3B": 0.0004,
"predicted_AB": 4.1088,
"predicted_AVG": 0.25,
"predicted_BB": 0.3036,
"predicted_H": 1.0275,
"predicted_HBP": 0.018,
"predicted_HR": 0.0949,
"predicted_OBP": 0.3133,
"predicted_R": 0.3385,
"predicted_RBI": 0.3945,
"predicted_SLG": 0.3883,
"predicted_SO": 0.5918
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.1711,
"delta": 0.0361,
"percent_delta": 0.2674,
"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.26,
"after": 4.1088,
"delta": -0.1512,
"percent_delta": -0.0355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.25,
"delta": 0.009,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.3036,
"delta": -0.0204,
"percent_delta": -0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0275,
"delta": -0.0025,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0949,
"delta": -0.0051,
"percent_delta": -0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3133,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.378,
"after": 0.3385,
"delta": -0.0395,
"percent_delta": -0.1045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.3945,
"delta": -0.0255,
"percent_delta": -0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3883,
"delta": -0.0007,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.568,
"after": 0.5918,
"delta": 0.0238,
"percent_delta": 0.0419,
"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.241,
"after": 0.25,
"delta": 0.009,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 4.1088,
"delta": -0.1512,
"percent_delta": -0.0355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1711,
"predicted_3B": 0.0004,
"predicted_AB": 4.1088,
"predicted_AVG": 0.2488,
"predicted_BB": 0.3028,
"predicted_H": 1.0225,
"predicted_HBP": 0.018,
"predicted_HR": 0.0947,
"predicted_OBP": 0.3004,
"predicted_R": 0.3356,
"predicted_RBI": 0.3911,
"predicted_SLG": 0.3598,
"predicted_SO": 0.5933
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1711,
"after": 0.1711,
"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.1088,
"after": 4.1088,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2488,
"delta": -0.0012,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3036,
"after": 0.3028,
"delta": -0.0008,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0275,
"after": 1.0225,
"delta": -0.005,
"percent_delta": -0.0049,
"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.0949,
"after": 0.0947,
"delta": -0.0002,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3133,
"after": 0.3004,
"delta": -0.0129,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3385,
"after": 0.3356,
"delta": -0.0029,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3945,
"after": 0.3911,
"delta": -0.0034,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3883,
"after": 0.3598,
"delta": -0.0285,
"percent_delta": -0.0734,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5918,
"after": 0.5933,
"delta": 0.0015,
"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.3883,
"after": 0.3598,
"delta": -0.0285,
"percent_delta": -0.0734,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.240 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1711,
"after": 0.0,
"delta": -0.1711,
"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.1088,
"after": 4.0,
"delta": -0.1088,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3028,
"after": 0.0,
"delta": -0.3028,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0225,
"after": 1.0,
"delta": -0.0225,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0947,
"after": 0.0,
"delta": -0.0947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3911,
"after": 0.0,
"delta": -0.3911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5933,
"after": 1.0,
"delta": 0.4067,
"percent_delta": 0.6855,
"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.5933,
"after": 1.0,
"delta": 0.4067,
"percent_delta": 0.6855,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3911,
"after": 0.0,
"delta": -0.3911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3356,
"after": 0.0,
"delta": -0.3356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3356,
"after": 0.0,
"delta": -0.3356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2488,
"after": 0.25,
"delta": 0.0012,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3004,
"after": 0.25,
"delta": -0.0504,
"percent_delta": -0.1678,
"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.3598,
"after": 0.25,
"delta": -0.1098,
"percent_delta": -0.3052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3598,
"after": 0.25,
"delta": -0.1098,
"percent_delta": -0.3052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2488,
"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.3004,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3598,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2488,
"delta": -0.0012,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3004,
"delta": 0.0504,
"percent_delta": 0.2016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3598,
"delta": 0.1098,
"percent_delta": 0.4393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3598,
"delta": 0.1098,
"percent_delta": 0.4393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.26,
"after": 4.0,
"delta": -0.26,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2488,
"delta": 0.0078,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3004,
"delta": -0.0126,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.378,
"after": 1.0,
"delta": 0.622,
"percent_delta": 1.6455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3598,
"delta": -0.0292,
"percent_delta": -0.0751,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.568,
"after": 0.0,
"delta": -0.568,
"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_R",
"before": 0.378,
"after": 1.0,
"delta": 0.622,
"percent_delta": 1.6455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.568,
"after": 0.0,
"delta": -0.568,
"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.135 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.378 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.389 | - |
| predicted_SO | 0.568 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.036 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.109 | -0.151 |
| predicted_AVG | 0.250 | 0.009 |
| predicted_BB | 0.304 | -0.020 |
| predicted_H | 1.028 | -0.002 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.095 | -0.005 |
| predicted_OBP | 0.313 | 0.000 |
| predicted_R | 0.339 | -0.039 |
| predicted_RBI | 0.395 | -0.025 |
| predicted_SLG | 0.388 | -0.001 |
| predicted_SO | 0.592 | 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.171 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.109 | 0.000 |
| predicted_AVG | 0.249 | -0.001 |
| predicted_BB | 0.303 | -0.001 |
| predicted_H | 1.022 | -0.005 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.095 | -0.000 |
| predicted_OBP | 0.300 | -0.013 |
| predicted_R | 0.336 | -0.003 |
| predicted_RBI | 0.391 | -0.003 |
| predicted_SLG | 0.360 | -0.028 |
| predicted_SO | 0.593 | 0.002 |
AB rounded to 4 (raw=4.26), rates preserved: AVG=0.240 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.171 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.109 |
| predicted_AVG | 0.250 | 0.001 |
| predicted_BB | 0.000 | -0.303 |
| predicted_H | 1.000 | -0.022 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.250 | -0.050 |
| predicted_R | 0.000 | -0.336 |
| predicted_RBI | 0.000 | -0.391 |
| predicted_SLG | 0.250 | -0.110 |
| predicted_SO | 1.000 | 0.407 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 4.000 | 0.3158 | 0.3500 | 0.4211 | 0.3158 | 0.0000 | 0.0526 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 3.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 5.000 | 0.2308 | 0.2683 | 0.3846 | 0.2308 | 0.0256 | 0.0513 | 0.0513 | 0.1282 |
| season | 0.60 | 74 | - | 292.000 | 75.000 | 10.000 | 0.000 | 8.000 | 33.000 | 28.000 | 24.000 | 42.000 | 0.2568 | 0.3166 | 0.3733 | 0.2569 | 0.0274 | 0.1130 | 0.0822 | 0.1438 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9040 |
| predicted_AVG | 0.2623 |
| predicted_BB | 0.2760 |
| predicted_H | 1.0240 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.3136 |
| predicted_R | 0.2850 |
| predicted_RBI | 0.3600 |
| predicted_SLG | 0.3873 |
| predicted_SO | 0.6240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.2200 | 0.1711 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2600 | 3.9040 | 4.1088 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2623 | 0.2500 | model_form_blend |
| predicted_BB | 0.3240 | 0.2760 | 0.3036 | model_form_blend |
| predicted_H | 1.0300 | 1.0240 | 1.0275 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1000 | 0.0880 | 0.0949 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3136 | 0.3133 | model_form_blend |
| predicted_R | 0.3780 | 0.2850 | 0.3385 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3600 | 0.3945 | model_form_blend |
| predicted_SLG | 0.3890 | 0.3873 | 0.3883 | model_form_blend |
| predicted_SO | 0.5680 | 0.6240 | 0.5918 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 250 |
| Season rows before report date | 250 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.257 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 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 | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 647304 |
| playerID | 647304 |
| playerName | Josh Naylor |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-24 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.305 |
| sl_xwoba | 0.323 |
| sl_xba | 0.273 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 14.2 |
| sl_whiff_percent | 18.8 |
| 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.103 | 0.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 2.941 | 3.000 | 3.000 | Hitting_AB | 3.395 | 4.000 | -0.395 | -1.000 |
| predicted_AVG | 0.233 | 0.000 | 0.333 | Hitting_AVG | 0.283 | 0.000 | -0.283 | 0.000 |
| predicted_BB | 0.162 | 0.000 | 0.000 | Hitting_BB | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 0.680 | 0.000 | 1.000 | Hitting_H | 0.959 | 0.000 | -0.959 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_OBP | 0.260 | 0.000 | 0.333 | Hitting_OBP | 0.337 | 0.000 | -0.337 | 0.000 |
| predicted_R | 0.368 | 1.000 | 0.000 | Hitting_R | 0.506 | 0.000 | 0.494 | 1.000 |
| predicted_RBI | 0.410 | 1.000 | 0.000 | Hitting_RBI | 0.767 | 0.000 | 0.233 | 1.000 |
| predicted_SLG | 0.396 | 0.000 | 0.333 | Hitting_SLG | 0.591 | 0.000 | -0.591 | 0.000 |
| predicted_SO | 1.059 | 1.000 | 1.000 | Hitting_SO | 1.169 | 4.000 | -0.169 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.3680 -> 1.0000 (boost 0.6320, 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 | 4 | 1 | 3 | 1 | 3 | predicted_AB: 2.9410 -> 3.0396 (boost 0.0986, better) | predicted_AVG: 0.2330 -> 0.2156 (deboost -0.0174, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3901 -> 0.4017 (boost 0.0116, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.6470 -> 1.0000 (boost 0.3530, better) | predicted_RBI: 0.4065 -> 0.0000 (deboost -0.4065, worse) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.213 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3550 -> 0.0000 (deboost -0.3550, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2129 -> 0.3330 (boost 0.1201, better) | predicted_SLG: 0.4017 -> 0.3330 (deboost -0.0687, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | 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 |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4017 (boost 0.0687, better) | predicted_AVG: 0.3330 -> 0.2129 (deboost -0.1201, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670042",
"player_name": "Luke Raley",
"position": "RF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.103,
"predicted_3B": 0.015,
"predicted_AB": 2.941,
"predicted_AVG": 0.233,
"predicted_BB": 0.162,
"predicted_H": 0.68,
"predicted_HR": 0.14,
"predicted_OBP": 0.26,
"predicted_R": 0.368,
"predicted_RBI": 0.41,
"predicted_SLG": 0.396,
"predicted_SO": 1.059
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1204,
"predicted_3B": 0.0129,
"predicted_AB": 3.0396,
"predicted_AVG": 0.2156,
"predicted_BB": 0.1591,
"predicted_H": 0.6502,
"predicted_HBP": 0.054,
"predicted_HR": 0.1429,
"predicted_OBP": 0.2511,
"predicted_R": 0.3581,
"predicted_RBI": 0.41,
"predicted_SLG": 0.3901,
"predicted_SO": 1.0884
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.1204,
"delta": 0.0174,
"percent_delta": 0.1689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.941,
"after": 3.0396,
"delta": 0.0986,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2156,
"delta": -0.0174,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.1591,
"delta": -0.0029,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.6502,
"delta": -0.0298,
"percent_delta": -0.0438,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1429,
"delta": 0.0029,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.26,
"after": 0.2511,
"delta": -0.0089,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.368,
"after": 0.3581,
"delta": -0.0099,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.41,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3901,
"delta": -0.0059,
"percent_delta": -0.0149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.059,
"after": 1.0884,
"delta": 0.0294,
"percent_delta": 0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.941,
"after": 3.0396,
"delta": 0.0986,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2156,
"delta": -0.0174,
"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": 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.1204,
"predicted_3B": 0.0129,
"predicted_AB": 3.0396,
"predicted_AVG": 0.2129,
"predicted_BB": 0.1587,
"predicted_H": 0.647,
"predicted_HBP": 0.054,
"predicted_HR": 0.1426,
"predicted_OBP": 0.2519,
"predicted_R": 0.355,
"predicted_RBI": 0.4065,
"predicted_SLG": 0.4017,
"predicted_SO": 1.0911
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1204,
"after": 0.1204,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0396,
"after": 3.0396,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2156,
"after": 0.2129,
"delta": -0.0027,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1591,
"after": 0.1587,
"delta": -0.0004,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6502,
"after": 0.647,
"delta": -0.0032,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1429,
"after": 0.1426,
"delta": -0.0003,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2511,
"after": 0.2519,
"delta": 0.0008,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3581,
"after": 0.355,
"delta": -0.0031,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4065,
"delta": -0.0035,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3901,
"after": 0.4017,
"delta": 0.0116,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0884,
"after": 1.0911,
"delta": 0.0027,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_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.3901,
"after": 0.4017,
"delta": 0.0116,
"percent_delta": 0.0297,
"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.04), rates preserved: AVG=0.213 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1204,
"after": 0.0,
"delta": -0.1204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0396,
"after": 3.0,
"delta": -0.0396,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1587,
"after": 0.0,
"delta": -0.1587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.647,
"after": 1.0,
"delta": 0.353,
"percent_delta": 0.5456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1426,
"after": 0.0,
"delta": -0.1426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4065,
"after": 0.0,
"delta": -0.4065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0911,
"after": 1.0,
"delta": -0.0911,
"percent_delta": -0.0835,
"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.647,
"after": 1.0,
"delta": 0.353,
"percent_delta": 0.5456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4065,
"after": 0.0,
"delta": -0.4065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.355,
"after": 0.0,
"delta": -0.355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.355,
"after": 0.0,
"delta": -0.355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2129,
"after": 0.333,
"delta": 0.1201,
"percent_delta": 0.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2519,
"after": 0.333,
"delta": 0.0811,
"percent_delta": 0.322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4017,
"after": 0.333,
"delta": -0.0687,
"percent_delta": -0.171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2129,
"after": 0.333,
"delta": 0.1201,
"percent_delta": 0.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4017,
"after": 0.333,
"delta": -0.0687,
"percent_delta": -0.171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2129,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2519,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4017,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2129,
"delta": -0.1201,
"percent_delta": -0.3608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2519,
"delta": -0.0811,
"percent_delta": -0.2435,
"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.333,
"after": 0.4017,
"delta": 0.0687,
"percent_delta": 0.2063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4017,
"delta": 0.0687,
"percent_delta": 0.2063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2129,
"delta": -0.1201,
"percent_delta": -0.3608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.941,
"after": 3.0,
"delta": 0.059,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2129,
"delta": -0.0201,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.26,
"after": 0.2519,
"delta": -0.0081,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.368,
"after": 1.0,
"delta": 0.632,
"percent_delta": 1.7174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4017,
"delta": 0.0057,
"percent_delta": 0.0144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.059,
"after": 1.0,
"delta": -0.059,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.368,
"after": 1.0,
"delta": 0.632,
"percent_delta": 1.7174,
"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.103 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.941 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.162 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.260 | - |
| predicted_R | 0.368 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 1.059 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | 0.017 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.040 | 0.099 |
| predicted_AVG | 0.216 | -0.017 |
| predicted_BB | 0.159 | -0.003 |
| predicted_H | 0.650 | -0.030 |
| predicted_HBP | 0.054 | - |
| predicted_HR | 0.143 | 0.003 |
| predicted_OBP | 0.251 | -0.009 |
| predicted_R | 0.358 | -0.010 |
| predicted_RBI | 0.410 | 0.000 |
| predicted_SLG | 0.390 | -0.006 |
| predicted_SO | 1.088 | 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.120 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.040 | 0.000 |
| predicted_AVG | 0.213 | -0.003 |
| predicted_BB | 0.159 | -0.000 |
| predicted_H | 0.647 | -0.003 |
| predicted_HBP | 0.054 | 0.000 |
| predicted_HR | 0.143 | -0.000 |
| predicted_OBP | 0.252 | 0.001 |
| predicted_R | 0.355 | -0.003 |
| predicted_RBI | 0.406 | -0.004 |
| predicted_SLG | 0.402 | 0.012 |
| predicted_SO | 1.091 | 0.003 |
AB rounded to 3 (raw=3.04), rates preserved: AVG=0.213 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.120 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.040 |
| predicted_AVG | 0.333 | 0.120 |
| predicted_BB | 0.000 | -0.159 |
| predicted_H | 1.000 | 0.353 |
| predicted_HR | 0.000 | -0.143 |
| predicted_OBP | 0.333 | 0.081 |
| predicted_R | 0.000 | -0.355 |
| predicted_RBI | 0.000 | -0.406 |
| predicted_SLG | 0.333 | -0.069 |
| 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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 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 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 7.000 | 0.0625 | 0.0625 | 0.1250 | 0.0625 | 0.0000 | 0.0000 | 0.0000 | 0.4375 |
| last_10 | 0.20 | 10 | - | 34.000 | 5.000 | 2.000 | 0.000 | 1.000 | 4.000 | 3.000 | 2.000 | 12.000 | 0.1471 | 0.1944 | 0.2941 | 0.1471 | 0.0294 | 0.1177 | 0.0588 | 0.3529 |
| season | 0.60 | 68 | - | 200.000 | 47.000 | 7.000 | 1.000 | 14.000 | 35.000 | 25.000 | 11.000 | 72.000 | 0.2350 | 0.2949 | 0.4900 | 0.2350 | 0.0700 | 0.1750 | 0.0550 | 0.3600 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1450 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.1790 |
| predicted_AVG | 0.1911 |
| predicted_BB | 0.1550 |
| predicted_H | 0.6080 |
| predicted_HBP | 0.0540 |
| predicted_HR | 0.1470 |
| predicted_OBP | 0.2386 |
| predicted_R | 0.3440 |
| predicted_RBI | 0.4100 |
| predicted_SLG | 0.3817 |
| predicted_SO | 1.1300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.1450 | 0.1204 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 2.9410 | 3.1790 | 3.0396 | model_form_blend |
| predicted_AVG | 0.2330 | 0.1911 | 0.2156 | model_form_blend |
| predicted_BB | 0.1620 | 0.1550 | 0.1591 | model_form_blend |
| predicted_H | 0.6800 | 0.6080 | 0.6502 | model_form_blend |
| predicted_HBP | - | 0.0540 | 0.0540 | form_only |
| predicted_HR | 0.1400 | 0.1470 | 0.1429 | model_form_blend |
| predicted_OBP | 0.2600 | 0.2386 | 0.2511 | model_form_blend |
| predicted_R | 0.3680 | 0.3440 | 0.3581 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4100 | 0.4100 | model_form_blend |
| predicted_SLG | 0.3960 | 0.3817 | 0.3901 | model_form_blend |
| predicted_SO | 1.0590 | 1.1300 | 1.0884 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 172 |
| Season rows before report date | 172 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.235 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 4 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 670042 |
| playerID | 670042 |
| playerName | Luke Raley |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-24 |
| sl_k_percent | 32.9 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.337 |
| sl_xwoba | 0.351 |
| sl_xba | 0.253 |
| sl_xslg | 0.511 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 16.9 |
| sl_hard_hit_percent | 48.5 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 41.1 |
| 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.188 | 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 | 4.440 | 3.000 | 4.000 | Hitting_AB | 4.074 | 4.000 | -1.074 | -1.000 |
| predicted_AVG | 0.229 | 0.000 | 0.250 | Hitting_AVG | 0.255 | 0.500 | -0.255 | -0.500 |
| predicted_BB | 0.325 | 1.000 | 0.000 | Hitting_BB | 0.322 | 0.000 | 0.678 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 1.020 | 0.000 | 1.000 | Hitting_H | 1.037 | 2.000 | -1.037 | -2.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_OBP | 0.305 | 0.250 | 0.250 | Hitting_OBP | 0.314 | 0.500 | -0.064 | -0.250 |
| predicted_R | 0.525 | 0.000 | 0.000 | Hitting_R | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 0.000 | Hitting_RBI | 0.515 | 1.000 | -0.515 | -1.000 |
| predicted_SLG | 0.404 | 0.000 | 0.250 | Hitting_SLG | 0.435 | 0.500 | -0.435 | -0.500 |
| predicted_SO | 0.912 | 2.000 | 1.000 | Hitting_SO | 0.919 | 2.000 | 1.081 | 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_SO: 0.9120 -> 2.0000 (boost 1.0880, worse) |
| Biggest Deboost | predicted_AB: 4.4400 -> 3.0000 (deboost -1.4400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.4400 -> 4.1818 (deboost -0.2582, worse) | Final model input calibrated with local 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.3036 -> 0.2833 (deboost -0.0203, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.9198 -> 1.0000 (boost 0.0802, worse) | predicted_RBI: 0.5077 -> 0.0000 (deboost -0.5077, worse) | AB rounded to 4 (raw=4.44), rates preserved: AVG=0.217 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4994 -> 0.0000 (deboost -0.4994, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2300 -> 0.2500 (boost 0.0200, better) | predicted_SLG: 0.3889 -> 0.2500 (deboost -0.1389, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3889 (boost 0.1389, better) | predicted_AVG: 0.2500 -> 0.2300 (deboost -0.0200, worse) | 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.188,
"predicted_3B": 0.0,
"predicted_AB": 4.44,
"predicted_AVG": 0.229,
"predicted_BB": 0.325,
"predicted_H": 1.02,
"predicted_HR": 0.17,
"predicted_OBP": 0.305,
"predicted_R": 0.525,
"predicted_RBI": 0.53,
"predicted_SLG": 0.404,
"predicted_SO": 0.912
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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": 4.1818,
"predicted_AVG": 0.2309,
"predicted_BB": 0.3118,
"predicted_H": 0.9666,
"predicted_HBP": 0.082,
"predicted_HR": 0.1666,
"predicted_OBP": 0.3036,
"predicted_R": 0.5037,
"predicted_RBI": 0.5121,
"predicted_SLG": 0.4005,
"predicted_SO": 0.9175
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.165,
"delta": -0.023,
"percent_delta": -0.1223,
"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.44,
"after": 4.1818,
"delta": -0.2582,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2309,
"delta": 0.0019,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 0.3118,
"delta": -0.0132,
"percent_delta": -0.0406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.9666,
"delta": -0.0534,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1666,
"delta": -0.0034,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3036,
"delta": -0.0014,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.525,
"after": 0.5037,
"delta": -0.0213,
"percent_delta": -0.0406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5121,
"delta": -0.0179,
"percent_delta": -0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4005,
"delta": -0.0035,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.912,
"after": 0.9175,
"delta": 0.0055,
"percent_delta": 0.006,
"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.44,
"after": 4.1818,
"delta": -0.2582,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.165,
"predicted_3B": 0.0004,
"predicted_AB": 4.1818,
"predicted_AVG": 0.23,
"predicted_BB": 0.311,
"predicted_H": 0.9619,
"predicted_HBP": 0.082,
"predicted_HR": 0.1663,
"predicted_OBP": 0.2833,
"predicted_R": 0.4994,
"predicted_RBI": 0.5077,
"predicted_SLG": 0.3889,
"predicted_SO": 0.9198
},
"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": 4.1818,
"after": 4.1818,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.23,
"delta": -0.0009,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3118,
"after": 0.311,
"delta": -0.0008,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9666,
"after": 0.9619,
"delta": -0.0047,
"percent_delta": -0.0049,
"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.1666,
"after": 0.1663,
"delta": -0.0003,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3036,
"after": 0.2833,
"delta": -0.0203,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5037,
"after": 0.4994,
"delta": -0.0043,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5121,
"after": 0.5077,
"delta": -0.0044,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4005,
"after": 0.3889,
"delta": -0.0116,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9175,
"after": 0.9198,
"delta": 0.0023,
"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.3036,
"after": 0.2833,
"delta": -0.0203,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.44), rates preserved: AVG=0.217 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.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": 4.1818,
"after": 4.0,
"delta": -0.1818,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.311,
"after": 0.0,
"delta": -0.311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9619,
"after": 1.0,
"delta": 0.0381,
"percent_delta": 0.0396,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1663,
"after": 0.0,
"delta": -0.1663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5077,
"after": 0.0,
"delta": -0.5077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9198,
"after": 1.0,
"delta": 0.0802,
"percent_delta": 0.0872,
"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.9198,
"after": 1.0,
"delta": 0.0802,
"percent_delta": 0.0872,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5077,
"after": 0.0,
"delta": -0.5077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4994,
"after": 0.0,
"delta": -0.4994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4994,
"after": 0.0,
"delta": -0.4994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.25,
"delta": 0.02,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2833,
"after": 0.25,
"delta": -0.0333,
"percent_delta": -0.1175,
"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.3889,
"after": 0.25,
"delta": -0.1389,
"percent_delta": -0.3572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.25,
"delta": 0.02,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3889,
"after": 0.25,
"delta": -0.1389,
"percent_delta": -0.3572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.23,
"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.2833,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3889,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.23,
"delta": -0.02,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2833,
"delta": 0.0333,
"percent_delta": 0.1333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3889,
"delta": 0.1389,
"percent_delta": 0.5557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3889,
"delta": 0.1389,
"percent_delta": 0.5557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.23,
"delta": -0.02,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.44,
"after": 3.0,
"delta": -1.44,
"percent_delta": -0.3243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.23,
"delta": 0.001,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 1.0,
"delta": 0.675,
"percent_delta": 2.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"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.305,
"after": 0.2833,
"delta": -0.0217,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.525,
"after": 0.0,
"delta": -0.525,
"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.404,
"after": 0.3889,
"delta": -0.0151,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.912,
"after": 2.0,
"delta": 1.088,
"percent_delta": 1.193,
"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.912,
"after": 2.0,
"delta": 1.088,
"percent_delta": 1.193,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.44,
"after": 3.0,
"delta": -1.44,
"percent_delta": -0.3243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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 | 4.440 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.325 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.525 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 0.912 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.023 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.182 | -0.258 |
| predicted_AVG | 0.231 | 0.002 |
| predicted_BB | 0.312 | -0.013 |
| predicted_H | 0.967 | -0.053 |
| predicted_HBP | 0.082 | - |
| predicted_HR | 0.167 | -0.003 |
| predicted_OBP | 0.304 | -0.001 |
| predicted_R | 0.504 | -0.021 |
| predicted_RBI | 0.512 | -0.018 |
| predicted_SLG | 0.401 | -0.004 |
| predicted_SO | 0.917 | 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.165 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.182 | 0.000 |
| predicted_AVG | 0.230 | -0.001 |
| predicted_BB | 0.311 | -0.001 |
| predicted_H | 0.962 | -0.005 |
| predicted_HBP | 0.082 | 0.000 |
| predicted_HR | 0.166 | -0.000 |
| predicted_OBP | 0.283 | -0.020 |
| predicted_R | 0.499 | -0.004 |
| predicted_RBI | 0.508 | -0.004 |
| predicted_SLG | 0.389 | -0.012 |
| predicted_SO | 0.920 | 0.002 |
AB rounded to 4 (raw=4.44), rates preserved: AVG=0.217 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.165 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.182 |
| predicted_AVG | 0.250 | 0.020 |
| predicted_BB | 0.000 | -0.311 |
| predicted_H | 1.000 | 0.038 |
| predicted_HR | 0.000 | -0.166 |
| predicted_OBP | 0.250 | -0.033 |
| predicted_R | 0.000 | -0.499 |
| predicted_RBI | 0.000 | -0.508 |
| predicted_SLG | 0.250 | -0.139 |
| predicted_SO | 1.000 | 0.080 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 5.000 | 0.2222 | 0.3000 | 0.3889 | 0.2222 | 0.0556 | 0.1667 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 3.000 | 9.000 | 0.1944 | 0.2750 | 0.3056 | 0.1944 | 0.0278 | 0.1111 | 0.0833 | 0.2500 |
| season | 0.60 | 80 | - | 319.000 | 79.000 | 15.000 | 0.000 | 14.000 | 38.000 | 42.000 | 26.000 | 73.000 | 0.2476 | 0.3095 | 0.4263 | 0.2477 | 0.0439 | 0.1191 | 0.0815 | 0.2288 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8350 |
| predicted_AVG | 0.2334 |
| predicted_BB | 0.2940 |
| predicted_H | 0.8950 |
| predicted_HBP | 0.0820 |
| predicted_HR | 0.1620 |
| predicted_OBP | 0.3017 |
| predicted_R | 0.4750 |
| predicted_RBI | 0.4880 |
| predicted_SLG | 0.3959 |
| predicted_SO | 0.9250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1340 | 0.1650 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.4400 | 3.8350 | 4.1818 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2334 | 0.2309 | model_form_blend |
| predicted_BB | 0.3250 | 0.2940 | 0.3118 | model_form_blend |
| predicted_H | 1.0200 | 0.8950 | 0.9666 | model_form_blend |
| predicted_HBP | - | 0.0820 | 0.0820 | form_only |
| predicted_HR | 0.1700 | 0.1620 | 0.1666 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3017 | 0.3036 | model_form_blend |
| predicted_R | 0.5250 | 0.4750 | 0.5037 | model_form_blend |
| predicted_RBI | 0.5300 | 0.4880 | 0.5121 | model_form_blend |
| predicted_SLG | 0.4040 | 0.3959 | 0.4005 | model_form_blend |
| predicted_SO | 0.9120 | 0.9250 | 0.9175 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 270 |
| Season rows before report date | 270 |
| 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.248 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| 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 | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 677594 |
| playerID | 677594 |
| playerName | Julio Rodríguez |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.322 |
| sl_xwoba | 0.344 |
| sl_xba | 0.267 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 43.7 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 27.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_2B | 0.148 | 0.000 | 0.000 | Hitting_2B | 0.165 | 1.000 | -0.165 | -1.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.620 | 4.000 | 4.000 | Hitting_AB | 3.569 | 3.000 | 0.431 | 1.000 |
| predicted_AVG | 0.240 | 0.500 | 0.250 | Hitting_AVG | 0.246 | 0.333 | 0.254 | 0.167 |
| predicted_BB | 0.272 | 0.000 | 0.000 | Hitting_BB | 0.331 | 0.000 | -0.331 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.870 | 2.000 | 1.000 | Hitting_H | 0.879 | 1.000 | 1.121 | 1.000 |
| predicted_HR | 0.120 | 1.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | 0.931 | 1.000 |
| predicted_OBP | 0.314 | 0.500 | 0.250 | Hitting_OBP | 0.321 | 0.333 | 0.179 | 0.167 |
| predicted_R | 0.420 | 1.000 | 0.000 | Hitting_R | 0.480 | 0.000 | 0.520 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 1.000 | Hitting_RBI | 0.472 | 0.000 | 0.528 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_SLG | 0.402 | 1.250 | 0.250 | Hitting_SLG | 0.359 | 0.667 | 0.891 | 0.583 |
| predicted_SO | 0.704 | 1.000 | 1.000 | Hitting_SO | 0.815 | 0.000 | 0.185 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.8700 -> 2.0000 (boost 1.1300, better) |
| Biggest Deboost | predicted_BB: 0.2720 -> 0.0000 (deboost -0.2720, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7040 -> 0.6334 (deboost -0.0706, 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.3147 -> 0.2939 (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 | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.4966 -> 1.0000 (boost 0.5034, better) | predicted_BB: 0.2785 -> 0.0000 (deboost -0.2785, worse) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.235 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3986 -> 0.0000 (deboost -0.3986, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2387 -> 0.2500 (boost 0.0113, better) | predicted_SLG: 0.3951 -> 0.2500 (deboost -0.1451, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3951 (boost 0.1451, better) | predicted_AVG: 0.2500 -> 0.2387 (deboost -0.0113, worse) | 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.148,
"predicted_3B": 0.012,
"predicted_AB": 3.62,
"predicted_AVG": 0.24,
"predicted_BB": 0.272,
"predicted_H": 0.87,
"predicted_HR": 0.12,
"predicted_OBP": 0.314,
"predicted_R": 0.42,
"predicted_RBI": 0.5,
"predicted_SLG": 0.402,
"predicted_SO": 0.704
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1586,
"predicted_3B": 0.0103,
"predicted_AB": 3.5647,
"predicted_AVG": 0.2397,
"predicted_BB": 0.2792,
"predicted_H": 0.8551,
"predicted_HBP": 0.11,
"predicted_HR": 0.1264,
"predicted_OBP": 0.3147,
"predicted_R": 0.4021,
"predicted_RBI": 0.5009,
"predicted_SLG": 0.4052,
"predicted_SO": 0.6334
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.1586,
"delta": 0.0106,
"percent_delta": 0.0716,
"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.62,
"after": 3.5647,
"delta": -0.0553,
"percent_delta": -0.0153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2397,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.272,
"after": 0.2792,
"delta": 0.0072,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8551,
"delta": -0.0149,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1264,
"delta": 0.0064,
"percent_delta": 0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3147,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.42,
"after": 0.4021,
"delta": -0.0179,
"percent_delta": -0.0426,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5009,
"delta": 0.0009,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4052,
"delta": 0.0032,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.704,
"after": 0.6334,
"delta": -0.0706,
"percent_delta": -0.1003,
"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.704,
"after": 0.6334,
"delta": -0.0706,
"percent_delta": -0.1003,
"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": 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.1586,
"predicted_3B": 0.0103,
"predicted_AB": 3.5647,
"predicted_AVG": 0.2387,
"predicted_BB": 0.2785,
"predicted_H": 0.8509,
"predicted_HBP": 0.11,
"predicted_HR": 0.1261,
"predicted_OBP": 0.2939,
"predicted_R": 0.3986,
"predicted_RBI": 0.4966,
"predicted_SLG": 0.3951,
"predicted_SO": 0.635
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1586,
"after": 0.1586,
"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.5647,
"after": 3.5647,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2397,
"after": 0.2387,
"delta": -0.001,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2792,
"after": 0.2785,
"delta": -0.0007,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8551,
"after": 0.8509,
"delta": -0.0042,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.11,
"after": 0.11,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1264,
"after": 0.1261,
"delta": -0.0003,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3147,
"after": 0.2939,
"delta": -0.0208,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4021,
"after": 0.3986,
"delta": -0.0035,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5009,
"after": 0.4966,
"delta": -0.0043,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4052,
"after": 0.3951,
"delta": -0.0101,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6334,
"after": 0.635,
"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_OBP",
"before": 0.3147,
"after": 0.2939,
"delta": -0.0208,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.235 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.1586,
"after": 0.0,
"delta": -0.1586,
"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.5647,
"after": 4.0,
"delta": 0.4353,
"percent_delta": 0.1221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2785,
"after": 0.0,
"delta": -0.2785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8509,
"after": 1.0,
"delta": 0.1491,
"percent_delta": 0.1752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1261,
"after": 0.0,
"delta": -0.1261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4966,
"after": 1.0,
"delta": 0.5034,
"percent_delta": 1.0137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.635,
"after": 1.0,
"delta": 0.365,
"percent_delta": 0.5748,
"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.4966,
"after": 1.0,
"delta": 0.5034,
"percent_delta": 1.0137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2785,
"after": 0.0,
"delta": -0.2785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3986,
"after": 0.0,
"delta": -0.3986,
"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.3986,
"after": 0.0,
"delta": -0.3986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.25,
"delta": 0.0113,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.0439,
"percent_delta": -0.1494,
"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.3951,
"after": 0.25,
"delta": -0.1451,
"percent_delta": -0.3672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.25,
"delta": 0.0113,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3951,
"after": 0.25,
"delta": -0.1451,
"percent_delta": -0.3672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2387,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2939,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3951,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2387,
"delta": -0.0113,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2939,
"delta": 0.0439,
"percent_delta": 0.1755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3951,
"delta": 0.1451,
"percent_delta": 0.5805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3951,
"delta": 0.1451,
"percent_delta": 0.5805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2387,
"delta": -0.0113,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.62,
"after": 4.0,
"delta": 0.38,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2387,
"delta": -0.0013,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.272,
"after": 0.0,
"delta": -0.272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 2.0,
"delta": 1.13,
"percent_delta": 1.2989,
"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.314,
"after": 0.2939,
"delta": -0.0201,
"percent_delta": -0.064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3951,
"delta": -0.0069,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.704,
"after": 1.0,
"delta": 0.296,
"percent_delta": 0.4205,
"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.87,
"after": 2.0,
"delta": 1.13,
"percent_delta": 1.2989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.272,
"after": 0.0,
"delta": -0.272,
"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.148 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.620 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.272 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.420 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.704 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.011 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.565 | -0.055 |
| predicted_AVG | 0.240 | -0.000 |
| predicted_BB | 0.279 | 0.007 |
| predicted_H | 0.855 | -0.015 |
| predicted_HBP | 0.110 | - |
| predicted_HR | 0.126 | 0.006 |
| predicted_OBP | 0.315 | 0.001 |
| predicted_R | 0.402 | -0.018 |
| predicted_RBI | 0.501 | 0.001 |
| predicted_SLG | 0.405 | 0.003 |
| predicted_SO | 0.633 | -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.159 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.565 | 0.000 |
| predicted_AVG | 0.239 | -0.001 |
| predicted_BB | 0.279 | -0.001 |
| predicted_H | 0.851 | -0.004 |
| predicted_HBP | 0.110 | 0.000 |
| predicted_HR | 0.126 | -0.000 |
| predicted_OBP | 0.294 | -0.021 |
| predicted_R | 0.399 | -0.004 |
| predicted_RBI | 0.497 | -0.004 |
| predicted_SLG | 0.395 | -0.010 |
| predicted_SO | 0.635 | 0.002 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.235 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.159 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.435 |
| predicted_AVG | 0.250 | 0.011 |
| predicted_BB | 0.000 | -0.279 |
| predicted_H | 1.000 | 0.149 |
| predicted_HR | 0.000 | -0.126 |
| predicted_OBP | 0.250 | -0.044 |
| predicted_R | 0.000 | -0.399 |
| predicted_RBI | 1.000 | 0.503 |
| predicted_SLG | 0.250 | -0.145 |
| predicted_SO | 1.000 | 0.365 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 1.000 | 0.2000 | 0.3333 | 0.4667 | 0.2000 | 0.0667 | 0.2000 | 0.1333 | 0.0667 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 2.000 | 0.000 | 2.000 | 5.000 | 4.000 | 2.000 | 3.000 | 0.2286 | 0.2895 | 0.4571 | 0.2286 | 0.0571 | 0.1429 | 0.0571 | 0.0857 |
| season | 0.60 | 81 | - | 291.000 | 74.000 | 12.000 | 1.000 | 7.000 | 37.000 | 34.000 | 22.000 | 57.000 | 0.2543 | 0.3189 | 0.3746 | 0.2543 | 0.0240 | 0.1272 | 0.0756 | 0.1959 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4900 |
| predicted_AVG | 0.2393 |
| predicted_BB | 0.2890 |
| predicted_H | 0.8350 |
| predicted_HBP | 0.1100 |
| predicted_HR | 0.1350 |
| predicted_OBP | 0.3157 |
| predicted_R | 0.3780 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.4096 |
| predicted_SO | 0.5380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.1730 | 0.1586 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.6200 | 3.4900 | 3.5647 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2393 | 0.2397 | model_form_blend |
| predicted_BB | 0.2720 | 0.2890 | 0.2792 | model_form_blend |
| predicted_H | 0.8700 | 0.8350 | 0.8551 | model_form_blend |
| predicted_HBP | - | 0.1100 | 0.1100 | form_only |
| predicted_HR | 0.1200 | 0.1350 | 0.1264 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3157 | 0.3147 | model_form_blend |
| predicted_R | 0.4200 | 0.3780 | 0.4021 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5020 | 0.5009 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4096 | 0.4052 | model_form_blend |
| predicted_SO | 0.7040 | 0.5380 | 0.6334 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 248 |
| Season rows before report date | 248 |
| Report year | 2026 |
| Profile rows used | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | 2B |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 702284 |
| playerID | 702284 |
| playerName | Cole Young |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-24 |
| sl_k_percent | 17.6 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.309 |
| sl_xwoba | 0.331 |
| sl_xba | 0.275 |
| sl_xslg | 0.413 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 39.1 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 20.7 |
| 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.061 | 0.000 | 0.000 | Hitting_2B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.879 | 4.000 | 3.000 | Hitting_AB | 2.885 | 2.000 | 1.115 | 2.000 |
| predicted_AVG | 0.247 | 0.000 | 0.333 | Hitting_AVG | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_BB | 0.485 | 0.000 | 0.000 | Hitting_BB | 0.635 | 0.000 | -0.635 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 0.000 | 1.000 | Hitting_H | 0.615 | 0.000 | -0.615 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.294 | 0.000 | 0.333 | Hitting_OBP | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_R | 0.424 | 0.000 | 0.000 | Hitting_R | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_SLG | 0.352 | 0.000 | 0.333 | Hitting_SLG | 0.332 | 0.000 | -0.332 | 0.000 |
| predicted_SO | 1.091 | 2.000 | 1.000 | Hitting_SO | 0.990 | 2.000 | 1.010 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.8790 -> 4.0000 (boost 1.1210, better) |
| Biggest Deboost | predicted_H: 0.5900 -> 0.0000 (deboost -0.5900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.8790 -> 3.0054 (boost 0.1264, better) | predicted_AVG: 0.2470 -> 0.2310 (deboost -0.0160, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2920 -> 0.3056 (boost 0.0136, better) | predicted_AVG: 0.2310 -> 0.2042 (deboost -0.0268, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_H: 0.6138 -> 1.0000 (boost 0.3862, better) | predicted_BB: 0.4389 -> 0.0000 (deboost -0.4389, worse) | AB rounded to 3 (raw=3.01), rates preserved: AVG=0.204 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4250 -> 0.0000 (deboost -0.4250, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2042 -> 0.3330 (boost 0.1288, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2042 (deboost -0.1288, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641598",
"player_name": "Mitch Garver",
"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.061,
"predicted_3B": 0.0,
"predicted_AB": 2.879,
"predicted_AVG": 0.247,
"predicted_BB": 0.485,
"predicted_H": 0.59,
"predicted_HR": 0.09,
"predicted_OBP": 0.294,
"predicted_R": 0.424,
"predicted_RBI": 0.38,
"predicted_SLG": 0.352,
"predicted_SO": 1.091
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0688,
"predicted_3B": 0.0012,
"predicted_AB": 3.0054,
"predicted_AVG": 0.231,
"predicted_BB": 0.44,
"predicted_H": 0.6168,
"predicted_HBP": 0.006,
"predicted_HR": 0.1009,
"predicted_OBP": 0.292,
"predicted_R": 0.4287,
"predicted_RBI": 0.4199,
"predicted_SLG": 0.3485,
"predicted_SO": 1.1178
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.061,
"after": 0.0688,
"delta": 0.0078,
"percent_delta": 0.1279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.879,
"after": 3.0054,
"delta": 0.1264,
"percent_delta": 0.0439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.231,
"delta": -0.016,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.485,
"after": 0.44,
"delta": -0.045,
"percent_delta": -0.0928,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.6168,
"delta": 0.0268,
"percent_delta": 0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1009,
"delta": 0.0109,
"percent_delta": 0.1211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.292,
"delta": -0.002,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.4287,
"delta": 0.0047,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.4199,
"delta": 0.0399,
"percent_delta": 0.105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3485,
"delta": -0.0035,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.091,
"after": 1.1178,
"delta": 0.0268,
"percent_delta": 0.0246,
"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.879,
"after": 3.0054,
"delta": 0.1264,
"percent_delta": 0.0439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.231,
"delta": -0.016,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 33
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0688,
"predicted_3B": 0.0012,
"predicted_AB": 3.0054,
"predicted_AVG": 0.2042,
"predicted_BB": 0.4389,
"predicted_H": 0.6138,
"predicted_HBP": 0.006,
"predicted_HR": 0.1007,
"predicted_OBP": 0.3056,
"predicted_R": 0.425,
"predicted_RBI": 0.4163,
"predicted_SLG": 0.3284,
"predicted_SO": 1.1206
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0688,
"after": 0.0688,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0054,
"after": 3.0054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2042,
"delta": -0.0268,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 0.4389,
"delta": -0.0011,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6168,
"after": 0.6138,
"delta": -0.003,
"percent_delta": -0.0049,
"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.1009,
"after": 0.1007,
"delta": -0.0002,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.3056,
"delta": 0.0136,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4287,
"after": 0.425,
"delta": -0.0037,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4199,
"after": 0.4163,
"delta": -0.0036,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3485,
"after": 0.3284,
"delta": -0.0201,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1178,
"after": 1.1206,
"delta": 0.0028,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_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.292,
"after": 0.3056,
"delta": 0.0136,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2042,
"delta": -0.0268,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.01), rates preserved: AVG=0.204 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.0688,
"after": 0.0,
"delta": -0.0688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0054,
"after": 3.0,
"delta": -0.0054,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4389,
"after": 0.0,
"delta": -0.4389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6138,
"after": 1.0,
"delta": 0.3862,
"percent_delta": 0.6292,
"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.1007,
"after": 0.0,
"delta": -0.1007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4163,
"after": 0.0,
"delta": -0.4163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1206,
"after": 1.0,
"delta": -0.1206,
"percent_delta": -0.1076,
"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.6138,
"after": 1.0,
"delta": 0.3862,
"percent_delta": 0.6292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4389,
"after": 0.0,
"delta": -0.4389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.425,
"after": 0.0,
"delta": -0.425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.425,
"after": 0.0,
"delta": -0.425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2042,
"after": 0.333,
"delta": 0.1288,
"percent_delta": 0.6308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3056,
"after": 0.333,
"delta": 0.0274,
"percent_delta": 0.0897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3284,
"after": 0.333,
"delta": 0.0046,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2042,
"after": 0.333,
"delta": 0.1288,
"percent_delta": 0.6308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2042,
"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.3056,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3284,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2042,
"delta": -0.1288,
"percent_delta": -0.3867,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3056,
"delta": -0.0274,
"percent_delta": -0.0822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3284,
"delta": -0.0046,
"percent_delta": -0.0137,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2042,
"delta": -0.1288,
"percent_delta": -0.3867,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.061,
"after": 0.0,
"delta": -0.061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.879,
"after": 4.0,
"delta": 1.121,
"percent_delta": 0.3894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2042,
"delta": -0.0428,
"percent_delta": -0.1733,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.59,
"after": 0.0,
"delta": -0.59,
"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.294,
"after": 0.3056,
"delta": 0.0116,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"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.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3284,
"delta": -0.0236,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.091,
"after": 2.0,
"delta": 0.909,
"percent_delta": 0.8332,
"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.879,
"after": 4.0,
"delta": 1.121,
"percent_delta": 0.3894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.061 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.879 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.485 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.424 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.352 | - |
| predicted_SO | 1.091 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | 0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.005 | 0.126 |
| predicted_AVG | 0.231 | -0.016 |
| predicted_BB | 0.440 | -0.045 |
| predicted_H | 0.617 | 0.027 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.101 | 0.011 |
| predicted_OBP | 0.292 | -0.002 |
| predicted_R | 0.429 | 0.005 |
| predicted_RBI | 0.420 | 0.040 |
| predicted_SLG | 0.348 | -0.004 |
| predicted_SO | 1.118 | 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.069 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.005 | 0.000 |
| predicted_AVG | 0.204 | -0.027 |
| predicted_BB | 0.439 | -0.001 |
| predicted_H | 0.614 | -0.003 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.101 | -0.000 |
| predicted_OBP | 0.306 | 0.014 |
| predicted_R | 0.425 | -0.004 |
| predicted_RBI | 0.416 | -0.004 |
| predicted_SLG | 0.328 | -0.020 |
| predicted_SO | 1.121 | 0.003 |
AB rounded to 3 (raw=3.01), rates preserved: AVG=0.204 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.069 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.005 |
| predicted_AVG | 0.333 | 0.129 |
| predicted_BB | 0.000 | -0.439 |
| predicted_H | 1.000 | 0.386 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.333 | 0.027 |
| predicted_R | 0.000 | -0.425 |
| predicted_RBI | 0.000 | -0.416 |
| predicted_SLG | 0.333 | 0.005 |
| predicted_SO | 1.000 | -0.121 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 8.000 | 0.1875 | 0.2353 | 0.3750 | 0.1875 | 0.0625 | 0.2500 | 0.0625 | 0.5000 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 1.000 | 0.000 | 1.000 | 6.000 | 4.000 | 2.000 | 12.000 | 0.2121 | 0.2571 | 0.3333 | 0.2121 | 0.0303 | 0.1818 | 0.0606 | 0.3636 |
| season | 0.60 | 33 | - | 95.000 | 18.000 | 2.000 | 0.000 | 3.000 | 11.000 | 14.000 | 16.000 | 36.000 | 0.1895 | 0.3063 | 0.3053 | 0.1895 | 0.0316 | 0.1158 | 0.1684 | 0.3790 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0810 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.2050 |
| predicted_AVG | 0.2057 |
| predicted_BB | 0.3690 |
| predicted_H | 0.6590 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1180 |
| predicted_OBP | 0.2888 |
| predicted_R | 0.4360 |
| predicted_RBI | 0.4830 |
| predicted_SLG | 0.3430 |
| predicted_SO | 1.1600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0610 | 0.0810 | 0.0688 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.8790 | 3.2050 | 3.0054 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2057 | 0.2310 | model_form_blend |
| predicted_BB | 0.4850 | 0.3690 | 0.4400 | model_form_blend |
| predicted_H | 0.5900 | 0.6590 | 0.6168 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0900 | 0.1180 | 0.1009 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2888 | 0.2920 | model_form_blend |
| predicted_R | 0.4240 | 0.4360 | 0.4287 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4830 | 0.4199 | model_form_blend |
| predicted_SLG | 0.3520 | 0.3430 | 0.3485 | model_form_blend |
| predicted_SO | 1.0910 | 1.1600 | 1.1178 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 96 |
| Season rows before report date | 96 |
| Report year | 2026 |
| Profile rows used | 33 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.189 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260620_BOS@SEA |
| game_type | full |
| mlbID | 641598 |
| playerID | 641598 |
| playerName | Mitch Garver |
| pos | C |
| started | True |
| startingPosition | DH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-20 |
| sl_k_percent | 32.1 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.287 |
| sl_xwoba | 0.295 |
| sl_xba | 0.191 |
| sl_xslg | 0.329 |
| sl_sweet_spot_percent | 23.7 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 49.2 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 35.3 |
| 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.161 | 0.000 | 0.000 | Hitting_2B | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_AB | 3.194 | 2.000 | 3.000 | Hitting_AB | 3.204 | 3.000 | -1.204 | -1.000 |
| predicted_AVG | 0.224 | 0.000 | 0.333 | Hitting_AVG | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_BB | 0.226 | 1.000 | 0.000 | Hitting_BB | 0.278 | 0.000 | 0.722 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.650 | 0.000 | 1.000 | Hitting_H | 0.815 | 0.000 | -0.815 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.261 | 0.333 | 0.333 | Hitting_OBP | 0.328 | 0.000 | 0.005 | 0.333 |
| predicted_R | 0.419 | 0.000 | 0.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.630 | 0.000 | -0.630 | 0.000 |
| predicted_SLG | 0.361 | 0.000 | 0.333 | Hitting_SLG | 0.538 | 0.000 | -0.538 | 0.000 |
| predicted_SO | 1.129 | 1.000 | 1.000 | Hitting_SO | 0.926 | 1.000 | 0.074 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2260 -> 1.0000 (boost 0.7740, better) |
| Biggest Deboost | predicted_AB: 3.1940 -> 2.0000 (deboost -1.1940, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2240 -> 0.2114 (deboost -0.0126, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3607 -> 0.3696 (boost 0.0089, better) | predicted_AVG: 0.2114 -> 0.1978 (deboost -0.0136, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.6357 -> 1.0000 (boost 0.3643, better) | predicted_RBI: 0.3870 -> 0.0000 (deboost -0.3870, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.198 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3798 -> 0.0000 (deboost -0.3798, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1978 -> 0.3330 (boost 0.1352, better) | predicted_SLG: 0.3696 -> 0.3330 (deboost -0.0366, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3696 (boost 0.0366, better) | predicted_AVG: 0.3330 -> 0.1978 (deboost -0.1352, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "806068",
"player_name": "Colt Emerson",
"position": "SS",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.161,
"predicted_3B": 0.032,
"predicted_AB": 3.194,
"predicted_AVG": 0.224,
"predicted_BB": 0.226,
"predicted_H": 0.65,
"predicted_HR": 0.11,
"predicted_OBP": 0.261,
"predicted_R": 0.419,
"predicted_RBI": 0.38,
"predicted_SLG": 0.361,
"predicted_SO": 1.129
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1421,
"predicted_3B": 0.0266,
"predicted_AB": 3.2145,
"predicted_AVG": 0.2114,
"predicted_BB": 0.2078,
"predicted_H": 0.6388,
"predicted_HBP": 0.037,
"predicted_HR": 0.1193,
"predicted_OBP": 0.2529,
"predicted_R": 0.3831,
"predicted_RBI": 0.3904,
"predicted_SLG": 0.3607,
"predicted_SO": 1.1379
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.1421,
"delta": -0.0189,
"percent_delta": -0.1174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0266,
"delta": -0.0054,
"percent_delta": -0.1688,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.194,
"after": 3.2145,
"delta": 0.0205,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2114,
"delta": -0.0126,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.226,
"after": 0.2078,
"delta": -0.0182,
"percent_delta": -0.0805,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.6388,
"delta": -0.0112,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1193,
"delta": 0.0093,
"percent_delta": 0.0845,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2529,
"delta": -0.0081,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.3831,
"delta": -0.0359,
"percent_delta": -0.0857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3904,
"delta": 0.0104,
"percent_delta": 0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3607,
"delta": -0.0003,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.129,
"after": 1.1379,
"delta": 0.0089,
"percent_delta": 0.0079,
"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.224,
"after": 0.2114,
"delta": -0.0126,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 31
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1421,
"predicted_3B": 0.0266,
"predicted_AB": 3.2145,
"predicted_AVG": 0.1978,
"predicted_BB": 0.2073,
"predicted_H": 0.6357,
"predicted_HBP": 0.037,
"predicted_HR": 0.119,
"predicted_OBP": 0.2463,
"predicted_R": 0.3798,
"predicted_RBI": 0.387,
"predicted_SLG": 0.3696,
"predicted_SO": 1.1407
},
"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.0266,
"after": 0.0266,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2145,
"after": 3.2145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2114,
"after": 0.1978,
"delta": -0.0136,
"percent_delta": -0.0643,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2078,
"after": 0.2073,
"delta": -0.0005,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6388,
"after": 0.6357,
"delta": -0.0031,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1193,
"after": 0.119,
"delta": -0.0003,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2529,
"after": 0.2463,
"delta": -0.0066,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3831,
"after": 0.3798,
"delta": -0.0033,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3904,
"after": 0.387,
"delta": -0.0034,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3607,
"after": 0.3696,
"delta": 0.0089,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1379,
"after": 1.1407,
"delta": 0.0028,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_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.3607,
"after": 0.3696,
"delta": 0.0089,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2114,
"after": 0.1978,
"delta": -0.0136,
"percent_delta": -0.0643,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.21), rates preserved: AVG=0.198 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1421,
"after": 0.0,
"delta": -0.1421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0266,
"after": 0.0,
"delta": -0.0266,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2145,
"after": 3.0,
"delta": -0.2145,
"percent_delta": -0.0667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2073,
"after": 0.0,
"delta": -0.2073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6357,
"after": 1.0,
"delta": 0.3643,
"percent_delta": 0.5731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1407,
"after": 1.0,
"delta": -0.1407,
"percent_delta": -0.1233,
"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.6357,
"after": 1.0,
"delta": 0.3643,
"percent_delta": 0.5731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3798,
"after": 0.0,
"delta": -0.3798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3798,
"after": 0.0,
"delta": -0.3798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1978,
"after": 0.333,
"delta": 0.1352,
"percent_delta": 0.6835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2463,
"after": 0.333,
"delta": 0.0867,
"percent_delta": 0.352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3696,
"after": 0.333,
"delta": -0.0366,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1978,
"after": 0.333,
"delta": 0.1352,
"percent_delta": 0.6835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3696,
"after": 0.333,
"delta": -0.0366,
"percent_delta": -0.099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.1978,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2463,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3696,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1978,
"delta": -0.1352,
"percent_delta": -0.4062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2463,
"delta": -0.0867,
"percent_delta": -0.2602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3696,
"delta": 0.0366,
"percent_delta": 0.1099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3696,
"delta": 0.0366,
"percent_delta": 0.1099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1978,
"delta": -0.1352,
"percent_delta": -0.4062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.194,
"after": 2.0,
"delta": -1.194,
"percent_delta": -0.3738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.1978,
"delta": -0.0262,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.226,
"after": 1.0,
"delta": 0.774,
"percent_delta": 3.4248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2463,
"delta": -0.0147,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3696,
"delta": 0.0086,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.129,
"after": 1.0,
"delta": -0.129,
"percent_delta": -0.1143,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.226,
"after": 1.0,
"delta": 0.774,
"percent_delta": 3.4248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.194,
"after": 2.0,
"delta": -1.194,
"percent_delta": -0.3738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.161 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.194 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.226 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.361 | - |
| predicted_SO | 1.129 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | -0.019 |
| predicted_3B | 0.027 | -0.005 |
| predicted_AB | 3.215 | 0.021 |
| predicted_AVG | 0.211 | -0.013 |
| predicted_BB | 0.208 | -0.018 |
| predicted_H | 0.639 | -0.011 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.119 | 0.009 |
| predicted_OBP | 0.253 | -0.008 |
| predicted_R | 0.383 | -0.036 |
| predicted_RBI | 0.390 | 0.010 |
| predicted_SLG | 0.361 | -0.000 |
| predicted_SO | 1.138 | 0.009 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 3.215 | 0.000 |
| predicted_AVG | 0.198 | -0.014 |
| predicted_BB | 0.207 | -0.001 |
| predicted_H | 0.636 | -0.003 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.119 | -0.000 |
| predicted_OBP | 0.246 | -0.007 |
| predicted_R | 0.380 | -0.003 |
| predicted_RBI | 0.387 | -0.003 |
| predicted_SLG | 0.370 | 0.009 |
| predicted_SO | 1.141 | 0.003 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.198 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.142 |
| predicted_3B | 0.000 | -0.027 |
| predicted_AB | 3.000 | -0.215 |
| predicted_AVG | 0.333 | 0.135 |
| predicted_BB | 0.000 | -0.207 |
| predicted_H | 1.000 | 0.364 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.333 | 0.087 |
| predicted_R | 0.000 | -0.380 |
| predicted_RBI | 0.000 | -0.387 |
| predicted_SLG | 0.333 | -0.037 |
| predicted_SO | 1.000 | -0.141 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 7.000 | 0.0714 | 0.0714 | 0.0714 | 0.0714 | 0.0000 | 0.0000 | 0.0000 | 0.5000 |
| last_10 | 0.20 | 10 | - | 30.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 12.000 | 0.1667 | 0.1935 | 0.2667 | 0.1667 | 0.0333 | 0.1333 | 0.0333 | 0.4000 |
| season | 0.60 | 31 | - | 99.000 | 21.000 | 5.000 | 1.000 | 6.000 | 16.000 | 13.000 | 7.000 | 35.000 | 0.2121 | 0.2778 | 0.4646 | 0.2121 | 0.0606 | 0.1616 | 0.0707 | 0.3535 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1120 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.2470 |
| predicted_AVG | 0.1913 |
| predicted_BB | 0.1790 |
| predicted_H | 0.6210 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.1340 |
| predicted_OBP | 0.2400 |
| predicted_R | 0.3260 |
| predicted_RBI | 0.4070 |
| predicted_SLG | 0.3602 |
| predicted_SO | 1.1520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.1120 | 0.1421 | model_form_blend |
| predicted_3B | 0.0320 | 0.0180 | 0.0266 | model_form_blend |
| predicted_AB | 3.1940 | 3.2470 | 3.2145 | model_form_blend |
| predicted_AVG | 0.2240 | 0.1913 | 0.2114 | model_form_blend |
| predicted_BB | 0.2260 | 0.1790 | 0.2078 | model_form_blend |
| predicted_H | 0.6500 | 0.6210 | 0.6388 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.1100 | 0.1340 | 0.1193 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2400 | 0.2529 | model_form_blend |
| predicted_R | 0.4190 | 0.3260 | 0.3831 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4070 | 0.3904 | model_form_blend |
| predicted_SLG | 0.3610 | 0.3602 | 0.3607 | model_form_blend |
| predicted_SO | 1.1290 | 1.1520 | 1.1379 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 54 |
| Season rows before report date | 54 |
| Report year | 2026 |
| Profile rows used | 31 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.212 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 806068 |
| playerID | 806068 |
| playerName | Colt Emerson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-24 |
| sl_k_percent | 32.4 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.32 |
| sl_xwoba | 0.228 |
| sl_xba | 0.163 |
| sl_xslg | 0.269 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 28.1 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 33.8 |
| sl_swing_percent | 51.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.714 | 0.000 | -0.714 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 3.286 | 3.000 | -1.286 | -1.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.614 | 5.000 | 0.386 | 1.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 6.143 | 7.000 | -0.143 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 5.0000 -> 6.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: 5.0000 -> 6.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": "682243",
"player_name": "Bryce Miller",
"position": "Starter",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 1.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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 | 1.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 5.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 6.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 29.000 | 5.000 | 14.000 | 3.000 | 33.000 | 4.000 | 1.5517 | 0.5862 | 0.1724 | 0.4828 | 0.1035 | 1.1379 | 0.1379 |
| last_10 | 0.35 | 7 | 40.000 | 7.000 | 23.000 | 5.000 | 43.000 | 5.000 | 1.5750 | 0.7000 | 0.1750 | 0.5750 | 0.1250 | 1.0750 | 0.1250 |
| season | 0.20 | 7 | 40.000 | 7.000 | 23.000 | 5.000 | 43.000 | 5.000 | 1.5750 | 0.7000 | 0.1750 | 0.5750 | 0.1250 | 1.0750 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 1.2390 |
| predicted_ER | 1.7950 |
| predicted_ERA | 2.7821 |
| predicted_H | 4.0540 |
| predicted_HR | 0.8100 |
| predicted_IP | 5.2000 |
| predicted_SO | 6.0940 |
| predicted_WHIP | 0.9117 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.2390 | 0.5872 | model_form_blend |
| predicted_ER | 1.0000 | 1.7950 | 1.3768 | model_form_blend |
| predicted_ERA | - | 2.7821 | 2.7821 | form_only |
| predicted_H | 2.0000 | 4.0540 | 2.9735 | model_form_blend |
| predicted_HR | 1.0000 | 0.8100 | 0.9100 | model_form_blend |
| predicted_IP | 6.0000 | 5.2000 | 6.0000 | model_form_blend |
| predicted_SO | 5.0000 | 6.0940 | 5.5185 | model_form_blend |
| predicted_WHIP | - | 0.9117 | 0.9117 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 7 |
| Season rows before report date | 7 |
| Report year | 2026 |
| Profile rows used | 7 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 6 |
| HR | 1 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 16 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.58 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 3 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 66 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 46 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_BOS@SEA |
| game_type | full |
| mlbID | 682243 |
| playerID | 682243 |
| playerName | Bryce Miller |
| pos | P |
| started | True |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-19 |
| sl_k_percent | 30.5 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.223 |
| sl_xwoba | 0.231 |
| sl_sweet_spot_percent | 28.0 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 28.0 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 57.3 |
| sl_avg_best_speed | 75.567892889 |
| sl_avg_hyper_speed | 92.486359778 |
| 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 | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.516 | 0.000 | -0.516 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.839 | 0.000 | -0.839 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.861 | 1.000 | 0.139 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.419 | 3.000 | -1.419 | -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_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": "662253",
"player_name": "Andrés Muñoz",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 3.000 | 9.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.4000 | 0.6000 | 1.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 7.000 | 5.000 | 12.000 | 1.000 | 3.7241 | 1.2414 | 0.4138 | 0.7241 | 0.5172 | 1.2414 | 0.1035 |
| season | 0.20 | 30 | 28.100 | 14.000 | 25.000 | 12.000 | 44.000 | 4.000 | 4.4471 | 1.3059 | 0.4941 | 0.8823 | 0.4235 | 1.5529 | 0.1412 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4530 |
| predicted_ER | 0.3640 |
| predicted_ERA | 3.2787 |
| predicted_H | 0.7790 |
| predicted_HR | 0.1030 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2690 |
| predicted_WHIP | 1.2323 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4530 | 0.2042 | model_form_blend |
| predicted_ER | 0.0000 | 0.3640 | 0.1641 | model_form_blend |
| predicted_ERA | - | 3.2787 | 3.2787 | form_only |
| predicted_H | 0.0000 | 0.7790 | 0.3512 | model_form_blend |
| predicted_HR | 0.0000 | 0.1030 | 0.0464 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2690 | 1.1213 | model_form_blend |
| predicted_WHIP | - | 1.2323 | 1.2323 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.08 |
| Pitching_Flyouts | 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 | 3 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260623_SEA@PIT |
| game_type | full |
| mlbID | 662253 |
| playerID | 662253 |
| playerName | Andrés Muñoz |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-23 |
| sl_k_percent | 34.9 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.308 |
| sl_xwoba | 0.317 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 44.1 |
| sl_whiff_percent | 42.0 |
| sl_swing_percent | 46.7 |
| sl_avg_best_speed | 75.118576471 |
| sl_avg_hyper_speed | 94.627959851 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.324 | 1.000 | -0.324 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.892 | 1.000 | -0.892 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.797 | 1.000 | 0.203 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.865 | 2.000 | -0.865 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "660825",
"player_name": "Eduard Bazardo",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 2.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.4286 | 0.2143 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 8.000 | 2.000 | 9.000 | 0.000 | 1.8000 | 1.0000 | 0.2000 | 0.8000 | 0.2000 | 0.9000 | 0.0000 |
| season | 0.20 | 37 | 35.100 | 8.000 | 33.000 | 12.000 | 32.000 | 2.000 | 2.0377 | 1.2736 | 0.2264 | 0.9340 | 0.3396 | 0.9057 | 0.0566 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2870 |
| predicted_ER | 0.2750 |
| predicted_ERA | 2.4793 |
| predicted_H | 0.7890 |
| predicted_HR | 0.0680 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0220 |
| predicted_WHIP | 1.0756 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2870 | 0.1360 | model_form_blend |
| predicted_ER | 0.0000 | 0.2750 | 0.1303 | model_form_blend |
| predicted_ERA | - | 2.4793 | 2.4793 | form_only |
| predicted_H | 0.0000 | 0.7890 | 0.3739 | model_form_blend |
| predicted_HR | 0.0000 | 0.0680 | 0.0322 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0220 | 0.4843 | model_form_blend |
| predicted_WHIP | - | 1.0756 | 1.0756 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.04 |
| 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 | 21 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260623_SEA@PIT |
| game_type | full |
| mlbID | 660825 |
| playerID | 660825 |
| playerName | Eduard Bazardo |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-23 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.3 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 40.6 |
| sl_whiff_percent | 22.2 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 81.606799 |
| sl_avg_hyper_speed | 94.45836 |
| 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.216 | 0.000 | 0.784 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.027 | 0.000 | -0.027 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.778 | 1.000 | 0.222 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.730 | 0.000 | -0.730 | 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": "678606",
"player_name": "José A. Ferrer",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.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": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 5.000 | 8.000 | 2.000 | 2.000 | 1.000 | 11.2500 | 2.5000 | 1.2500 | 2.0000 | 0.5000 | 0.5000 | 0.2500 |
| last_10 | 0.35 | 10 | 8.000 | 5.000 | 10.000 | 5.000 | 5.000 | 1.000 | 5.6250 | 1.8750 | 0.6250 | 1.2500 | 0.6250 | 0.6250 | 0.1250 |
| season | 0.20 | 36 | 33.000 | 10.000 | 37.000 | 8.000 | 27.000 | 2.000 | 2.7273 | 1.3636 | 0.3030 | 1.1212 | 0.2424 | 0.8182 | 0.0606 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3690 |
| predicted_ER | 0.5890 |
| predicted_ERA | 6.2415 |
| predicted_H | 1.1080 |
| predicted_HR | 0.1350 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6410 |
| predicted_WHIP | 1.7399 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3690 | 0.7054 | model_form_blend |
| predicted_ER | 0.0000 | 0.5890 | 0.2750 | model_form_blend |
| predicted_ERA | - | 6.2415 | 6.2415 | form_only |
| predicted_H | 1.0000 | 1.1080 | 1.0504 | model_form_blend |
| predicted_HR | 0.0000 | 0.1350 | 0.0630 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6410 | 0.2992 | model_form_blend |
| predicted_WHIP | - | 1.7399 | 1.7399 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 36 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 12 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.73 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260623_SEA@PIT |
| game_type | full |
| mlbID | 678606 |
| playerID | 678606 |
| playerName | José A. Ferrer |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-23 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.321 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 27.8 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 36.1 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 53.2 |
| sl_avg_best_speed | 73.083330943 |
| sl_avg_hyper_speed | 93.275160094 |
| Field | Value |
|---|---|
| Pitcher | Bubba Chandler |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0820 |
| ESPN Rank | 278 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 94.9248 |
| Avg Spin | 2343.4148 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 5 |
| Pre SO | 5 |
| Season ERA | 4.6216 |
| Season WHIP | 1.3784 |
| Role Avg IP | 4.9050 |
| Recent Avg IP | 5.3330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"opponent": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"edges": {
"quality_edge": 0.0094,
"offense_edge": 0.089,
"opponent_offense_edge": -0.0558,
"defense_strength": -0.0503,
"opponent_defense_weakness": -0.1038,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0011,
"run_prevention": 0.9956,
"strikeout": 1.0047
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "696149",
"profile": {
"available": true,
"pitcher_id": "696149",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 235.0,
"k_percent": 21.1,
"bb_percent": 13.1,
"woba": 0.314,
"xwoba": 0.318,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 34.8,
"avg_best_speed": 79.0752,
"avg_hyper_speed": 93.7867,
"whiff_percent": 24.6,
"swing_percent": 48.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.0057,
"command_and_miss": -0.3654,
"regression_edge": -0.1143,
"xwoba_edge": -0.1,
"barrel_edge": -0.1,
"hard_hit_edge": 0.5,
"whiff_edge": -0.1786,
"bb_edge": -1.0,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696149",
"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": 94.92477203547561,
"release_spin_rate": 2343.4147708175915,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.92477203547561,
"release_spin_rate": 2343.4147708175915,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9248,
"release_spin_rate": 2343.4148,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.082,
"sample_weight": 0.94,
"run_prevention_factor": 1.007,
"strikeout_factor": 0.9847,
"walk_factor": 1.0752,
"homer_factor": 0.9915,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696149",
"espn_id": 4683325,
"player_name": "Bubba Chandler",
"team": "PIT",
"role": "pitcher",
"espn_rank": 278,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 278,
"gp_value": 15.0,
"gp_rank": 290,
"gs_value": 14.0,
"gs_rank": 71,
"qs_value": 2.0,
"qs_rank": 120,
"era_value": 4.6216,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 7.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 74.0,
"ip_rank": 83,
"h_value": 59.0,
"h_rank": 112,
"er_value": 38.0,
"er_rank": 50,
"hr_value": 9.0,
"hr_rank": 65,
"bb_value": 43.0,
"bb_rank": 2,
"k_value": 69.0,
"k_rank": 67,
"k_per_9_value": 8.3918915,
"k_per_9_rank": 21,
"whip_value": 1.3783,
"whip_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0066,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0066,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0707,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9856,
"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": 50.0,
"ER": 25,
"H": 39,
"BB": 27,
"SO": 48,
"HR": 5,
"ERA": 4.5,
"WHIP": 1.32,
"K9": 8.64,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "696149",
"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": 94.92477203547561,
"release_spin_rate": 2343.4147708175915,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.92477203547561,
"release_spin_rate": 2343.4147708175915,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9248,
"release_spin_rate": 2343.4148,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "696149",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 14.0,
"R": 15.0,
"H": 24.0,
"BB": 9.0,
"SO": 22.0,
"HR": 2.0,
"BF": 115.0,
"Pitches": 428.0
},
"per_game": {
"IP": 5.1,
"ER": 2.8,
"R": 3.0,
"H": 4.8,
"BB": 1.8,
"SO": 4.4,
"HR": 0.4,
"BF": 23.0,
"Pitches": 85.6
},
"rates": {
"ERA": 4.6667,
"WHIP": 1.2222,
"ER_per_IP": 0.51852,
"H_per_IP": 0.88889,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.81481,
"HR_per_IP": 0.07407
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.0,
"ER": 25.0,
"R": 30.0,
"H": 39.0,
"BB": 27.0,
"SO": 48.0,
"HR": 5.0,
"BF": 219.0,
"Pitches": 854.0
},
"per_game": {
"IP": 5.0,
"ER": 2.5,
"R": 3.0,
"H": 3.9,
"BB": 2.7,
"SO": 4.8,
"HR": 0.5,
"BF": 21.9,
"Pitches": 85.4
},
"rates": {
"ERA": 4.5,
"WHIP": 1.32,
"ER_per_IP": 0.5,
"H_per_IP": 0.78,
"BB_per_IP": 0.54,
"SO_per_IP": 0.96,
"HR_per_IP": 0.1
}
},
"season": {
"games": 15,
"totals": {
"IP": 74.0,
"ER": 38.0,
"R": 44.0,
"H": 59.0,
"BB": 43.0,
"SO": 69.0,
"HR": 9.0,
"BF": 327.0,
"Pitches": 1277.0
},
"per_game": {
"IP": 5.0,
"ER": 2.5333,
"R": 2.9333,
"H": 3.9333,
"BB": 2.8667,
"SO": 4.6,
"HR": 0.6,
"BF": 21.8,
"Pitches": 85.1333
},
"rates": {
"ERA": 4.6216,
"WHIP": 1.3784,
"ER_per_IP": 0.51351,
"H_per_IP": 0.7973,
"BB_per_IP": 0.58108,
"SO_per_IP": 0.93243,
"HR_per_IP": 0.12162
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.598,
"predicted_H": 4.431,
"predicted_BB": 2.206,
"predicted_SO": 4.62,
"predicted_HR": 0.542,
"predicted_ERA": 4.5737,
"predicted_WHIP": 1.2981
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.598,
"final": 2.3255,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.431,
"final": 3.3234,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 5.0,
"form": 2.206,
"final": 3.479,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.62,
"final": 4.7931,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.542,
"final": 0.2951,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5737,
"final": 4.5737,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2981,
"final": 1.2981,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Yohan Ramírez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1986 |
| ESPN Rank | 136 |
| 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.9160 |
| Season WHIP | 1.2366 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"opponent": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"edges": {
"quality_edge": 0.0094,
"offense_edge": 0.089,
"opponent_offense_edge": -0.0558,
"defense_strength": -0.0503,
"opponent_defense_weakness": -0.1038,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0011,
"run_prevention": 0.9956,
"strikeout": 1.0047
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670990",
"profile": {
"available": true,
"pitcher_id": "670990",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 131.0,
"k_percent": 25.4,
"bb_percent": 12.2,
"woba": 0.291,
"xwoba": 0.293,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 30.9,
"avg_best_speed": 71.8696,
"avg_hyper_speed": 92.4931,
"whiff_percent": 26.4,
"swing_percent": 46.1
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.6657,
"command_and_miss": 0.0461,
"regression_edge": -0.0571,
"xwoba_edge": 0.6143,
"barrel_edge": 0.3667,
"hard_hit_edge": 1.0571,
"whiff_edge": 0.0786,
"bb_edge": -0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670990",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1986,
"sample_weight": 0.524,
"run_prevention_factor": 0.9831,
"strikeout_factor": 1.0097,
"walk_factor": 1.0325,
"homer_factor": 0.9528,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670990",
"espn_id": 41893,
"player_name": "Yohan Ramirez",
"team": "PIT",
"role": "pitcher",
"espn_rank": 136,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 136,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.916,
"era_rank": null,
"w_value": 5.0,
"w_rank": 51,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 3.0,
"hld_rank": 147,
"ip_value": 43.2,
"ip_rank": 158,
"h_value": 31.0,
"h_rank": 223,
"er_value": 19.0,
"er_rank": 172,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 23.0,
"bb_rank": 98,
"k_value": 48.0,
"k_rank": 134,
"k_per_9_value": 9.893129,
"k_per_9_rank": 22,
"whip_value": 1.2366,
"whip_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.017,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9753,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0051,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.2,
"ER": 7,
"H": 7,
"BB": 6,
"SO": 13,
"HR": 2,
"ERA": 4.609756097560975,
"WHIP": 0.9512195121951219,
"K9": 8.560975609756097,
"HR9": 1.3170731707317072,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-21T00:00:00"
}{
"available": false,
"pitcher_id": "670990",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.646,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6336,
"prior_weight": 0.3664
},
"role": "pitcher",
"player_id": "670990",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 5.0,
"SO": 7.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 1.0,
"SO": 1.4,
"HR": 0.0,
"BF": 5.4,
"Pitches": 19.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8571,
"ER_per_IP": 0.0,
"H_per_IP": 0.14286,
"BB_per_IP": 0.71429,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.2,
"ER": 7.0,
"R": 7.0,
"H": 7.0,
"BB": 6.0,
"SO": 13.0,
"HR": 2.0,
"BF": 56.0,
"Pitches": 208.0
},
"per_game": {
"IP": 1.1,
"ER": 0.7,
"R": 0.7,
"H": 0.7,
"BB": 0.6,
"SO": 1.3,
"HR": 0.2,
"BF": 5.6,
"Pitches": 20.8
},
"rates": {
"ERA": 4.6098,
"WHIP": 0.9512,
"ER_per_IP": 0.5122,
"H_per_IP": 0.5122,
"BB_per_IP": 0.43902,
"SO_per_IP": 0.95122,
"HR_per_IP": 0.14634
}
},
"season": {
"games": 33,
"totals": {
"IP": 43.2,
"ER": 19.0,
"R": 22.0,
"H": 31.0,
"BB": 23.0,
"SO": 48.0,
"HR": 4.0,
"BF": 189.0,
"Pitches": 690.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5758,
"R": 0.6667,
"H": 0.9394,
"BB": 0.697,
"SO": 1.4545,
"HR": 0.1212,
"BF": 5.7273,
"Pitches": 20.9091
},
"rates": {
"ERA": 3.916,
"WHIP": 1.2366,
"ER_per_IP": 0.43511,
"H_per_IP": 0.70992,
"BB_per_IP": 0.52672,
"SO_per_IP": 1.09924,
"HR_per_IP": 0.0916
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.469,
"predicted_H": 0.799,
"predicted_BB": 0.666,
"predicted_SO": 1.31,
"predicted_HR": 0.13,
"predicted_ERA": 3.1661,
"predicted_WHIP": 1.0992
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5048,
"form_weight": 0.4952,
"form_reliability": 0.6336,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.646,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6336,
"prior_weight": 0.3664
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.469,
"final": 0.2322,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.799,
"final": 0.3957,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.666,
"final": 0.3298,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.31,
"final": 1.1535,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.13,
"final": 0.0644,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1661,
"final": 3.1661,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0992,
"final": 1.0992,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Dennis Santana |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1645 |
| ESPN Rank | 462 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 4.5000 |
| Season WHIP | 1.3438 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"opponent": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"edges": {
"quality_edge": 0.0094,
"offense_edge": 0.089,
"opponent_offense_edge": -0.0558,
"defense_strength": -0.0503,
"opponent_defense_weakness": -0.1038,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0011,
"run_prevention": 0.9956,
"strikeout": 1.0047
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642701",
"profile": {
"available": true,
"pitcher_id": "642701",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 18.9,
"bb_percent": 11.9,
"woba": 0.336,
"xwoba": 0.333,
"sweet_spot_percent": 41.2,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 37.1,
"avg_best_speed": 78.9679,
"avg_hyper_speed": 93.554,
"whiff_percent": 24.3,
"swing_percent": 48.7
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.4536,
"command_and_miss": -0.4618,
"regression_edge": 0.0857,
"xwoba_edge": -0.5286,
"barrel_edge": -0.2333,
"hard_hit_edge": 0.1714,
"whiff_edge": -0.2214,
"bb_edge": -0.7,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642701",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1645,
"sample_weight": 0.45,
"run_prevention_factor": 1.014,
"strikeout_factor": 0.9862,
"walk_factor": 1.0252,
"homer_factor": 1.0125,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642701",
"espn_id": 39801,
"player_name": "Dennis Santana",
"team": "PIT",
"role": "pitcher",
"espn_rank": 462,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 462,
"gp_value": 34.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 5.0625,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 4.0,
"hld_rank": 130,
"ip_value": 32.0,
"ip_rank": 257,
"h_value": 30.0,
"h_rank": 234,
"er_value": 18.0,
"er_rank": 188,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 17.0,
"bb_rank": 183,
"k_value": 27.0,
"k_rank": 308,
"k_per_9_value": 7.59375,
"k_per_9_rank": 32,
"whip_value": 1.4687,
"whip_rank": null,
"war_value": -0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0063,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0063,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0113,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0056,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9938,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 5,
"H": 7,
"BB": 6,
"SO": 11,
"HR": 1,
"ERA": 4.655172413793104,
"WHIP": 1.3448275862068966,
"K9": 10.241379310344827,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "642701",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.336,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5589,
"prior_weight": 0.4411
},
"role": "pitcher",
"player_id": "642701",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.6
},
"rates": {
"ERA": 5.4,
"WHIP": 0.8,
"ER_per_IP": 0.6,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 6.0,
"SO": 11.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 159.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.7,
"BB": 0.6,
"SO": 1.1,
"HR": 0.1,
"BF": 4.3,
"Pitches": 15.9
},
"rates": {
"ERA": 4.6552,
"WHIP": 1.3448,
"ER_per_IP": 0.51724,
"H_per_IP": 0.72414,
"BB_per_IP": 0.62069,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 33,
"totals": {
"IP": 32.0,
"ER": 16.0,
"R": 17.0,
"H": 26.0,
"BB": 17.0,
"SO": 27.0,
"HR": 4.0,
"BF": 139.0,
"Pitches": 530.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4848,
"R": 0.5152,
"H": 0.7879,
"BB": 0.5152,
"SO": 0.8182,
"HR": 0.1212,
"BF": 4.2121,
"Pitches": 16.0606
},
"rates": {
"ERA": 4.5,
"WHIP": 1.3438,
"ER_per_IP": 0.5,
"H_per_IP": 0.8125,
"BB_per_IP": 0.53125,
"SO_per_IP": 0.84375,
"HR_per_IP": 0.125
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.528,
"predicted_H": 0.811,
"predicted_BB": 0.39,
"predicted_SO": 0.986,
"predicted_HR": 0.149,
"predicted_ERA": 4.7553,
"predicted_WHIP": 1.201
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5364,
"form_weight": 0.4636,
"form_reliability": 0.5589,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.336,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5589,
"prior_weight": 0.4411
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.528,
"final": 0.2448,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.811,
"final": 0.376,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.39,
"final": 0.1808,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.986,
"final": 1.5299,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.149,
"final": 0.0691,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7553,
"final": 4.7553,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.201,
"final": 1.201,
"source": "form_only"
}
}
}{
"available": false,
"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 |
| Projection Source | - |
| Savant Quality Score | 0.2831 |
| ESPN Rank | 210 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.5052 |
| Season WHIP | 0.8969 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"opponent": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"edges": {
"quality_edge": 0.0094,
"offense_edge": 0.089,
"opponent_offense_edge": -0.0558,
"defense_strength": -0.0503,
"opponent_defense_weakness": -0.1038,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0011,
"run_prevention": 0.9956,
"strikeout": 1.0047
},
"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": 97.0,
"k_percent": 29.2,
"bb_percent": 10.0,
"woba": 0.253,
"xwoba": 0.273,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 36.4,
"avg_best_speed": 71.9138,
"avg_hyper_speed": 93.1728,
"whiff_percent": 27.4,
"swing_percent": 43.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.0165,
"command_and_miss": 0.4504,
"regression_edge": -0.5714,
"xwoba_edge": 1.1857,
"barrel_edge": 0.4333,
"hard_hit_edge": 0.2714,
"whiff_edge": 0.2214,
"bb_edge": -0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642397",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2831,
"sample_weight": 0.45,
"run_prevention_factor": 0.9759,
"strikeout_factor": 1.0207,
"walk_factor": 1.0081,
"homer_factor": 0.9635,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642397",
"espn_id": 39804,
"player_name": "Gregory Soto",
"team": "PIT",
"role": "pitcher",
"espn_rank": 210,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 210,
"gp_value": 33.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.3402,
"era_rank": null,
"w_value": 4.0,
"w_rank": 79,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 11.0,
"sv_rank": 16,
"hld_value": 6.0,
"hld_rank": 79,
"ip_value": 32.1,
"ip_rank": 252,
"h_value": 20.0,
"h_rank": 363,
"er_value": 12.0,
"er_rank": 294,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 13.0,
"bb_rank": 244,
"k_value": 38.0,
"k_rank": 193,
"k_per_9_value": 10.57732,
"k_per_9_rank": 20,
"whip_value": 1.0206,
"whip_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9892,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9892,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9836,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0093,
"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": 3,
"SO": 9,
"HR": 1,
"ERA": 3.0,
"WHIP": 1.1111111111111112,
"K9": 9.0,
"HR9": 1.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-21T00:00:00"
}{
"available": false,
"pitcher_id": "642397",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.402,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5615,
"prior_weight": 0.4385
},
"role": "pitcher",
"player_id": "642397",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.8,
"H": 1.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 4.2,
"Pitches": 13.4
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.7143,
"ER_per_IP": 0.64286,
"H_per_IP": 1.5,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 3.0,
"SO": 12.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.7,
"BB": 0.3,
"SO": 1.2,
"HR": 0.1,
"BF": 4.0,
"Pitches": 14.7
},
"rates": {
"ERA": 2.7,
"WHIP": 1.0,
"ER_per_IP": 0.3,
"H_per_IP": 0.7,
"BB_per_IP": 0.3,
"SO_per_IP": 1.2,
"HR_per_IP": 0.1
}
},
"season": {
"games": 32,
"totals": {
"IP": 32.1,
"ER": 9.0,
"R": 11.0,
"H": 17.0,
"BB": 12.0,
"SO": 38.0,
"HR": 2.0,
"BF": 126.0,
"Pitches": 508.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2812,
"R": 0.3438,
"H": 0.5312,
"BB": 0.375,
"SO": 1.1875,
"HR": 0.0625,
"BF": 3.9375,
"Pitches": 15.875
},
"rates": {
"ERA": 2.5052,
"WHIP": 0.8969,
"ER_per_IP": 0.27835,
"H_per_IP": 0.52577,
"BB_per_IP": 0.37113,
"SO_per_IP": 1.17526,
"HR_per_IP": 0.06186
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.472,
"predicted_H": 1.001,
"predicted_BB": 0.313,
"predicted_SO": 1.108,
"predicted_HR": 0.145,
"predicted_ERA": 4.2457,
"predicted_WHIP": 1.3134
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5353,
"form_weight": 0.4647,
"form_reliability": 0.5615,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.402,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5615,
"prior_weight": 0.4385
},
"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.2194,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.001,
"final": 0.4652,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.313,
"final": 0.1455,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.108,
"final": 1.0502,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.145,
"final": 0.0674,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2457,
"final": 4.2457,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3134,
"final": 1.3134,
"source": "form_only"
}
}
}{
"available": false,
"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 | Evan Sisk |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4392 |
| ESPN Rank | 81 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.8529 |
| Season WHIP | 1.1176 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"opponent": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"edges": {
"quality_edge": 0.0094,
"offense_edge": 0.089,
"opponent_offense_edge": -0.0558,
"defense_strength": -0.0503,
"opponent_defense_weakness": -0.1038,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0011,
"run_prevention": 0.9956,
"strikeout": 1.0047
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681895",
"profile": {
"available": true,
"pitcher_id": "681895",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 30.4,
"bb_percent": 8.0,
"woba": 0.292,
"xwoba": 0.251,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 29.6,
"avg_best_speed": 72.6128,
"avg_hyper_speed": 92.5661,
"whiff_percent": 26.7,
"swing_percent": 43.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.2585,
"command_and_miss": 0.5925,
"regression_edge": 1.1714,
"xwoba_edge": 1.8143,
"barrel_edge": 0.7667,
"hard_hit_edge": 1.2429,
"whiff_edge": 0.1214,
"bb_edge": 0.275,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681895",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4392,
"sample_weight": 0.45,
"run_prevention_factor": 0.9627,
"strikeout_factor": 1.022,
"walk_factor": 0.9901,
"homer_factor": 0.9255,
"woba_minus_xwoba": 0.041,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681895",
"espn_id": 3994084,
"player_name": "Evan Sisk",
"team": "PIT",
"role": "pitcher",
"espn_rank": 81,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 81,
"gp_value": 29.0,
"gp_rank": 109,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.8529,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 3.0,
"hld_rank": 147,
"ip_value": 34.0,
"ip_rank": 229,
"h_value": 27.0,
"h_rank": 265,
"er_value": 7.0,
"er_rank": 450,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 11.0,
"bb_rank": 298,
"k_value": 42.0,
"k_rank": 168,
"k_per_9_value": 11.117647,
"k_per_9_rank": 19,
"whip_value": 1.1176,
"whip_rank": null,
"war_value": 1.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9665,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0099,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 3,
"H": 10,
"BB": 3,
"SO": 15,
"HR": 1,
"ERA": 2.4545454545454546,
"WHIP": 1.1818181818181819,
"K9": 12.272727272727273,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-21T00:00:00"
}{
"available": false,
"pitcher_id": "681895",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.732,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5738,
"prior_weight": 0.4262
},
"role": "pitcher",
"player_id": "681895",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 1.0,
"SO": 7.0,
"HR": 1.0,
"BF": 26.0,
"Pitches": 110.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.4,
"BB": 0.2,
"SO": 1.4,
"HR": 0.2,
"BF": 5.2,
"Pitches": 22.0
},
"rates": {
"ERA": 4.7647,
"WHIP": 1.4118,
"ER_per_IP": 0.52941,
"H_per_IP": 1.23529,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 3.0,
"R": 3.0,
"H": 10.0,
"BB": 3.0,
"SO": 15.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 204.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.0,
"BB": 0.3,
"SO": 1.5,
"HR": 0.1,
"BF": 4.6,
"Pitches": 20.4
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.1818,
"ER_per_IP": 0.27273,
"H_per_IP": 0.90909,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 29,
"totals": {
"IP": 34.0,
"ER": 7.0,
"R": 7.0,
"H": 27.0,
"BB": 11.0,
"SO": 42.0,
"HR": 2.0,
"BF": 138.0,
"Pitches": 593.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2414,
"R": 0.2414,
"H": 0.931,
"BB": 0.3793,
"SO": 1.4483,
"HR": 0.069,
"BF": 4.7586,
"Pitches": 20.4483
},
"rates": {
"ERA": 1.8529,
"WHIP": 1.1176,
"ER_per_IP": 0.20588,
"H_per_IP": 0.79412,
"BB_per_IP": 0.32353,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.05882
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.384,
"predicted_H": 0.901,
"predicted_BB": 0.261,
"predicted_SO": 1.02,
"predicted_HR": 0.119,
"predicted_ERA": 3.8524,
"predicted_WHIP": 1.2968
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5301,
"form_weight": 0.4699,
"form_reliability": 0.5738,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.732,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5738,
"prior_weight": 0.4262
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.384,
"final": 0.1805,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.901,
"final": 0.4234,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.261,
"final": 0.1227,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.02,
"final": 1.5395,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.119,
"final": 0.0559,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8524,
"final": 3.8524,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2968,
"final": 1.2968,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Mason Montgomery |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1192 |
| ESPN Rank | 301 |
| 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 | 0 |
| Season ERA | 3.9438 |
| Season WHIP | 1.3820 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 423.0,
"runs_allowed": 409.0,
"run_differential": 14.0,
"run_differential_per_game": 0.1628,
"avg_runs_scored": 4.9186,
"avg_runs_allowed": 4.7558,
"offense_index": 1.089,
"defense_index": 0.9497,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.2,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.01
},
"opponent": {
"team": "SEA",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172,
"runs_scored": 371.0,
"runs_allowed": 356.0,
"run_differential": 15.0,
"run_differential_per_game": 0.1724,
"avg_runs_scored": 4.2644,
"avg_runs_allowed": 4.092,
"offense_index": 0.9442,
"defense_index": 1.1038,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.3,
"avg_runs_allowed": 4.9,
"run_differential": -26.0
},
"available": true,
"quality_score": 0.0006
},
"edges": {
"quality_edge": 0.0094,
"offense_edge": 0.089,
"opponent_offense_edge": -0.0558,
"defense_strength": -0.0503,
"opponent_defense_weakness": -0.1038,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0011,
"run_prevention": 0.9956,
"strikeout": 1.0047
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682254",
"profile": {
"available": true,
"pitcher_id": "682254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 91.0,
"k_percent": 30.5,
"bb_percent": 11.5,
"woba": 0.317,
"xwoba": 0.305,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 42.1,
"avg_best_speed": 73.6735,
"avg_hyper_speed": 94.8854,
"whiff_percent": 30.6,
"swing_percent": 49.9
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.1245,
"command_and_miss": 0.6189,
"regression_edge": 0.3429,
"xwoba_edge": 0.2714,
"barrel_edge": -0.4556,
"hard_hit_edge": -0.5429,
"whiff_edge": 0.6786,
"bb_edge": -0.6,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682254",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1192,
"sample_weight": 0.45,
"run_prevention_factor": 0.9899,
"strikeout_factor": 1.0323,
"walk_factor": 1.0216,
"homer_factor": 1.0225,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682254",
"espn_id": 4424112,
"player_name": "Mason Montgomery",
"team": "PIT",
"role": "pitcher",
"espn_rank": 301,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 301,
"gp_value": 30.0,
"gp_rank": 99,
"gs_value": 4.0,
"gs_rank": 183,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.5505,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 7.0,
"hld_rank": 64,
"ip_value": 29.2,
"ip_rank": 295,
"h_value": 28.0,
"h_rank": 258,
"er_value": 15.0,
"er_rank": 230,
"hr_value": 3.0,
"hr_rank": 288,
"bb_value": 15.0,
"bb_rank": 214,
"k_value": 40.0,
"k_rank": 177,
"k_per_9_value": 12.134831,
"k_per_9_rank": 16,
"whip_value": 1.4494,
"whip_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0097,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0101,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0145,
"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": 7,
"H": 11,
"BB": 7,
"SO": 14,
"HR": 0,
"ERA": 5.906250000000001,
"WHIP": 1.6875000000000004,
"K9": 11.812500000000002,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "682254",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.874,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"role": "pitcher",
"player_id": "682254",
"report_date": "20260625_S",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 3.0,
"SO": 8.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 104.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.6,
"SO": 1.6,
"HR": 0.0,
"BF": 5.0,
"Pitches": 20.8
},
"rates": {
"ERA": 3.6,
"WHIP": 2.0,
"ER_per_IP": 0.4,
"H_per_IP": 1.4,
"BB_per_IP": 0.6,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 7.0,
"R": 7.0,
"H": 11.0,
"BB": 7.0,
"SO": 14.0,
"HR": 0.0,
"BF": 50.0,
"Pitches": 220.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.1,
"BB": 0.7,
"SO": 1.4,
"HR": 0.0,
"BF": 5.0,
"Pitches": 22.0
},
"rates": {
"ERA": 5.9062,
"WHIP": 1.6875,
"ER_per_IP": 0.65625,
"H_per_IP": 1.03125,
"BB_per_IP": 0.65625,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 29,
"totals": {
"IP": 29.2,
"ER": 13.0,
"R": 13.0,
"H": 26.0,
"BB": 15.0,
"SO": 40.0,
"HR": 2.0,
"BF": 129.0,
"Pitches": 526.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4483,
"R": 0.4483,
"H": 0.8966,
"BB": 0.5172,
"SO": 1.3793,
"HR": 0.069,
"BF": 4.4483,
"Pitches": 18.1379
},
"rates": {
"ERA": 3.9438,
"WHIP": 1.382,
"ER_per_IP": 0.4382,
"H_per_IP": 0.8764,
"BB_per_IP": 0.50562,
"SO_per_IP": 1.34831,
"HR_per_IP": 0.06742
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.346,
"predicted_H": 0.746,
"predicted_BB": 0.34,
"predicted_SO": 0.845,
"predicted_HR": 0.052,
"predicted_ERA": 4.4855,
"predicted_WHIP": 1.5659
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5443,
"form_weight": 0.4557,
"form_reliability": 0.5402,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.874,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.346,
"final": 0.7019,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.746,
"final": 0.8842,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.34,
"final": 0.1549,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.845,
"final": 0.3851,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.052,
"final": 0.568,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4855,
"final": 4.4855,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5659,
"final": 1.5659,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.151 | 0.000 | 0.000 | Hitting_2B | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 4.060 | 4.000 | 4.000 | Hitting_AB | 4.000 | 5.000 | 0.000 | -1.000 |
| predicted_AVG | 0.259 | 0.000 | 0.250 | Hitting_AVG | 0.305 | 0.400 | -0.305 | -0.400 |
| predicted_BB | 0.205 | 0.000 | 0.000 | Hitting_BB | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 1.050 | 0.000 | 1.000 | Hitting_H | 1.221 | 2.000 | -1.221 | -2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_OBP | 0.332 | 0.000 | 0.250 | Hitting_OBP | 0.357 | 0.400 | -0.357 | -0.400 |
| predicted_R | 0.575 | 0.000 | 1.000 | Hitting_R | 0.545 | 2.000 | -0.545 | -2.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.482 | 0.000 | -0.482 | 0.000 |
| predicted_SLG | 0.409 | 0.000 | 0.250 | Hitting_SLG | 0.365 | 0.400 | -0.365 | -0.400 |
| predicted_SO | 0.740 | 1.000 | 1.000 | Hitting_SO | 0.802 | 1.000 | 0.198 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7400 -> 1.0000 (boost 0.2600, worse) |
| Biggest Deboost | predicted_H: 1.0500 -> 0.0000 (deboost -1.0500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2590 -> 0.2758 (boost 0.0168, better) | predicted_AB: 4.0600 -> 3.9880 (deboost -0.0720, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3359 -> 0.3073 (deboost -0.0286, 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.7731 -> 1.0000 (boost 0.2269, worse) | predicted_RBI: 0.4937 -> 0.0000 (deboost -0.4937, worse) | AB rounded to 4 (raw=4.06), rates preserved: AVG=0.271 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5955 -> 1.0000 (boost 0.4045, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3975 -> 0.2500 (deboost -0.1475, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3975 (boost 0.1475, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693304",
"player_name": "Nick Gonzales",
"position": "3B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.151,
"predicted_3B": 0.014,
"predicted_AB": 4.06,
"predicted_AVG": 0.259,
"predicted_BB": 0.205,
"predicted_H": 1.05,
"predicted_HR": 0.1,
"predicted_OBP": 0.332,
"predicted_R": 0.575,
"predicted_RBI": 0.49,
"predicted_SLG": 0.409,
"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.1298,
"predicted_3B": 0.0343,
"predicted_AB": 3.988,
"predicted_AVG": 0.2758,
"predicted_BB": 0.1779,
"predicted_H": 1.0974,
"predicted_HBP": 0.112,
"predicted_HR": 0.0949,
"predicted_OBP": 0.3359,
"predicted_R": 0.5911,
"predicted_RBI": 0.49,
"predicted_SLG": 0.4155,
"predicted_SO": 0.776
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.1298,
"delta": -0.0212,
"percent_delta": -0.1404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0343,
"delta": 0.0203,
"percent_delta": 1.45,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 3.988,
"delta": -0.072,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2758,
"delta": 0.0168,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.1779,
"delta": -0.0271,
"percent_delta": -0.1322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0974,
"delta": 0.0474,
"percent_delta": 0.0451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0949,
"delta": -0.0051,
"percent_delta": -0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3359,
"delta": 0.0039,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 0.5911,
"delta": 0.0161,
"percent_delta": 0.028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.49,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4155,
"delta": 0.0065,
"percent_delta": 0.0159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 0.776,
"delta": 0.036,
"percent_delta": 0.0486,
"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.259,
"after": 0.2758,
"delta": 0.0168,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.06,
"after": 3.988,
"delta": -0.072,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1298,
"predicted_3B": 0.0343,
"predicted_AB": 3.988,
"predicted_AVG": 0.2763,
"predicted_BB": 0.1786,
"predicted_H": 1.1018,
"predicted_HBP": 0.112,
"predicted_HR": 0.095,
"predicted_OBP": 0.3073,
"predicted_R": 0.5955,
"predicted_RBI": 0.4937,
"predicted_SLG": 0.3975,
"predicted_SO": 0.7731
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1298,
"after": 0.1298,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0343,
"after": 0.0343,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.988,
"after": 3.988,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2758,
"after": 0.2763,
"delta": 0.0005,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1779,
"after": 0.1786,
"delta": 0.0007,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0974,
"after": 1.1018,
"delta": 0.0044,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.112,
"after": 0.112,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0949,
"after": 0.095,
"delta": 0.0001,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3359,
"after": 0.3073,
"delta": -0.0286,
"percent_delta": -0.0851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5911,
"after": 0.5955,
"delta": 0.0044,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4937,
"delta": 0.0037,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4155,
"after": 0.3975,
"delta": -0.018,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 0.7731,
"delta": -0.0029,
"percent_delta": -0.0037,
"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.3359,
"after": 0.3073,
"delta": -0.0286,
"percent_delta": -0.0851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.06), rates preserved: AVG=0.271 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.1298,
"after": 0.0,
"delta": -0.1298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0343,
"after": 0.0,
"delta": -0.0343,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.988,
"after": 4.0,
"delta": 0.012,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1786,
"after": 0.0,
"delta": -0.1786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1018,
"after": 1.0,
"delta": -0.1018,
"percent_delta": -0.0924,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.112,
"after": 0.0,
"delta": -0.112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4937,
"after": 0.0,
"delta": -0.4937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7731,
"after": 1.0,
"delta": 0.2269,
"percent_delta": 0.2935,
"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.7731,
"after": 1.0,
"delta": 0.2269,
"percent_delta": 0.2935,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4937,
"after": 0.0,
"delta": -0.4937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.5955,
"after": 1.0,
"delta": 0.4045,
"percent_delta": 0.6793,
"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.5955,
"after": 1.0,
"delta": 0.4045,
"percent_delta": 0.6793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2763,
"after": 0.25,
"delta": -0.0263,
"percent_delta": -0.0952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.0573,
"percent_delta": -0.1865,
"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.3975,
"after": 0.25,
"delta": -0.1475,
"percent_delta": -0.3711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3975,
"after": 0.25,
"delta": -0.1475,
"percent_delta": -0.3711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2763,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3073,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3975,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2763,
"delta": 0.0263,
"percent_delta": 0.1051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3073,
"delta": 0.0573,
"percent_delta": 0.2292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3975,
"delta": 0.1475,
"percent_delta": 0.5899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3975,
"delta": 0.1475,
"percent_delta": 0.5899,
"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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 4.0,
"delta": -0.06,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2763,
"delta": 0.0173,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"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.332,
"after": 0.3073,
"delta": -0.0247,
"percent_delta": -0.0744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 0.0,
"delta": -0.575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.3975,
"delta": -0.0115,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"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.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.205 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.575 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.409 | - |
| 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.130 | -0.021 |
| predicted_3B | 0.034 | 0.020 |
| predicted_AB | 3.988 | -0.072 |
| predicted_AVG | 0.276 | 0.017 |
| predicted_BB | 0.178 | -0.027 |
| predicted_H | 1.097 | 0.047 |
| predicted_HBP | 0.112 | - |
| predicted_HR | 0.095 | -0.005 |
| predicted_OBP | 0.336 | 0.004 |
| predicted_R | 0.591 | 0.016 |
| predicted_RBI | 0.490 | 0.000 |
| predicted_SLG | 0.415 | 0.007 |
| predicted_SO | 0.776 | 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.130 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 3.988 | 0.000 |
| predicted_AVG | 0.276 | 0.001 |
| predicted_BB | 0.179 | 0.001 |
| predicted_H | 1.102 | 0.004 |
| predicted_HBP | 0.112 | 0.000 |
| predicted_HR | 0.095 | 0.000 |
| predicted_OBP | 0.307 | -0.029 |
| predicted_R | 0.596 | 0.004 |
| predicted_RBI | 0.494 | 0.004 |
| predicted_SLG | 0.398 | -0.018 |
| predicted_SO | 0.773 | -0.003 |
AB rounded to 4 (raw=4.06), rates preserved: AVG=0.271 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.130 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 4.000 | 0.012 |
| predicted_AVG | 0.250 | -0.026 |
| predicted_BB | 0.000 | -0.179 |
| predicted_H | 1.000 | -0.102 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.250 | -0.057 |
| predicted_R | 1.000 | 0.404 |
| predicted_RBI | 0.000 | -0.494 |
| predicted_SLG | 0.250 | -0.148 |
| predicted_SO | 1.000 | 0.227 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 0.000 | 1.000 | 1.000 | 3.000 | 4.000 | 0.000 | 5.000 | 0.3500 | 0.3810 | 0.6000 | 0.3500 | 0.0500 | 0.1500 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 0.000 | 1.000 | 1.000 | 4.000 | 6.000 | 0.000 | 9.000 | 0.2750 | 0.3095 | 0.4000 | 0.2750 | 0.0250 | 0.1000 | 0.0000 | 0.2250 |
| season | 0.60 | 73 | - | 279.000 | 83.000 | 11.000 | 1.000 | 3.000 | 35.000 | 42.000 | 15.000 | 54.000 | 0.2975 | 0.3433 | 0.3763 | 0.2975 | 0.0107 | 0.1255 | 0.0538 | 0.1935 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1010 |
| predicted_3B | 0.0620 |
| predicted_AB | 3.8900 |
| predicted_AVG | 0.2987 |
| predicted_BB | 0.1410 |
| predicted_H | 1.1620 |
| predicted_HBP | 0.1120 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.3413 |
| predicted_R | 0.6130 |
| predicted_RBI | 0.4900 |
| predicted_SLG | 0.4244 |
| predicted_SO | 0.8250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.1010 | 0.1298 | model_form_blend |
| predicted_3B | 0.0140 | 0.0620 | 0.0343 | model_form_blend |
| predicted_AB | 4.0600 | 3.8900 | 3.9880 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2987 | 0.2758 | model_form_blend |
| predicted_BB | 0.2050 | 0.1410 | 0.1779 | model_form_blend |
| predicted_H | 1.0500 | 1.1620 | 1.0974 | model_form_blend |
| predicted_HBP | - | 0.1120 | 0.1120 | form_only |
| predicted_HR | 0.1000 | 0.0880 | 0.0949 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3413 | 0.3359 | model_form_blend |
| predicted_R | 0.5750 | 0.6130 | 0.5911 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4900 | 0.4900 | model_form_blend |
| predicted_SLG | 0.4090 | 0.4244 | 0.4155 | model_form_blend |
| predicted_SO | 0.7400 | 0.8250 | 0.7760 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 222 |
| Season rows before report date | 222 |
| Report year | 2026 |
| Profile rows used | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.297 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | 3B |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 693304 |
| playerID | 693304 |
| playerName | Nick Gonzales |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-24 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.323 |
| sl_xwoba | 0.326 |
| sl_xba | 0.291 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 3.1 |
| sl_hard_hit_percent | 36.3 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 6.1 |
| sl_whiff_percent | 23.6 |
| 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.135 | 0.000 | 0.000 | Hitting_2B | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.240 | 4.000 | 3.000 | Hitting_AB | 3.385 | 4.000 | 0.615 | 0.000 |
| predicted_AVG | 0.269 | 0.250 | 0.333 | Hitting_AVG | 0.275 | 0.250 | -0.025 | 0.000 |
| predicted_BB | 0.173 | 0.000 | 0.000 | Hitting_BB | 0.246 | 0.000 | -0.246 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.931 | 1.000 | 0.069 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_OBP | 0.319 | 0.250 | 0.333 | Hitting_OBP | 0.331 | 0.250 | -0.081 | 0.000 |
| predicted_R | 0.404 | 0.000 | 0.000 | Hitting_R | 0.446 | 1.000 | -0.446 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.146 | 1.000 | -0.146 | -1.000 |
| predicted_SLG | 0.371 | 0.250 | 0.333 | Hitting_SLG | 0.316 | 0.250 | -0.066 | 0.000 |
| predicted_SO | 0.596 | 1.000 | 1.000 | Hitting_SO | 0.708 | 1.000 | 0.292 | 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_AB: 3.2400 -> 4.0000 (boost 0.7600, 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 | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.2400 -> 3.3877 (boost 0.1477, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3201 -> 0.3130 (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 | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6164 -> 1.0000 (boost 0.3836, worse) | predicted_AB: 3.3877 -> 3.0000 (deboost -0.3877, worse) | AB rounded to 3 (raw=3.39), rates preserved: AVG=0.279 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4193 -> 0.0000 (deboost -0.4193, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2792 -> 0.3330 (boost 0.0538, better) | predicted_SLG: 0.3686 -> 0.3330 (deboost -0.0356, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3686 (boost 0.0356, better) | predicted_AVG: 0.3330 -> 0.2792 (deboost -0.0538, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "CF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.135,
"predicted_3B": 0.0,
"predicted_AB": 3.24,
"predicted_AVG": 0.269,
"predicted_BB": 0.173,
"predicted_H": 0.87,
"predicted_HR": 0.06,
"predicted_OBP": 0.319,
"predicted_R": 0.404,
"predicted_RBI": 0.35,
"predicted_SLG": 0.371,
"predicted_SO": 0.596
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0008,
"predicted_AB": 3.3877,
"predicted_AVG": 0.2778,
"predicted_BB": 0.1657,
"predicted_H": 0.9422,
"predicted_HBP": 0.016,
"predicted_HR": 0.0474,
"predicted_OBP": 0.3201,
"predicted_R": 0.4162,
"predicted_RBI": 0.3476,
"predicted_SLG": 0.3702,
"predicted_SO": 0.6188
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.1587,
"delta": 0.0237,
"percent_delta": 0.1756,
"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.24,
"after": 3.3877,
"delta": 0.1477,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2778,
"delta": 0.0088,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.173,
"after": 0.1657,
"delta": -0.0073,
"percent_delta": -0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.9422,
"delta": 0.0722,
"percent_delta": 0.083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0474,
"delta": -0.0126,
"percent_delta": -0.21,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3201,
"delta": 0.0011,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.404,
"after": 0.4162,
"delta": 0.0122,
"percent_delta": 0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3476,
"delta": -0.0024,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3702,
"delta": -0.0008,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.596,
"after": 0.6188,
"delta": 0.0228,
"percent_delta": 0.0383,
"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.24,
"after": 3.3877,
"delta": 0.1477,
"percent_delta": 0.0456,
"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.1587,
"predicted_3B": 0.0008,
"predicted_AB": 3.3877,
"predicted_AVG": 0.2792,
"predicted_BB": 0.1663,
"predicted_H": 0.946,
"predicted_HBP": 0.016,
"predicted_HR": 0.0474,
"predicted_OBP": 0.313,
"predicted_R": 0.4193,
"predicted_RBI": 0.3502,
"predicted_SLG": 0.3686,
"predicted_SO": 0.6164
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3877,
"after": 3.3877,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2778,
"after": 0.2792,
"delta": 0.0014,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1657,
"after": 0.1663,
"delta": 0.0006,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9422,
"after": 0.946,
"delta": 0.0038,
"percent_delta": 0.004,
"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.0474,
"after": 0.0474,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3201,
"after": 0.313,
"delta": -0.0071,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4162,
"after": 0.4193,
"delta": 0.0031,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3476,
"after": 0.3502,
"delta": 0.0026,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3702,
"after": 0.3686,
"delta": -0.0016,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6188,
"after": 0.6164,
"delta": -0.0024,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3201,
"after": 0.313,
"delta": -0.0071,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.39), rates preserved: AVG=0.279 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.1587,
"after": 0.0,
"delta": -0.1587,
"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.3877,
"after": 3.0,
"delta": -0.3877,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1663,
"after": 0.0,
"delta": -0.1663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.946,
"after": 1.0,
"delta": 0.054,
"percent_delta": 0.0571,
"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.0474,
"after": 0.0,
"delta": -0.0474,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3502,
"after": 0.0,
"delta": -0.3502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6164,
"after": 1.0,
"delta": 0.3836,
"percent_delta": 0.6223,
"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.6164,
"after": 1.0,
"delta": 0.3836,
"percent_delta": 0.6223,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3877,
"after": 3.0,
"delta": -0.3877,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4193,
"after": 0.0,
"delta": -0.4193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4193,
"after": 0.0,
"delta": -0.4193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2792,
"after": 0.333,
"delta": 0.0538,
"percent_delta": 0.1927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.02,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3686,
"after": 0.333,
"delta": -0.0356,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2792,
"after": 0.333,
"delta": 0.0538,
"percent_delta": 0.1927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3686,
"after": 0.333,
"delta": -0.0356,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2792,
"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.313,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3686,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2792,
"delta": -0.0538,
"percent_delta": -0.1615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.313,
"delta": -0.02,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3686,
"delta": 0.0356,
"percent_delta": 0.1068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3686,
"delta": 0.0356,
"percent_delta": 0.1068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2792,
"delta": -0.0538,
"percent_delta": -0.1615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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": 4.0,
"delta": 0.76,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2792,
"delta": 0.0102,
"percent_delta": 0.0379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.313,
"delta": -0.006,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3686,
"delta": -0.0024,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.24,
"after": 4.0,
"delta": 0.76,
"percent_delta": 0.2346,
"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.135 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.240 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.173 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.404 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.371 | - |
| predicted_SO | 0.596 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.024 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.388 | 0.148 |
| predicted_AVG | 0.278 | 0.009 |
| predicted_BB | 0.166 | -0.007 |
| predicted_H | 0.942 | 0.072 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.047 | -0.013 |
| predicted_OBP | 0.320 | 0.001 |
| predicted_R | 0.416 | 0.012 |
| predicted_RBI | 0.348 | -0.002 |
| predicted_SLG | 0.370 | -0.001 |
| predicted_SO | 0.619 | 0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.388 | 0.000 |
| predicted_AVG | 0.279 | 0.001 |
| predicted_BB | 0.166 | 0.001 |
| predicted_H | 0.946 | 0.004 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.047 | 0.000 |
| predicted_OBP | 0.313 | -0.007 |
| predicted_R | 0.419 | 0.003 |
| predicted_RBI | 0.350 | 0.003 |
| predicted_SLG | 0.369 | -0.002 |
| predicted_SO | 0.616 | -0.002 |
AB rounded to 3 (raw=3.39), rates preserved: AVG=0.279 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.159 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.388 |
| predicted_AVG | 0.333 | 0.054 |
| predicted_BB | 0.000 | -0.166 |
| predicted_H | 1.000 | 0.054 |
| predicted_HR | 0.000 | -0.047 |
| predicted_OBP | 0.333 | 0.020 |
| predicted_R | 0.000 | -0.419 |
| predicted_RBI | 0.000 | -0.350 |
| predicted_SLG | 0.333 | -0.036 |
| predicted_SO | 1.000 | 0.384 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 2.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.000 | 4.000 | 0.2857 | 0.2857 | 0.3810 | 0.2857 | 0.0000 | 0.0952 | 0.0000 | 0.1905 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 2.000 | 0.000 | 0.000 | 4.000 | 3.000 | 1.000 | 5.000 | 0.3077 | 0.3250 | 0.3590 | 0.3077 | 0.0000 | 0.1026 | 0.0256 | 0.1282 |
| season | 0.60 | 52 | - | 168.000 | 50.000 | 7.000 | 0.000 | 1.000 | 14.000 | 21.000 | 9.000 | 31.000 | 0.2976 | 0.3352 | 0.3571 | 0.2976 | 0.0060 | 0.0833 | 0.0536 | 0.1845 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1930 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6020 |
| predicted_AVG | 0.2905 |
| predicted_BB | 0.1550 |
| predicted_H | 1.0470 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0290 |
| predicted_OBP | 0.3218 |
| predicted_R | 0.4340 |
| predicted_RBI | 0.3440 |
| predicted_SLG | 0.3691 |
| predicted_SO | 0.6520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.1930 | 0.1587 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2400 | 3.6020 | 3.3877 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2905 | 0.2778 | model_form_blend |
| predicted_BB | 0.1730 | 0.1550 | 0.1657 | model_form_blend |
| predicted_H | 0.8700 | 1.0470 | 0.9422 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0600 | 0.0290 | 0.0474 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3218 | 0.3201 | model_form_blend |
| predicted_R | 0.4040 | 0.4340 | 0.4162 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3440 | 0.3476 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3691 | 0.3702 | model_form_blend |
| predicted_SO | 0.5960 | 0.6520 | 0.6188 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 130 |
| Season rows before report date | 130 |
| Report year | 2026 |
| Profile rows used | 52 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.298 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF-LF |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 663968 |
| playerID | 663968 |
| playerName | Jake Mangum |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-24 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.312 |
| sl_xwoba | 0.283 |
| sl_xba | 0.264 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 24.8 |
| sl_barrel_batted_rate | 0.7 |
| sl_hard_hit_percent | 25.5 |
| sl_exit_velocity_avg | 83.3 |
| sl_launch_angle_avg | 4.5 |
| sl_whiff_percent | 19.0 |
| sl_swing_percent | 59.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.228 | 0.000 | 0.000 | Hitting_2B | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_AB | 3.970 | 4.000 | 4.000 | Hitting_AB | 3.648 | 3.000 | 0.352 | 1.000 |
| predicted_AVG | 0.268 | 0.000 | 0.250 | Hitting_AVG | 0.284 | 0.333 | -0.284 | -0.333 |
| predicted_BB | 0.633 | 0.000 | 1.000 | Hitting_BB | 0.697 | 1.000 | -0.697 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.070 | 0.000 | 1.000 | Hitting_H | 1.034 | 1.000 | -1.034 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_OBP | 0.384 | 0.000 | 0.400 | Hitting_OBP | 0.405 | 0.500 | -0.405 | -0.500 |
| predicted_R | 0.658 | 0.000 | 1.000 | Hitting_R | 0.674 | 0.000 | -0.674 | 0.000 |
| predicted_RBI | 0.770 | 0.000 | 1.000 | Hitting_RBI | 0.644 | 0.000 | -0.644 | 0.000 |
| predicted_SLG | 0.505 | 0.000 | 0.250 | Hitting_SLG | 0.453 | 0.333 | -0.453 | -0.333 |
| predicted_SO | 0.899 | 1.000 | 1.000 | Hitting_SO | 0.973 | 0.000 | 0.027 | 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: 0.8990 -> 1.0000 (boost 0.1010, worse) |
| Biggest Deboost | predicted_H: 1.0700 -> 0.0000 (deboost -1.0700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 4 | 2 | predicted_H: 1.0700 -> 1.1229 (boost 0.0529, better) | predicted_AB: 3.9700 -> 3.8221 (deboost -0.1479, worse) | Final model input calibrated with local 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.5372 -> 0.5192 (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 | 4 | 3 | 3 | 4 | predicted_BB: 0.5725 -> 1.0000 (boost 0.4275, better) | predicted_2B: 0.2536 -> 0.0000 (deboost -0.2536, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.284 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6565 -> 1.0000 (boost 0.3435, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3868 -> 0.4000 (boost 0.0132, better) | predicted_SLG: 0.5192 -> 0.2500 (deboost -0.2692, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.5192 (boost 0.2692, better) | predicted_OBP: 0.4000 -> 0.3868 (deboost -0.0132, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.228,
"predicted_3B": 0.025,
"predicted_AB": 3.97,
"predicted_AVG": 0.268,
"predicted_BB": 0.633,
"predicted_H": 1.07,
"predicted_HR": 0.18,
"predicted_OBP": 0.384,
"predicted_R": 0.658,
"predicted_RBI": 0.77,
"predicted_SLG": 0.505,
"predicted_SO": 0.899
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2536,
"predicted_3B": 0.0207,
"predicted_AB": 3.8221,
"predicted_AVG": 0.2943,
"predicted_BB": 0.5703,
"predicted_H": 1.1229,
"predicted_HBP": 0.038,
"predicted_HR": 0.1872,
"predicted_OBP": 0.3966,
"predicted_R": 0.6516,
"predicted_RBI": 0.7913,
"predicted_SLG": 0.5372,
"predicted_SO": 0.867
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.228,
"after": 0.2536,
"delta": 0.0256,
"percent_delta": 0.1123,
"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.97,
"after": 3.8221,
"delta": -0.1479,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2943,
"delta": 0.0263,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.633,
"after": 0.5703,
"delta": -0.0627,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.1229,
"delta": 0.0529,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1872,
"delta": 0.0072,
"percent_delta": 0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.384,
"after": 0.3966,
"delta": 0.0126,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.658,
"after": 0.6516,
"delta": -0.0064,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.7913,
"delta": 0.0213,
"percent_delta": 0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.505,
"after": 0.5372,
"delta": 0.0322,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 0.867,
"delta": -0.032,
"percent_delta": -0.0356,
"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": 1.07,
"after": 1.1229,
"delta": 0.0529,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.97,
"after": 3.8221,
"delta": -0.1479,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2536,
"predicted_3B": 0.0207,
"predicted_AB": 3.8221,
"predicted_AVG": 0.295,
"predicted_BB": 0.5725,
"predicted_H": 1.1274,
"predicted_HBP": 0.038,
"predicted_HR": 0.1873,
"predicted_OBP": 0.3868,
"predicted_R": 0.6565,
"predicted_RBI": 0.7972,
"predicted_SLG": 0.5192,
"predicted_SO": 0.8637
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2536,
"after": 0.2536,
"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.8221,
"after": 3.8221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2943,
"after": 0.295,
"delta": 0.0007,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5703,
"after": 0.5725,
"delta": 0.0022,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1229,
"after": 1.1274,
"delta": 0.0045,
"percent_delta": 0.004,
"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.1872,
"after": 0.1873,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3966,
"after": 0.3868,
"delta": -0.0098,
"percent_delta": -0.0247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6516,
"after": 0.6565,
"delta": 0.0049,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7913,
"after": 0.7972,
"delta": 0.0059,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5372,
"after": 0.5192,
"delta": -0.018,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.867,
"after": 0.8637,
"delta": -0.0033,
"percent_delta": -0.0038,
"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.5372,
"after": 0.5192,
"delta": -0.018,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.97), rates preserved: AVG=0.284 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.2536,
"after": 0.0,
"delta": -0.2536,
"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.8221,
"after": 4.0,
"delta": 0.1779,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5725,
"after": 1.0,
"delta": 0.4275,
"percent_delta": 0.7467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1274,
"after": 1.0,
"delta": -0.1274,
"percent_delta": -0.113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1873,
"after": 0.0,
"delta": -0.1873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7972,
"after": 1.0,
"delta": 0.2028,
"percent_delta": 0.2544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8637,
"after": 1.0,
"delta": 0.1363,
"percent_delta": 0.1578,
"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.5725,
"after": 1.0,
"delta": 0.4275,
"percent_delta": 0.7467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2536,
"after": 0.0,
"delta": -0.2536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6565,
"after": 1.0,
"delta": 0.3435,
"percent_delta": 0.5232,
"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.6565,
"after": 1.0,
"delta": 0.3435,
"percent_delta": 0.5232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.295,
"after": 0.25,
"delta": -0.045,
"percent_delta": -0.1525,
"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.3868,
"after": 0.4,
"delta": 0.0132,
"percent_delta": 0.0341,
"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.5192,
"after": 0.25,
"delta": -0.2692,
"percent_delta": -0.5185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3868,
"after": 0.4,
"delta": 0.0132,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5192,
"after": 0.25,
"delta": -0.2692,
"percent_delta": -0.5185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.295,
"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.3868,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5192,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.295,
"delta": 0.045,
"percent_delta": 0.1799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3868,
"delta": -0.0132,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5192,
"delta": 0.2692,
"percent_delta": 1.0768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5192,
"delta": 0.2692,
"percent_delta": 1.0768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3868,
"delta": -0.0132,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.228,
"after": 0.0,
"delta": -0.228,
"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.97,
"after": 4.0,
"delta": 0.03,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.295,
"delta": 0.027,
"percent_delta": 0.1007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.633,
"after": 0.0,
"delta": -0.633,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.384,
"after": 0.3868,
"delta": 0.0028,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.658,
"after": 0.0,
"delta": -0.658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.505,
"after": 0.5192,
"delta": 0.0142,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 1.0,
"delta": 0.101,
"percent_delta": 0.1123,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.899,
"after": 1.0,
"delta": 0.101,
"percent_delta": 0.1123,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.228 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.633 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.384 | - |
| predicted_R | 0.658 | - |
| predicted_RBI | 0.770 | - |
| predicted_SLG | 0.505 | - |
| predicted_SO | 0.899 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.254 | 0.026 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.822 | -0.148 |
| predicted_AVG | 0.294 | 0.026 |
| predicted_BB | 0.570 | -0.063 |
| predicted_H | 1.123 | 0.053 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.187 | 0.007 |
| predicted_OBP | 0.397 | 0.013 |
| predicted_R | 0.652 | -0.006 |
| predicted_RBI | 0.791 | 0.021 |
| predicted_SLG | 0.537 | 0.032 |
| predicted_SO | 0.867 | -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.254 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.822 | 0.000 |
| predicted_AVG | 0.295 | 0.001 |
| predicted_BB | 0.573 | 0.002 |
| predicted_H | 1.127 | 0.004 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.187 | 0.000 |
| predicted_OBP | 0.387 | -0.010 |
| predicted_R | 0.656 | 0.005 |
| predicted_RBI | 0.797 | 0.006 |
| predicted_SLG | 0.519 | -0.018 |
| predicted_SO | 0.864 | -0.003 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.284 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 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.254 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.178 |
| predicted_AVG | 0.250 | -0.045 |
| predicted_BB | 1.000 | 0.427 |
| predicted_H | 1.000 | -0.127 |
| predicted_HR | 0.000 | -0.187 |
| predicted_OBP | 0.400 | 0.013 |
| predicted_R | 1.000 | 0.344 |
| predicted_RBI | 1.000 | 0.203 |
| predicted_SLG | 0.250 | -0.269 |
| predicted_SO | 1.000 | 0.136 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 18.000 | 7.000 | 2.000 | 0.000 | 1.000 | 6.000 | 3.000 | 1.000 | 4.000 | 0.3889 | 0.4211 | 0.6667 | 0.3889 | 0.0556 | 0.3333 | 0.0556 | 0.2222 |
| last_10 | 0.20 | 10 | - | 37.000 | 16.000 | 4.000 | 0.000 | 4.000 | 11.000 | 7.000 | 4.000 | 6.000 | 0.4324 | 0.4878 | 0.8649 | 0.4324 | 0.1081 | 0.2973 | 0.1081 | 0.1622 |
| season | 0.60 | 79 | - | 282.000 | 81.000 | 18.000 | 2.000 | 11.000 | 51.000 | 52.000 | 50.000 | 71.000 | 0.2872 | 0.4012 | 0.4823 | 0.2872 | 0.0390 | 0.1809 | 0.1773 | 0.2518 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2880 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.6230 |
| predicted_AVG | 0.3296 |
| predicted_BB | 0.4860 |
| predicted_H | 1.1940 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.1970 |
| predicted_OBP | 0.4136 |
| predicted_R | 0.6430 |
| predicted_RBI | 0.8200 |
| predicted_SLG | 0.5806 |
| predicted_SO | 0.8240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2280 | 0.2880 | 0.2536 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0207 | model_form_blend |
| predicted_AB | 3.9700 | 3.6230 | 3.8221 | model_form_blend |
| predicted_AVG | 0.2680 | 0.3296 | 0.2943 | model_form_blend |
| predicted_BB | 0.6330 | 0.4860 | 0.5703 | model_form_blend |
| predicted_H | 1.0700 | 1.1940 | 1.1229 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.1800 | 0.1970 | 0.1872 | model_form_blend |
| predicted_OBP | 0.3840 | 0.4136 | 0.3966 | model_form_blend |
| predicted_R | 0.6580 | 0.6430 | 0.6516 | model_form_blend |
| predicted_RBI | 0.7700 | 0.8200 | 0.7913 | model_form_blend |
| predicted_SLG | 0.5050 | 0.5806 | 0.5372 | model_form_blend |
| predicted_SO | 0.8990 | 0.8240 | 0.8670 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 261 |
| Season rows before report date | 261 |
| Report year | 2026 |
| Profile rows used | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.287 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-RF |
| gameID | 20260623_SEA@PIT |
| game_type | full |
| mlbID | 668804 |
| playerID | 668804 |
| playerName | Bryan Reynolds |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-23 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 14.8 |
| sl_woba | 0.389 |
| sl_xwoba | 0.377 |
| sl_xba | 0.269 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 5.9 |
| sl_whiff_percent | 28.1 |
| 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.257 | 0.000 | 0.000 | Hitting_2B | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 4.400 | 4.000 | 4.000 | Hitting_AB | 3.967 | 5.000 | 0.033 | -1.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.266 | 0.200 | -0.266 | -0.200 |
| predicted_BB | 0.446 | 0.000 | 0.000 | Hitting_BB | 0.523 | 0.000 | -0.523 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 0.000 | 1.000 | Hitting_H | 1.053 | 1.000 | -1.053 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_OBP | 0.311 | 0.000 | 0.250 | Hitting_OBP | 0.354 | 0.200 | -0.354 | -0.200 |
| predicted_R | 0.662 | 0.000 | 1.000 | Hitting_R | 0.716 | 1.000 | -0.716 | -1.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.786 | 0.000 | -0.786 | 0.000 |
| predicted_SLG | 0.439 | 0.000 | 0.250 | Hitting_SLG | 0.552 | 0.200 | -0.552 | -0.200 |
| predicted_SO | 1.108 | 2.000 | 1.000 | Hitting_SO | 1.070 | 0.000 | 0.930 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.1080 -> 2.0000 (boost 0.8920, worse) |
| Biggest Deboost | predicted_H: 1.0300 -> 0.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 | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4390 -> 0.4473 (boost 0.0083, better) | predicted_AB: 4.4000 -> 4.2809 (deboost -0.1191, worse) | Final model input calibrated with local 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.4473 -> 0.4337 (deboost -0.0136, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_RBI: 0.4956 -> 0.0000 (deboost -0.4956, worse) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.236 HR/AB=0.039 |
| 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.6533 -> 1.0000 (boost 0.3467, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2430 -> 0.2500 (boost 0.0070, better) | predicted_SLG: 0.4337 -> 0.2500 (deboost -0.1837, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4337 (boost 0.1837, better) | predicted_AVG: 0.2500 -> 0.2430 (deboost -0.0070, worse) | 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.257,
"predicted_3B": 0.014,
"predicted_AB": 4.4,
"predicted_AVG": 0.235,
"predicted_BB": 0.446,
"predicted_H": 1.03,
"predicted_HR": 0.17,
"predicted_OBP": 0.311,
"predicted_R": 0.662,
"predicted_RBI": 0.5,
"predicted_SLG": 0.439,
"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.2821,
"predicted_3B": 0.0119,
"predicted_AB": 4.2809,
"predicted_AVG": 0.2429,
"predicted_BB": 0.3992,
"predicted_H": 1.036,
"predicted_HBP": 0.019,
"predicted_HR": 0.17,
"predicted_OBP": 0.3105,
"predicted_R": 0.6484,
"predicted_RBI": 0.4919,
"predicted_SLG": 0.4473,
"predicted_SO": 1.0931
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.257,
"after": 0.2821,
"delta": 0.0251,
"percent_delta": 0.0977,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 4.2809,
"delta": -0.1191,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2429,
"delta": 0.0079,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.3992,
"delta": -0.0468,
"percent_delta": -0.1049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.036,
"delta": 0.006,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.17,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3105,
"delta": -0.0005,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.662,
"after": 0.6484,
"delta": -0.0136,
"percent_delta": -0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4919,
"delta": -0.0081,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4473,
"delta": 0.0083,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.108,
"after": 1.0931,
"delta": -0.0149,
"percent_delta": -0.0134,
"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.439,
"after": 0.4473,
"delta": 0.0083,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.2809,
"delta": -0.1191,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2821,
"predicted_3B": 0.0119,
"predicted_AB": 4.2809,
"predicted_AVG": 0.243,
"predicted_BB": 0.4007,
"predicted_H": 1.0401,
"predicted_HBP": 0.019,
"predicted_HR": 0.1701,
"predicted_OBP": 0.3078,
"predicted_R": 0.6533,
"predicted_RBI": 0.4956,
"predicted_SLG": 0.4337,
"predicted_SO": 1.0889
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2821,
"after": 0.2821,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2809,
"after": 4.2809,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2429,
"after": 0.243,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3992,
"after": 0.4007,
"delta": 0.0015,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.036,
"after": 1.0401,
"delta": 0.0041,
"percent_delta": 0.004,
"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.17,
"after": 0.1701,
"delta": 0.0001,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3105,
"after": 0.3078,
"delta": -0.0027,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6484,
"after": 0.6533,
"delta": 0.0049,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4919,
"after": 0.4956,
"delta": 0.0037,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4473,
"after": 0.4337,
"delta": -0.0136,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0931,
"after": 1.0889,
"delta": -0.0042,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4473,
"after": 0.4337,
"delta": -0.0136,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.236 HR/AB=0.039",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2821,
"after": 0.0,
"delta": -0.2821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2809,
"after": 4.0,
"delta": -0.2809,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4007,
"after": 0.0,
"delta": -0.4007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0401,
"after": 1.0,
"delta": -0.0401,
"percent_delta": -0.0386,
"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.1701,
"after": 0.0,
"delta": -0.1701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4956,
"after": 0.0,
"delta": -0.4956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0889,
"after": 1.0,
"delta": -0.0889,
"percent_delta": -0.0816,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4956,
"after": 0.0,
"delta": -0.4956,
"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.6533,
"after": 1.0,
"delta": 0.3467,
"percent_delta": 0.5307,
"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.6533,
"after": 1.0,
"delta": 0.3467,
"percent_delta": 0.5307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.25,
"delta": 0.007,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3078,
"after": 0.25,
"delta": -0.0578,
"percent_delta": -0.1878,
"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.4337,
"after": 0.25,
"delta": -0.1837,
"percent_delta": -0.4236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.25,
"delta": 0.007,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4337,
"after": 0.25,
"delta": -0.1837,
"percent_delta": -0.4236,
"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.243,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3078,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4337,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.243,
"delta": -0.007,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3078,
"delta": 0.0578,
"percent_delta": 0.2311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4337,
"delta": 0.1837,
"percent_delta": 0.7346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4337,
"delta": 0.1837,
"percent_delta": 0.7346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.243,
"delta": -0.007,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.257,
"after": 0.0,
"delta": -0.257,
"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": 4.4,
"after": 4.0,
"delta": -0.4,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.243,
"delta": 0.008,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"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.311,
"after": 0.3078,
"delta": -0.0032,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.662,
"after": 0.0,
"delta": -0.662,
"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.439,
"after": 0.4337,
"delta": -0.0053,
"percent_delta": -0.0121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.108,
"after": 2.0,
"delta": 0.892,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.108,
"after": 2.0,
"delta": 0.892,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.257 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.662 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.439 | - |
| 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.282 | 0.025 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 4.281 | -0.119 |
| predicted_AVG | 0.243 | 0.008 |
| predicted_BB | 0.399 | -0.047 |
| predicted_H | 1.036 | 0.006 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.170 | 0.000 |
| predicted_OBP | 0.310 | -0.001 |
| predicted_R | 0.648 | -0.014 |
| predicted_RBI | 0.492 | -0.008 |
| predicted_SLG | 0.447 | 0.008 |
| predicted_SO | 1.093 | -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.282 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.281 | 0.000 |
| predicted_AVG | 0.243 | 0.000 |
| predicted_BB | 0.401 | 0.002 |
| predicted_H | 1.040 | 0.004 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.170 | 0.000 |
| predicted_OBP | 0.308 | -0.003 |
| predicted_R | 0.653 | 0.005 |
| predicted_RBI | 0.496 | 0.004 |
| predicted_SLG | 0.434 | -0.014 |
| predicted_SO | 1.089 | -0.004 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.236 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.282 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | -0.281 |
| predicted_AVG | 0.250 | 0.007 |
| predicted_BB | 0.000 | -0.401 |
| predicted_H | 1.000 | -0.040 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.250 | -0.058 |
| predicted_R | 1.000 | 0.347 |
| predicted_RBI | 0.000 | -0.496 |
| predicted_SLG | 0.250 | -0.184 |
| predicted_SO | 1.000 | -0.089 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | - | 23.000 | 7.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 4.000 | 0.3043 | 0.3043 | 0.4348 | 0.3044 | 0.0000 | 0.0000 | 0.0000 | 0.1739 |
| last_10 | 0.20 | 10 | - | 44.000 | 10.000 | 3.000 | 0.000 | 1.000 | 3.000 | 6.000 | 3.000 | 13.000 | 0.2273 | 0.2708 | 0.3636 | 0.2273 | 0.0227 | 0.0682 | 0.0682 | 0.2954 |
| season | 0.60 | 74 | - | 289.000 | 71.000 | 19.000 | 1.000 | 18.000 | 49.000 | 49.000 | 33.000 | 82.000 | 0.2457 | 0.3242 | 0.5052 | 0.2457 | 0.0623 | 0.1696 | 0.1142 | 0.2837 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3160 |
| predicted_3B | 0.0090 |
| predicted_AB | 4.1200 |
| predicted_AVG | 0.2535 |
| predicted_BB | 0.3360 |
| predicted_H | 1.0440 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.1700 |
| predicted_OBP | 0.3098 |
| predicted_R | 0.6300 |
| predicted_RBI | 0.4810 |
| predicted_SLG | 0.4584 |
| predicted_SO | 1.0730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2570 | 0.3160 | 0.2821 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 4.4000 | 4.1200 | 4.2809 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2535 | 0.2429 | model_form_blend |
| predicted_BB | 0.4460 | 0.3360 | 0.3992 | model_form_blend |
| predicted_H | 1.0300 | 1.0440 | 1.0360 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1700 | 0.1700 | 0.1700 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3098 | 0.3105 | model_form_blend |
| predicted_R | 0.6620 | 0.6300 | 0.6484 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4810 | 0.4919 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4584 | 0.4473 | model_form_blend |
| predicted_SO | 1.1080 | 1.0730 | 1.0931 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.246 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 664040 |
| playerID | 664040 |
| playerName | Brandon Lowe |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-24 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.356 |
| sl_xwoba | 0.349 |
| sl_xba | 0.251 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 46.2 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 16.9 |
| sl_whiff_percent | 33.7 |
| sl_swing_percent | 49.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.172 | 0.000 | 0.000 | Hitting_2B | 0.158 | 3.000 | -0.158 | -3.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.940 | 3.000 | 4.000 | Hitting_AB | 3.877 | 5.000 | -0.877 | -2.000 |
| predicted_AVG | 0.250 | 0.000 | 0.250 | Hitting_AVG | 0.290 | 0.800 | -0.290 | -0.800 |
| predicted_BB | 0.312 | 0.000 | 0.000 | Hitting_BB | 0.424 | 0.000 | -0.424 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.980 | 0.000 | 1.000 | Hitting_H | 1.123 | 4.000 | -1.123 | -4.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_OBP | 0.314 | 0.000 | 0.250 | Hitting_OBP | 0.360 | 0.800 | -0.360 | -0.800 |
| predicted_R | 0.547 | 0.000 | 1.000 | Hitting_R | 0.631 | 2.000 | -0.631 | -2.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.714 | 3.000 | -0.714 | -3.000 |
| predicted_SLG | 0.426 | 0.000 | 0.250 | Hitting_SLG | 0.456 | 1.400 | -0.456 | -1.400 |
| predicted_SO | 0.906 | 0.000 | 1.000 | Hitting_SO | 0.852 | 0.000 | -0.852 | 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_AVG: 0.2500 -> 0.2626 (boost 0.0126, better) |
| Biggest Deboost | predicted_H: 0.9800 -> 0.0000 (deboost -0.9800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.9800 -> 1.0346 (boost 0.0546, 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.4368 -> 0.4134 (deboost -0.0234, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_RBI: 0.6615 -> 1.0000 (boost 0.3385, better) | predicted_BB: 0.2693 -> 0.0000 (deboost -0.2693, worse) | AB rounded to 4 (raw=3.96), rates preserved: AVG=0.263 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5290 -> 1.0000 (boost 0.4710, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4134 -> 0.2500 (deboost -0.1634, 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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4134 (boost 0.1634, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"position": "1B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.0,
"predicted_AB": 3.94,
"predicted_AVG": 0.25,
"predicted_BB": 0.312,
"predicted_H": 0.98,
"predicted_HR": 0.12,
"predicted_OBP": 0.314,
"predicted_R": 0.547,
"predicted_RBI": 0.62,
"predicted_SLG": 0.426,
"predicted_SO": 0.906
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2258,
"predicted_3B": 0.0008,
"predicted_AB": 3.9551,
"predicted_AVG": 0.2622,
"predicted_BB": 0.2683,
"predicted_H": 1.0346,
"predicted_HBP": 0.013,
"predicted_HR": 0.1229,
"predicted_OBP": 0.3143,
"predicted_R": 0.5251,
"predicted_RBI": 0.6566,
"predicted_SLG": 0.4368,
"predicted_SO": 0.8972
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.2258,
"delta": 0.0538,
"percent_delta": 0.3128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.94,
"after": 3.9551,
"delta": 0.0151,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2622,
"delta": 0.0122,
"percent_delta": 0.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.2683,
"delta": -0.0437,
"percent_delta": -0.1401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0346,
"delta": 0.0546,
"percent_delta": 0.0557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1229,
"delta": 0.0029,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3143,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.547,
"after": 0.5251,
"delta": -0.0219,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6566,
"delta": 0.0366,
"percent_delta": 0.059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.4368,
"delta": 0.0108,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 0.8972,
"delta": -0.0088,
"percent_delta": -0.0097,
"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.98,
"after": 1.0346,
"delta": 0.0546,
"percent_delta": 0.0557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 64
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2258,
"predicted_3B": 0.0008,
"predicted_AB": 3.9551,
"predicted_AVG": 0.2626,
"predicted_BB": 0.2693,
"predicted_H": 1.0387,
"predicted_HBP": 0.013,
"predicted_HR": 0.123,
"predicted_OBP": 0.3096,
"predicted_R": 0.529,
"predicted_RBI": 0.6615,
"predicted_SLG": 0.4134,
"predicted_SO": 0.8938
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2258,
"after": 0.2258,
"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.9551,
"after": 3.9551,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2622,
"after": 0.2626,
"delta": 0.0004,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2683,
"after": 0.2693,
"delta": 0.001,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0346,
"after": 1.0387,
"delta": 0.0041,
"percent_delta": 0.004,
"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.1229,
"after": 0.123,
"delta": 0.0001,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3143,
"after": 0.3096,
"delta": -0.0047,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5251,
"after": 0.529,
"delta": 0.0039,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6566,
"after": 0.6615,
"delta": 0.0049,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4368,
"after": 0.4134,
"delta": -0.0234,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8972,
"after": 0.8938,
"delta": -0.0034,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4368,
"after": 0.4134,
"delta": -0.0234,
"percent_delta": -0.0536,
"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.263 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2258,
"after": 0.0,
"delta": -0.2258,
"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.9551,
"after": 4.0,
"delta": 0.0449,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2693,
"after": 0.0,
"delta": -0.2693,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0387,
"after": 1.0,
"delta": -0.0387,
"percent_delta": -0.0373,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6615,
"after": 1.0,
"delta": 0.3385,
"percent_delta": 0.5117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8938,
"after": 1.0,
"delta": 0.1062,
"percent_delta": 0.1188,
"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.6615,
"after": 1.0,
"delta": 0.3385,
"percent_delta": 0.5117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2693,
"after": 0.0,
"delta": -0.2693,
"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.154)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8791,
"bvp": 0.1209
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"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.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2626,
"after": 0.25,
"delta": -0.0126,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3096,
"after": 0.25,
"delta": -0.0596,
"percent_delta": -0.1925,
"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.4134,
"after": 0.25,
"delta": -0.1634,
"percent_delta": -0.3953,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4134,
"after": 0.25,
"delta": -0.1634,
"percent_delta": -0.3953,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 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.2626,
"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.3096,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4134,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2626,
"delta": 0.0126,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3096,
"delta": 0.0596,
"percent_delta": 0.2386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4134,
"delta": 0.1634,
"percent_delta": 0.6537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4134,
"delta": 0.1634,
"percent_delta": 0.6537,
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 3.0,
"delta": -0.94,
"percent_delta": -0.2386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2626,
"delta": 0.0126,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"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.314,
"after": 0.3096,
"delta": -0.0044,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.547,
"after": 0.0,
"delta": -0.547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.4134,
"delta": -0.0126,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 0.0,
"delta": -0.906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2626,
"delta": 0.0126,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.547 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.426 | - |
| predicted_SO | 0.906 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | 0.054 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.955 | 0.015 |
| predicted_AVG | 0.262 | 0.012 |
| predicted_BB | 0.268 | -0.044 |
| predicted_H | 1.035 | 0.055 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.123 | 0.003 |
| predicted_OBP | 0.314 | 0.000 |
| predicted_R | 0.525 | -0.022 |
| predicted_RBI | 0.657 | 0.037 |
| predicted_SLG | 0.437 | 0.011 |
| predicted_SO | 0.897 | -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.226 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.955 | 0.000 |
| predicted_AVG | 0.263 | 0.000 |
| predicted_BB | 0.269 | 0.001 |
| predicted_H | 1.039 | 0.004 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.123 | 0.000 |
| predicted_OBP | 0.310 | -0.005 |
| predicted_R | 0.529 | 0.004 |
| predicted_RBI | 0.661 | 0.005 |
| predicted_SLG | 0.413 | -0.023 |
| predicted_SO | 0.894 | -0.003 |
AB rounded to 4 (raw=3.96), rates preserved: AVG=0.263 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.226 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.045 |
| predicted_AVG | 0.250 | -0.013 |
| predicted_BB | 0.000 | -0.269 |
| predicted_H | 1.000 | -0.039 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.250 | -0.060 |
| predicted_R | 1.000 | 0.471 |
| predicted_RBI | 1.000 | 0.339 |
| predicted_SLG | 0.250 | -0.163 |
| 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 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 3.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.000 | 4.000 | 0.2381 | 0.2381 | 0.3810 | 0.2381 | 0.0000 | 0.1429 | 0.0000 | 0.1905 |
| last_10 | 0.20 | 10 | - | 44.000 | 14.000 | 5.000 | 0.000 | 1.000 | 10.000 | 4.000 | 0.000 | 9.000 | 0.3182 | 0.3182 | 0.5000 | 0.3182 | 0.0227 | 0.2273 | 0.0000 | 0.2046 |
| season | 0.60 | 64 | - | 242.000 | 69.000 | 11.000 | 0.000 | 11.000 | 44.000 | 35.000 | 20.000 | 58.000 | 0.2851 | 0.3396 | 0.4669 | 0.2851 | 0.0454 | 0.1818 | 0.0826 | 0.2397 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3000 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.9760 |
| predicted_AVG | 0.2791 |
| predicted_BB | 0.2080 |
| predicted_H | 1.1100 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1270 |
| predicted_OBP | 0.3148 |
| predicted_R | 0.4950 |
| predicted_RBI | 0.7070 |
| predicted_SLG | 0.4516 |
| predicted_SO | 0.8850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.3000 | 0.2258 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.9400 | 3.9760 | 3.9551 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2791 | 0.2622 | model_form_blend |
| predicted_BB | 0.3120 | 0.2080 | 0.2683 | model_form_blend |
| predicted_H | 0.9800 | 1.1100 | 1.0346 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1200 | 0.1270 | 0.1229 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3148 | 0.3143 | model_form_blend |
| predicted_R | 0.5470 | 0.4950 | 0.5251 | model_form_blend |
| predicted_RBI | 0.6200 | 0.7070 | 0.6566 | model_form_blend |
| predicted_SLG | 0.4260 | 0.4516 | 0.4368 | model_form_blend |
| predicted_SO | 0.9060 | 0.8850 | 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 | 203 |
| Season rows before report date | 203 |
| Report year | 2026 |
| Profile rows used | 64 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 3 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.8 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 7 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 656811 |
| playerID | 656811 |
| playerName | Ryan O'Hearn |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-24 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.351 |
| sl_xwoba | 0.322 |
| sl_xba | 0.261 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 21.8 |
| 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.182 | 0.000 | 0.000 | Hitting_2B | 0.083 | 1.000 | -0.083 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.790 | 3.000 | 3.000 | Hitting_AB | 3.125 | 3.000 | -0.125 | 0.000 |
| predicted_AVG | 0.244 | 0.333 | 0.333 | Hitting_AVG | 0.147 | 0.667 | 0.187 | -0.333 |
| predicted_BB | 0.182 | 0.000 | 0.000 | Hitting_BB | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.458 | 2.000 | 0.542 | -1.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_OBP | 0.280 | 0.333 | 0.333 | Hitting_OBP | 0.238 | 0.667 | 0.095 | -0.333 |
| predicted_R | 0.364 | 1.000 | 0.000 | Hitting_R | 0.417 | 1.000 | 0.583 | 0.000 |
| predicted_RBI | 0.440 | 1.000 | 0.000 | Hitting_RBI | 0.917 | 1.000 | 0.083 | 0.000 |
| predicted_SLG | 0.416 | 1.333 | 0.333 | Hitting_SLG | 0.493 | 1.000 | 0.840 | 0.333 |
| predicted_SO | 1.273 | 0.000 | 1.000 | Hitting_SO | 1.625 | 1.000 | -1.625 | -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_HR: 0.1300 -> 1.0000 (boost 0.8700, better) |
| Biggest Deboost | predicted_SO: 1.2730 -> 0.0000 (deboost -1.2730, 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 | 2 | 1 | predicted_AB: 2.7900 -> 2.9291 (boost 0.1391, better) | predicted_SO: 1.2730 -> 1.2206 (deboost -0.0524, 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.4189 -> 0.4417 (boost 0.0228, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.6908 -> 1.0000 (boost 0.3092, better) | predicted_RBI: 0.4648 -> 0.0000 (deboost -0.4648, worse) | AB rounded to 3 (raw=2.93), rates preserved: AVG=0.236 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3913 -> 0.0000 (deboost -0.3913, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2358 -> 0.3330 (boost 0.0972, better) | predicted_SLG: 0.4417 -> 0.3330 (deboost -0.1087, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4417 (boost 0.1087, better) | predicted_AVG: 0.3330 -> 0.2358 (deboost -0.0972, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "RF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.182,
"predicted_3B": 0.0,
"predicted_AB": 2.79,
"predicted_AVG": 0.244,
"predicted_BB": 0.182,
"predicted_H": 0.68,
"predicted_HR": 0.13,
"predicted_OBP": 0.28,
"predicted_R": 0.364,
"predicted_RBI": 0.44,
"predicted_SLG": 0.416,
"predicted_SO": 1.273
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.195,
"predicted_3B": 0.0019,
"predicted_AB": 2.9291,
"predicted_AVG": 0.2359,
"predicted_BB": 0.1872,
"predicted_H": 0.688,
"predicted_HBP": 0.014,
"predicted_HR": 0.1346,
"predicted_OBP": 0.2761,
"predicted_R": 0.3884,
"predicted_RBI": 0.4613,
"predicted_SLG": 0.4189,
"predicted_SO": 1.2206
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.195,
"delta": 0.013,
"percent_delta": 0.0714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.79,
"after": 2.9291,
"delta": 0.1391,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2359,
"delta": -0.0081,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.1872,
"delta": 0.0052,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.688,
"delta": 0.008,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1346,
"delta": 0.0046,
"percent_delta": 0.0354,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2761,
"delta": -0.0039,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.3884,
"delta": 0.0244,
"percent_delta": 0.067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4613,
"delta": 0.0213,
"percent_delta": 0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4189,
"delta": 0.0029,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.273,
"after": 1.2206,
"delta": -0.0524,
"percent_delta": -0.0412,
"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": 2.79,
"after": 2.9291,
"delta": 0.1391,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.273,
"after": 1.2206,
"delta": -0.0524,
"percent_delta": -0.0412,
"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": 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.195,
"predicted_3B": 0.0019,
"predicted_AB": 2.9291,
"predicted_AVG": 0.2358,
"predicted_BB": 0.1879,
"predicted_H": 0.6908,
"predicted_HBP": 0.014,
"predicted_HR": 0.1347,
"predicted_OBP": 0.2819,
"predicted_R": 0.3913,
"predicted_RBI": 0.4648,
"predicted_SLG": 0.4417,
"predicted_SO": 1.216
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.195,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9291,
"after": 2.9291,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2359,
"after": 0.2358,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1872,
"after": 0.1879,
"delta": 0.0007,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.688,
"after": 0.6908,
"delta": 0.0028,
"percent_delta": 0.0041,
"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.1346,
"after": 0.1347,
"delta": 0.0001,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2761,
"after": 0.2819,
"delta": 0.0058,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3884,
"after": 0.3913,
"delta": 0.0029,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4613,
"after": 0.4648,
"delta": 0.0035,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4189,
"after": 0.4417,
"delta": 0.0228,
"percent_delta": 0.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2206,
"after": 1.216,
"delta": -0.0046,
"percent_delta": -0.0038,
"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.4189,
"after": 0.4417,
"delta": 0.0228,
"percent_delta": 0.0544,
"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.93), rates preserved: AVG=0.236 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.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9291,
"after": 3.0,
"delta": 0.0709,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1879,
"after": 0.0,
"delta": -0.1879,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6908,
"after": 1.0,
"delta": 0.3092,
"percent_delta": 0.4476,
"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.1347,
"after": 0.0,
"delta": -0.1347,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4648,
"after": 0.0,
"delta": -0.4648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.216,
"after": 1.0,
"delta": -0.216,
"percent_delta": -0.1776,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6908,
"after": 1.0,
"delta": 0.3092,
"percent_delta": 0.4476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4648,
"after": 0.0,
"delta": -0.4648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3913,
"after": 0.0,
"delta": -0.3913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3913,
"after": 0.0,
"delta": -0.3913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2358,
"after": 0.333,
"delta": 0.0972,
"percent_delta": 0.4122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2819,
"after": 0.333,
"delta": 0.0511,
"percent_delta": 0.1813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4417,
"after": 0.333,
"delta": -0.1087,
"percent_delta": -0.2461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2358,
"after": 0.333,
"delta": 0.0972,
"percent_delta": 0.4122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4417,
"after": 0.333,
"delta": -0.1087,
"percent_delta": -0.2461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"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": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2358,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2819,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4417,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2358,
"delta": -0.0972,
"percent_delta": -0.2918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2819,
"delta": -0.0511,
"percent_delta": -0.1535,
"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.4417,
"delta": 0.1087,
"percent_delta": 0.3263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4417,
"delta": 0.1087,
"percent_delta": 0.3263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2358,
"delta": -0.0972,
"percent_delta": -0.2918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.79,
"after": 3.0,
"delta": 0.21,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2358,
"delta": -0.0082,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"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.28,
"after": 0.2819,
"delta": 0.0019,
"percent_delta": 0.0068,
"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.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4417,
"delta": 0.0257,
"percent_delta": 0.0618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.273,
"after": 0.0,
"delta": -1.273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.273,
"after": 0.0,
"delta": -1.273,
"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.182 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.790 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.182 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.364 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.416 | - |
| predicted_SO | 1.273 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.013 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.929 | 0.139 |
| predicted_AVG | 0.236 | -0.008 |
| predicted_BB | 0.187 | 0.005 |
| predicted_H | 0.688 | 0.008 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.135 | 0.005 |
| predicted_OBP | 0.276 | -0.004 |
| predicted_R | 0.388 | 0.024 |
| predicted_RBI | 0.461 | 0.021 |
| predicted_SLG | 0.419 | 0.003 |
| predicted_SO | 1.221 | -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.195 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.929 | 0.000 |
| predicted_AVG | 0.236 | -0.000 |
| predicted_BB | 0.188 | 0.001 |
| predicted_H | 0.691 | 0.003 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.135 | 0.000 |
| predicted_OBP | 0.282 | 0.006 |
| predicted_R | 0.391 | 0.003 |
| predicted_RBI | 0.465 | 0.004 |
| predicted_SLG | 0.442 | 0.023 |
| predicted_SO | 1.216 | -0.005 |
AB rounded to 3 (raw=2.93), rates preserved: AVG=0.236 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 |
Player 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.002 |
| predicted_AB | 3.000 | 0.071 |
| predicted_AVG | 0.333 | 0.097 |
| predicted_BB | 0.000 | -0.188 |
| predicted_H | 1.000 | 0.309 |
| predicted_HR | 0.000 | -0.135 |
| predicted_OBP | 0.333 | 0.051 |
| predicted_R | 0.000 | -0.391 |
| predicted_RBI | 0.000 | -0.465 |
| predicted_SLG | 0.333 | -0.109 |
| predicted_SO | 1.000 | -0.216 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 2.000 | 0.000 | 5.000 | 0.2500 | 0.2500 | 0.4167 | 0.2500 | 0.0000 | 0.0833 | 0.0000 | 0.4167 |
| last_10 | 0.20 | 10 | - | 27.000 | 5.000 | 2.000 | 0.000 | 2.000 | 6.000 | 4.000 | 1.000 | 12.000 | 0.1852 | 0.2143 | 0.4815 | 0.1852 | 0.0741 | 0.2222 | 0.0370 | 0.4444 |
| season | 0.60 | 11 | - | 30.000 | 5.000 | 2.000 | 0.000 | 2.000 | 6.000 | 4.000 | 2.000 | 14.000 | 0.1667 | 0.2188 | 0.4333 | 0.1667 | 0.0667 | 0.2000 | 0.0667 | 0.4667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2240 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.2410 |
| predicted_AVG | 0.2178 |
| predicted_BB | 0.1990 |
| predicted_H | 0.7060 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.2672 |
| predicted_R | 0.4430 |
| predicted_RBI | 0.5090 |
| predicted_SLG | 0.4253 |
| predicted_SO | 1.1030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.2240 | 0.1950 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 2.7900 | 3.2410 | 2.9291 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2178 | 0.2359 | model_form_blend |
| predicted_BB | 0.1820 | 0.1990 | 0.1872 | model_form_blend |
| predicted_H | 0.6800 | 0.7060 | 0.6880 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.1300 | 0.1450 | 0.1346 | model_form_blend |
| predicted_OBP | 0.2800 | 0.2672 | 0.2761 | model_form_blend |
| predicted_R | 0.3640 | 0.4430 | 0.3884 | model_form_blend |
| predicted_RBI | 0.4400 | 0.5090 | 0.4613 | model_form_blend |
| predicted_SLG | 0.4160 | 0.4253 | 0.4189 | model_form_blend |
| predicted_SO | 1.2730 | 1.1030 | 1.2206 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.167 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-RF |
| gameID | 20260624_SEA@PIT |
| game_type | ph |
| mlbID | 699013 |
| note | Singled for Horwitz in the 4th. |
| playerID | 699013 |
| playerName | Esmerlyn Valdez |
| pos | OF |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-24 |
| sl_k_percent | 43.8 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.279 |
| sl_xwoba | 0.325 |
| sl_xba | 0.199 |
| sl_xslg | 0.521 |
| sl_sweet_spot_percent | 56.3 |
| sl_barrel_batted_rate | 31.3 |
| sl_hard_hit_percent | 62.5 |
| sl_exit_velocity_avg | 93.6 |
| sl_launch_angle_avg | 18.3 |
| sl_whiff_percent | 43.8 |
| sl_swing_percent | 47.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.118 | 0.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.118 | 0.000 | 0.000 | Hitting_3B | 0.095 | 1.000 | -0.095 | -1.000 |
| predicted_AB | 2.588 | 3.000 | 3.000 | Hitting_AB | 2.286 | 3.000 | 0.714 | 0.000 |
| predicted_AVG | 0.251 | 0.000 | 0.333 | Hitting_AVG | 0.292 | 0.333 | -0.292 | -0.333 |
| predicted_BB | 0.412 | 0.000 | 0.000 | Hitting_BB | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.250 | 0.000 | 1.000 | Hitting_H | 0.667 | 1.000 | -0.667 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_OBP | 0.294 | 0.000 | 0.333 | Hitting_OBP | 0.407 | 0.250 | -0.407 | -0.250 |
| predicted_R | 0.412 | 0.000 | 0.000 | Hitting_R | 0.381 | 1.000 | -0.381 | -1.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.524 | 2.000 | -0.524 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_SLG | 0.409 | 0.000 | 0.333 | Hitting_SLG | 0.583 | 1.000 | -0.583 | -1.000 |
| predicted_SO | 0.824 | 0.000 | 1.000 | Hitting_SO | 0.667 | 1.000 | -0.667 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.5880 -> 3.0000 (boost 0.4120, better) |
| Biggest Deboost | predicted_SO: 0.8240 -> 0.0000 (deboost -0.8240, 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_H: 0.2500 -> 0.4249 (boost 0.1749, 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.2500 -> 0.1553 (deboost -0.0947, 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_AB: 2.7478 -> 3.0000 (boost 0.2522, better) | predicted_H: 0.4266 -> 0.0000 (deboost -0.4266, worse) | AB rounded to 3 (raw=2.75), rates preserved: AVG=0.155 HR/AB=0.021 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4235 -> 0.0000 (deboost -0.4235, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1553 -> 0.3330 (boost 0.1777, better) | predicted_SLG: 0.3421 -> 0.3330 (deboost -0.0091, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3421 (boost 0.0091, better) | predicted_AVG: 0.3330 -> 0.1553 (deboost -0.1777, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682997",
"player_name": "Tyler Callihan",
"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.118,
"predicted_3B": 0.118,
"predicted_AB": 2.588,
"predicted_AVG": 0.251,
"predicted_BB": 0.412,
"predicted_H": 0.25,
"predicted_HR": 0.04,
"predicted_OBP": 0.294,
"predicted_R": 0.412,
"predicted_RBI": 0.19,
"predicted_SLG": 0.409,
"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.1142,
"predicted_3B": 0.1132,
"predicted_AB": 2.7478,
"predicted_AVG": 0.25,
"predicted_BB": 0.3793,
"predicted_H": 0.4249,
"predicted_HBP": 0.051,
"predicted_HR": 0.0576,
"predicted_OBP": 0.3037,
"predicted_R": 0.4203,
"predicted_RBI": 0.3046,
"predicted_SLG": 0.4199,
"predicted_SO": 0.8402
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1142,
"delta": -0.0038,
"percent_delta": -0.0322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.118,
"after": 0.1132,
"delta": -0.0048,
"percent_delta": -0.0407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.588,
"after": 2.7478,
"delta": 0.1598,
"percent_delta": 0.0617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.25,
"delta": -0.001,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.3793,
"delta": -0.0327,
"percent_delta": -0.0794,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.4249,
"delta": 0.1749,
"percent_delta": 0.6996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0576,
"delta": 0.0176,
"percent_delta": 0.44,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3037,
"delta": 0.0097,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.4203,
"delta": 0.0083,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.3046,
"delta": 0.1146,
"percent_delta": 0.6032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4199,
"delta": 0.0109,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.8402,
"delta": 0.0162,
"percent_delta": 0.0197,
"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.25,
"after": 0.4249,
"delta": 0.1749,
"percent_delta": 0.6996,
"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.1142,
"predicted_3B": 0.1132,
"predicted_AB": 2.7478,
"predicted_AVG": 0.1553,
"predicted_BB": 0.3807,
"predicted_H": 0.4266,
"predicted_HBP": 0.051,
"predicted_HR": 0.0576,
"predicted_OBP": 0.2581,
"predicted_R": 0.4235,
"predicted_RBI": 0.3069,
"predicted_SLG": 0.3421,
"predicted_SO": 0.837
},
"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.1132,
"after": 0.1132,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7478,
"after": 2.7478,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1553,
"delta": -0.0947,
"percent_delta": -0.3788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3793,
"after": 0.3807,
"delta": 0.0014,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4249,
"after": 0.4266,
"delta": 0.0017,
"percent_delta": 0.004,
"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.0576,
"after": 0.0576,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3037,
"after": 0.2581,
"delta": -0.0456,
"percent_delta": -0.1501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4203,
"after": 0.4235,
"delta": 0.0032,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3046,
"after": 0.3069,
"delta": 0.0023,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4199,
"after": 0.3421,
"delta": -0.0778,
"percent_delta": -0.1853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8402,
"after": 0.837,
"delta": -0.0032,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1553,
"delta": -0.0947,
"percent_delta": -0.3788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.75), rates preserved: AVG=0.155 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1142,
"after": 0.0,
"delta": -0.1142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1132,
"after": 0.0,
"delta": -0.1132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.7478,
"after": 3.0,
"delta": 0.2522,
"percent_delta": 0.0918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3807,
"after": 0.0,
"delta": -0.3807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4266,
"after": 0.0,
"delta": -0.4266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0576,
"after": 0.0,
"delta": -0.0576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3069,
"after": 0.0,
"delta": -0.3069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.837,
"after": 1.0,
"delta": 0.163,
"percent_delta": 0.1947,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.7478,
"after": 3.0,
"delta": 0.2522,
"percent_delta": 0.0918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4266,
"after": 0.0,
"delta": -0.4266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4235,
"after": 0.0,
"delta": -0.4235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4235,
"after": 0.0,
"delta": -0.4235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1553,
"after": 0.333,
"delta": 0.1777,
"percent_delta": 1.1442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2581,
"after": 0.333,
"delta": 0.0749,
"percent_delta": 0.2902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3421,
"after": 0.333,
"delta": -0.0091,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1553,
"after": 0.333,
"delta": 0.1777,
"percent_delta": 1.1442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3421,
"after": 0.333,
"delta": -0.0091,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1553,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2581,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3421,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1553,
"delta": -0.1777,
"percent_delta": -0.5338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2581,
"delta": -0.0749,
"percent_delta": -0.2251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3421,
"delta": 0.0091,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3421,
"delta": 0.0091,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1553,
"delta": -0.1777,
"percent_delta": -0.5338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.588,
"after": 3.0,
"delta": 0.412,
"percent_delta": 0.1592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.1553,
"delta": -0.0957,
"percent_delta": -0.3813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2581,
"delta": -0.0359,
"percent_delta": -0.1221,
"direction": "deboost",
"projection_effect": "worse",
"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.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.3421,
"delta": -0.0669,
"percent_delta": -0.1636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.0,
"delta": -0.824,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.588,
"after": 3.0,
"delta": 0.412,
"percent_delta": 0.1592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.824,
"after": 0.0,
"delta": -0.824,
"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.118 | - |
| predicted_3B | 0.118 | - |
| predicted_AB | 2.588 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 0.250 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.409 | - |
| 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.114 | -0.004 |
| predicted_3B | 0.113 | -0.005 |
| predicted_AB | 2.748 | 0.160 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.379 | -0.033 |
| predicted_H | 0.425 | 0.175 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.058 | 0.018 |
| predicted_OBP | 0.304 | 0.010 |
| predicted_R | 0.420 | 0.008 |
| predicted_RBI | 0.305 | 0.115 |
| predicted_SLG | 0.420 | 0.011 |
| predicted_SO | 0.840 | 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.114 | 0.000 |
| predicted_3B | 0.113 | 0.000 |
| predicted_AB | 2.748 | 0.000 |
| predicted_AVG | 0.155 | -0.095 |
| predicted_BB | 0.381 | 0.001 |
| predicted_H | 0.427 | 0.002 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.058 | 0.000 |
| predicted_OBP | 0.258 | -0.046 |
| predicted_R | 0.423 | 0.003 |
| predicted_RBI | 0.307 | 0.002 |
| predicted_SLG | 0.342 | -0.078 |
| predicted_SO | 0.837 | -0.003 |
AB rounded to 3 (raw=2.75), rates preserved: AVG=0.155 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player 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.113 |
| predicted_AB | 3.000 | 0.252 |
| predicted_AVG | 0.333 | 0.178 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | 0.573 |
| predicted_HR | 0.000 | -0.058 |
| predicted_OBP | 0.333 | 0.075 |
| predicted_R | 0.000 | -0.423 |
| predicted_RBI | 0.000 | -0.307 |
| predicted_SLG | 0.333 | -0.009 |
| 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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 2.000 | 0.000 | 1.000 | 0.000 | 3.000 | 2.000 | 1.000 | 4.000 | 0.1667 | 0.2143 | 0.3333 | 0.1667 | 0.0000 | 0.2500 | 0.0833 | 0.3333 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 0.000 | 1.000 | 0.000 | 3.000 | 3.000 | 1.000 | 9.000 | 0.2500 | 0.2903 | 0.3214 | 0.2500 | 0.0000 | 0.1071 | 0.0357 | 0.3214 |
| season | 0.60 | 17 | - | 44.000 | 12.000 | 2.000 | 2.000 | 2.000 | 9.000 | 7.000 | 7.000 | 14.000 | 0.2727 | 0.3774 | 0.5455 | 0.2727 | 0.0454 | 0.2046 | 0.1591 | 0.3182 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.1040 |
| predicted_AB | 3.0520 |
| predicted_AVG | 0.2482 |
| predicted_BB | 0.3170 |
| predicted_H | 0.7580 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.3223 |
| predicted_R | 0.4360 |
| predicted_RBI | 0.5230 |
| predicted_SLG | 0.4408 |
| predicted_SO | 0.8710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.1070 | 0.1142 | model_form_blend |
| predicted_3B | 0.1180 | 0.1040 | 0.1132 | model_form_blend |
| predicted_AB | 2.5880 | 3.0520 | 2.7478 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2482 | 0.2500 | model_form_blend |
| predicted_BB | 0.4120 | 0.3170 | 0.3793 | model_form_blend |
| predicted_H | 0.2500 | 0.7580 | 0.4249 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.0400 | 0.0910 | 0.0576 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3223 | 0.3037 | model_form_blend |
| predicted_R | 0.4120 | 0.4360 | 0.4203 | model_form_blend |
| predicted_RBI | 0.1900 | 0.5230 | 0.3046 | model_form_blend |
| predicted_SLG | 0.4090 | 0.4408 | 0.4199 | model_form_blend |
| predicted_SO | 0.8240 | 0.8710 | 0.8402 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.273 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| 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 | RF-1B |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 682997 |
| playerID | 682997 |
| playerName | Tyler Callihan |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.393 |
| sl_xwoba | 0.307 |
| sl_xba | 0.206 |
| sl_xslg | 0.36 |
| sl_sweet_spot_percent | 48.4 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 32.3 |
| sl_exit_velocity_avg | 85.2 |
| sl_launch_angle_avg | 29.4 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 54.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.136 | 0.000 | 0.000 | Hitting_2B | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.227 | 3.000 | 3.000 | Hitting_AB | 3.384 | 4.000 | -0.384 | -1.000 |
| predicted_AVG | 0.242 | 0.333 | 0.333 | Hitting_AVG | 0.221 | 0.000 | 0.112 | 0.333 |
| predicted_BB | 0.295 | 0.000 | 0.000 | Hitting_BB | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.747 | 0.000 | 0.253 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.302 | 0.333 | 0.333 | Hitting_OBP | 0.283 | 0.000 | 0.050 | 0.333 |
| predicted_R | 0.295 | 0.000 | 0.000 | Hitting_R | 0.212 | 0.000 | -0.212 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_SLG | 0.321 | 0.333 | 0.333 | Hitting_SLG | 0.254 | 0.000 | 0.080 | 0.333 |
| predicted_SO | 0.886 | 1.000 | 1.000 | Hitting_SO | 0.818 | 1.000 | 0.182 | 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_H: 0.6800 -> 1.0000 (boost 0.3200, better) |
| Biggest Deboost | predicted_RBI: 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3210 -> 0.3121 (deboost -0.0089, worse) | Final model input calibrated with local 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.2335 -> 0.2158 (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 | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.7058 -> 1.0000 (boost 0.2942, better) | predicted_BB: 0.3115 -> 0.0000 (deboost -0.3115, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.216 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3029 -> 0.0000 (deboost -0.3029, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2158 -> 0.3330 (boost 0.1172, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2158 (deboost -0.1172, 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.136,
"predicted_3B": 0.0,
"predicted_AB": 3.227,
"predicted_AVG": 0.242,
"predicted_BB": 0.295,
"predicted_H": 0.68,
"predicted_HR": 0.05,
"predicted_OBP": 0.302,
"predicted_R": 0.295,
"predicted_RBI": 0.31,
"predicted_SLG": 0.321,
"predicted_SO": 0.886
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1622,
"predicted_3B": 0.0008,
"predicted_AB": 3.2713,
"predicted_AVG": 0.2335,
"predicted_BB": 0.3103,
"predicted_H": 0.703,
"predicted_HBP": 0.046,
"predicted_HR": 0.0371,
"predicted_OBP": 0.3015,
"predicted_R": 0.3006,
"predicted_RBI": 0.3052,
"predicted_SLG": 0.3121,
"predicted_SO": 0.8525
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1622,
"delta": 0.0262,
"percent_delta": 0.1926,
"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.227,
"after": 3.2713,
"delta": 0.0443,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2335,
"delta": -0.0085,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.295,
"after": 0.3103,
"delta": 0.0153,
"percent_delta": 0.0519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.703,
"delta": 0.023,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0371,
"delta": -0.0129,
"percent_delta": -0.258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3015,
"delta": -0.0005,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.295,
"after": 0.3006,
"delta": 0.0056,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3052,
"delta": -0.0048,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.3121,
"delta": -0.0089,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.886,
"after": 0.8525,
"delta": -0.0335,
"percent_delta": -0.0378,
"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.321,
"after": 0.3121,
"delta": -0.0089,
"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": 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.1622,
"predicted_3B": 0.0008,
"predicted_AB": 3.2713,
"predicted_AVG": 0.2158,
"predicted_BB": 0.3115,
"predicted_H": 0.7058,
"predicted_HBP": 0.046,
"predicted_HR": 0.0371,
"predicted_OBP": 0.2839,
"predicted_R": 0.3029,
"predicted_RBI": 0.3075,
"predicted_SLG": 0.2999,
"predicted_SO": 0.8493
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1622,
"after": 0.1622,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2713,
"after": 3.2713,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2335,
"after": 0.2158,
"delta": -0.0177,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3103,
"after": 0.3115,
"delta": 0.0012,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.703,
"after": 0.7058,
"delta": 0.0028,
"percent_delta": 0.004,
"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.0371,
"after": 0.0371,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3015,
"after": 0.2839,
"delta": -0.0176,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3006,
"after": 0.3029,
"delta": 0.0023,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3052,
"after": 0.3075,
"delta": 0.0023,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3121,
"after": 0.2999,
"delta": -0.0122,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8525,
"after": 0.8493,
"delta": -0.0032,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2335,
"after": 0.2158,
"delta": -0.0177,
"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 3 (raw=3.27), rates preserved: AVG=0.216 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.1622,
"after": 0.0,
"delta": -0.1622,
"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.2713,
"after": 3.0,
"delta": -0.2713,
"percent_delta": -0.0829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3115,
"after": 0.0,
"delta": -0.3115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7058,
"after": 1.0,
"delta": 0.2942,
"percent_delta": 0.4168,
"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.0371,
"after": 0.0,
"delta": -0.0371,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3075,
"after": 0.0,
"delta": -0.3075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8493,
"after": 1.0,
"delta": 0.1507,
"percent_delta": 0.1774,
"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.7058,
"after": 1.0,
"delta": 0.2942,
"percent_delta": 0.4168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3115,
"after": 0.0,
"delta": -0.3115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3029,
"after": 0.0,
"delta": -0.3029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3029,
"after": 0.0,
"delta": -0.3029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2158,
"after": 0.333,
"delta": 0.1172,
"percent_delta": 0.5431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2839,
"after": 0.333,
"delta": 0.0491,
"percent_delta": 0.1729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.333,
"delta": 0.0331,
"percent_delta": 0.1104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2158,
"after": 0.333,
"delta": 0.1172,
"percent_delta": 0.5431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2158,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2839,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2999,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2158,
"delta": -0.1172,
"percent_delta": -0.3521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2839,
"delta": -0.0491,
"percent_delta": -0.1473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2999,
"delta": -0.0331,
"percent_delta": -0.0995,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2158,
"delta": -0.1172,
"percent_delta": -0.3521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.227,
"after": 3.0,
"delta": -0.227,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2158,
"delta": -0.0262,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.295,
"after": 0.0,
"delta": -0.295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"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.302,
"after": 0.2839,
"delta": -0.0181,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.295,
"after": 0.0,
"delta": -0.295,
"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.321,
"after": 0.2999,
"delta": -0.0211,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.886,
"after": 1.0,
"delta": 0.114,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.227 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.295 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.295 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.321 | - |
| predicted_SO | 0.886 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.026 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.271 | 0.044 |
| predicted_AVG | 0.234 | -0.008 |
| predicted_BB | 0.310 | 0.015 |
| predicted_H | 0.703 | 0.023 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.037 | -0.013 |
| predicted_OBP | 0.301 | -0.001 |
| predicted_R | 0.301 | 0.006 |
| predicted_RBI | 0.305 | -0.005 |
| predicted_SLG | 0.312 | -0.009 |
| predicted_SO | 0.853 | -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.162 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.271 | 0.000 |
| predicted_AVG | 0.216 | -0.018 |
| predicted_BB | 0.311 | 0.001 |
| predicted_H | 0.706 | 0.003 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.037 | 0.000 |
| predicted_OBP | 0.284 | -0.018 |
| predicted_R | 0.303 | 0.002 |
| predicted_RBI | 0.307 | 0.002 |
| predicted_SLG | 0.300 | -0.012 |
| predicted_SO | 0.849 | -0.003 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.216 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 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.162 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.271 |
| predicted_AVG | 0.333 | 0.117 |
| predicted_BB | 0.000 | -0.311 |
| predicted_H | 1.000 | 0.294 |
| predicted_HR | 0.000 | -0.037 |
| predicted_OBP | 0.333 | 0.049 |
| predicted_R | 0.000 | -0.303 |
| predicted_RBI | 0.000 | -0.307 |
| predicted_SLG | 0.333 | 0.033 |
| 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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 2.000 | 0.1875 | 0.2778 | 0.3125 | 0.1875 | 0.0000 | 0.1250 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 9.000 | 0.2121 | 0.3158 | 0.2727 | 0.2121 | 0.0000 | 0.0909 | 0.1212 | 0.2727 |
| season | 0.60 | 44 | - | 142.000 | 32.000 | 6.000 | 0.000 | 0.000 | 9.000 | 13.000 | 13.000 | 39.000 | 0.2254 | 0.2994 | 0.2676 | 0.2253 | 0.0000 | 0.0634 | 0.0916 | 0.2747 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3370 |
| predicted_AVG | 0.2208 |
| predicted_BB | 0.3330 |
| predicted_H | 0.7370 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.0180 |
| predicted_OBP | 0.3007 |
| predicted_R | 0.3090 |
| predicted_RBI | 0.2980 |
| predicted_SLG | 0.2988 |
| predicted_SO | 0.8030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.2010 | 0.1622 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2270 | 3.3370 | 3.2713 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2208 | 0.2335 | model_form_blend |
| predicted_BB | 0.2950 | 0.3330 | 0.3103 | model_form_blend |
| predicted_H | 0.6800 | 0.7370 | 0.7030 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.0500 | 0.0180 | 0.0371 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3007 | 0.3015 | model_form_blend |
| predicted_R | 0.2950 | 0.3090 | 0.3006 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2980 | 0.3052 | model_form_blend |
| predicted_SLG | 0.3210 | 0.2988 | 0.3121 | model_form_blend |
| predicted_SO | 0.8860 | 0.8030 | 0.8525 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 99 |
| Season rows before report date | 99 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260624_SEA@PIT |
| game_type | full |
| mlbID | 669707 |
| playerID | 669707 |
| playerName | Jared Triolo |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-24 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.263 |
| sl_xwoba | 0.271 |
| sl_xba | 0.231 |
| sl_xslg | 0.286 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 1.0 |
| sl_hard_hit_percent | 36.5 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 5.5 |
| sl_whiff_percent | 24.4 |
| 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.095 | 0.000 | 0.000 | Hitting_2B | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.143 | 2.000 | 3.000 | Hitting_AB | 3.162 | 0.000 | -1.162 | 2.000 |
| predicted_AVG | 0.219 | 0.000 | 0.333 | Hitting_AVG | 0.143 | - | -0.143 | - |
| predicted_BB | 0.310 | 1.000 | 0.000 | Hitting_BB | 0.324 | 0.000 | 0.676 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.530 | 0.000 | 1.000 | Hitting_H | 0.451 | 0.000 | -0.451 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.267 | 0.333 | 0.333 | Hitting_OBP | 0.240 | - | 0.093 | - |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.352 | 0.000 | -0.352 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.331 | 0.000 | -0.331 | 0.000 |
| predicted_SLG | 0.313 | 0.000 | 0.333 | Hitting_SLG | 0.276 | - | -0.276 | - |
| predicted_SO | 0.762 | 0.000 | 1.000 | Hitting_SO | 0.669 | 0.000 | -0.669 | 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.3100 -> 1.0000 (boost 0.6900, better) |
| Biggest Deboost | predicted_AB: 3.1430 -> 2.0000 (deboost -1.1430, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2190 -> 0.1880 (deboost -0.0310, worse) | Final model input calibrated with local 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.1880 -> 0.1586 (deboost -0.0294, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.7911 -> 1.0000 (boost 0.2089, worse) | predicted_H: 0.4947 -> 0.0000 (deboost -0.4947, worse) | AB rounded to 3 (raw=3.14), rates preserved: AVG=0.157 HR/AB=0.029 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3262 -> 0.0000 (deboost -0.3262, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1586 -> 0.3330 (boost 0.1744, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1586 (deboost -0.1744, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680779",
"player_name": "Henry Davis",
"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.095,
"predicted_3B": 0.0,
"predicted_AB": 3.143,
"predicted_AVG": 0.219,
"predicted_BB": 0.31,
"predicted_H": 0.53,
"predicted_HR": 0.09,
"predicted_OBP": 0.267,
"predicted_R": 0.333,
"predicted_RBI": 0.34,
"predicted_SLG": 0.313,
"predicted_SO": 0.762
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0008,
"predicted_AB": 3.1185,
"predicted_AVG": 0.188,
"predicted_BB": 0.3188,
"predicted_H": 0.4927,
"predicted_HBP": 0.113,
"predicted_HR": 0.0916,
"predicted_OBP": 0.2597,
"predicted_R": 0.3238,
"predicted_RBI": 0.3617,
"predicted_SLG": 0.2989,
"predicted_SO": 0.7941
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.1102,
"delta": 0.0152,
"percent_delta": 0.16,
"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.143,
"after": 3.1185,
"delta": -0.0245,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.188,
"delta": -0.031,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.3188,
"delta": 0.0088,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 0.4927,
"delta": -0.0373,
"percent_delta": -0.0704,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0916,
"delta": 0.0016,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2597,
"delta": -0.0073,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3238,
"delta": -0.0092,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3617,
"delta": 0.0217,
"percent_delta": 0.0638,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.2989,
"delta": -0.0141,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.762,
"after": 0.7941,
"delta": 0.0321,
"percent_delta": 0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.219,
"after": 0.188,
"delta": -0.031,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1102,
"predicted_3B": 0.0008,
"predicted_AB": 3.1185,
"predicted_AVG": 0.1586,
"predicted_BB": 0.32,
"predicted_H": 0.4947,
"predicted_HBP": 0.113,
"predicted_HR": 0.0917,
"predicted_OBP": 0.2369,
"predicted_R": 0.3262,
"predicted_RBI": 0.3644,
"predicted_SLG": 0.2827,
"predicted_SO": 0.7911
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1185,
"after": 3.1185,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.188,
"after": 0.1586,
"delta": -0.0294,
"percent_delta": -0.1564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3188,
"after": 0.32,
"delta": 0.0012,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4927,
"after": 0.4947,
"delta": 0.002,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.113,
"after": 0.113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0916,
"after": 0.0917,
"delta": 0.0001,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2597,
"after": 0.2369,
"delta": -0.0228,
"percent_delta": -0.0878,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3238,
"after": 0.3262,
"delta": 0.0024,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3617,
"after": 0.3644,
"delta": 0.0027,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2989,
"after": 0.2827,
"delta": -0.0162,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7941,
"after": 0.7911,
"delta": -0.003,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.188,
"after": 0.1586,
"delta": -0.0294,
"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=3.14), rates preserved: AVG=0.157 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.1102,
"after": 0.0,
"delta": -0.1102,
"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.1185,
"after": 3.0,
"delta": -0.1185,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"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.4947,
"after": 0.0,
"delta": -0.4947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0917,
"after": 0.0,
"delta": -0.0917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3644,
"after": 0.0,
"delta": -0.3644,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7911,
"after": 1.0,
"delta": 0.2089,
"percent_delta": 0.2641,
"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.7911,
"after": 1.0,
"delta": 0.2089,
"percent_delta": 0.2641,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4947,
"after": 0.0,
"delta": -0.4947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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.3262,
"after": 0.0,
"delta": -0.3262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3262,
"after": 0.0,
"delta": -0.3262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1586,
"after": 0.333,
"delta": 0.1744,
"percent_delta": 1.0996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2369,
"after": 0.333,
"delta": 0.0961,
"percent_delta": 0.4057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2827,
"after": 0.333,
"delta": 0.0503,
"percent_delta": 0.1779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1586,
"after": 0.333,
"delta": 0.1744,
"percent_delta": 1.0996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.1586,
"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.2369,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2827,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1586,
"delta": -0.1744,
"percent_delta": -0.5236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2369,
"delta": -0.0961,
"percent_delta": -0.2885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2827,
"delta": -0.0503,
"percent_delta": -0.1512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1586,
"delta": -0.1744,
"percent_delta": -0.5236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.143,
"after": 2.0,
"delta": -1.143,
"percent_delta": -0.3637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.1586,
"delta": -0.0604,
"percent_delta": -0.2758,
"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.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2369,
"delta": -0.0301,
"percent_delta": -0.1127,
"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.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.2827,
"delta": -0.0303,
"percent_delta": -0.0968,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.762,
"after": 0.0,
"delta": -0.762,
"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.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.143,
"after": 2.0,
"delta": -1.143,
"percent_delta": -0.3637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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 | 3.143 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.310 | - |
| predicted_H | 0.530 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.313 | - |
| predicted_SO | 0.762 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.015 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.119 | -0.024 |
| predicted_AVG | 0.188 | -0.031 |
| predicted_BB | 0.319 | 0.009 |
| predicted_H | 0.493 | -0.037 |
| predicted_HBP | 0.113 | - |
| predicted_HR | 0.092 | 0.002 |
| predicted_OBP | 0.260 | -0.007 |
| predicted_R | 0.324 | -0.009 |
| predicted_RBI | 0.362 | 0.022 |
| predicted_SLG | 0.299 | -0.014 |
| predicted_SO | 0.794 | 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.110 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.119 | 0.000 |
| predicted_AVG | 0.159 | -0.029 |
| predicted_BB | 0.320 | 0.001 |
| predicted_H | 0.495 | 0.002 |
| predicted_HBP | 0.113 | 0.000 |
| predicted_HR | 0.092 | 0.000 |
| predicted_OBP | 0.237 | -0.023 |
| predicted_R | 0.326 | 0.002 |
| predicted_RBI | 0.364 | 0.003 |
| predicted_SLG | 0.283 | -0.016 |
| predicted_SO | 0.791 | -0.003 |
AB rounded to 3 (raw=3.14), rates preserved: AVG=0.157 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 | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.110 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.119 |
| predicted_AVG | 0.333 | 0.174 |
| predicted_BB | 0.000 | -0.320 |
| predicted_H | 1.000 | 0.505 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.333 | 0.096 |
| predicted_R | 0.000 | -0.326 |
| predicted_RBI | 0.000 | -0.364 |
| predicted_SLG | 0.333 | 0.050 |
| predicted_SO | 1.000 | 0.209 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 0.0833 | 0.2667 | 0.1667 | 0.0833 | 0.0000 | 0.0000 | 0.1667 | 0.3333 |
| last_10 | 0.20 | 10 | - | 28.000 | 3.000 | 1.000 | 0.000 | 1.000 | 7.000 | 2.000 | 3.000 | 10.000 | 0.1071 | 0.2121 | 0.2500 | 0.1071 | 0.0357 | 0.2500 | 0.1071 | 0.3571 |
| season | 0.60 | 42 | - | 132.000 | 18.000 | 4.000 | 0.000 | 5.000 | 17.000 | 14.000 | 13.000 | 32.000 | 0.1364 | 0.2333 | 0.2803 | 0.1364 | 0.0379 | 0.1288 | 0.0985 | 0.2424 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1330 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0820 |
| predicted_AVG | 0.1417 |
| predicted_BB | 0.3320 |
| predicted_H | 0.4370 |
| predicted_HBP | 0.1130 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.2487 |
| predicted_R | 0.3100 |
| predicted_RBI | 0.3940 |
| predicted_SLG | 0.2779 |
| predicted_SO | 0.8420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.1330 | 0.1102 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1430 | 3.0820 | 3.1185 | model_form_blend |
| predicted_AVG | 0.2190 | 0.1417 | 0.1880 | model_form_blend |
| predicted_BB | 0.3100 | 0.3320 | 0.3188 | model_form_blend |
| predicted_H | 0.5300 | 0.4370 | 0.4927 | model_form_blend |
| predicted_HBP | - | 0.1130 | 0.1130 | form_only |
| predicted_HR | 0.0900 | 0.0940 | 0.0916 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2487 | 0.2597 | model_form_blend |
| predicted_R | 0.3330 | 0.3100 | 0.3238 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3940 | 0.3617 | model_form_blend |
| predicted_SLG | 0.3130 | 0.2779 | 0.2989 | model_form_blend |
| predicted_SO | 0.7620 | 0.8420 | 0.7941 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 142 |
| Season rows before report date | 142 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.136 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | PR-DH |
| gameID | 20260623_SEA@PIT |
| game_type | ph |
| mlbID | 680779 |
| note | Ran for Ozuna in the 8th. |
| playerID | 680779 |
| playerName | Henry Davis |
| pos | C |
| started | False |
| startingPosition | PR |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-23 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.239 |
| sl_xwoba | 0.296 |
| sl_xba | 0.2 |
| sl_xslg | 0.357 |
| sl_sweet_spot_percent | 25.5 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 19.2 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 51.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 5.000 | 5.000 | 5.000 | Pitching_BB | 2.867 | 2.000 | 2.133 | 3.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.533 | 2.000 | -0.533 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 3.933 | 6.000 | -1.933 | -4.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.840 | 6.000 | 0.160 | -1.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.600 | 1.000 | 0.400 | 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": "696149",
"player_name": "Bubba Chandler",
"position": "Starter",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 5.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 5.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 2.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 5.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.000 | 14.000 | 24.000 | 9.000 | 22.000 | 2.000 | 4.6667 | 1.2222 | 0.5185 | 0.8889 | 0.3333 | 0.8148 | 0.0741 |
| last_10 | 0.35 | 10 | 50.000 | 25.000 | 39.000 | 27.000 | 48.000 | 5.000 | 4.5000 | 1.3200 | 0.5000 | 0.7800 | 0.5400 | 0.9600 | 0.1000 |
| season | 0.20 | 15 | 74.000 | 38.000 | 59.000 | 43.000 | 69.000 | 9.000 | 4.6216 | 1.3784 | 0.5135 | 0.7973 | 0.5811 | 0.9324 | 0.1216 |
| Metric | Value |
|---|---|
| predicted_BB | 2.2060 |
| predicted_ER | 2.5980 |
| predicted_ERA | 4.5737 |
| predicted_H | 4.4310 |
| predicted_HR | 0.5420 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.6200 |
| predicted_WHIP | 1.2981 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 5.0000 | 2.2060 | 3.4790 | model_form_blend |
| predicted_ER | 2.0000 | 2.5980 | 2.3255 | model_form_blend |
| predicted_ERA | - | 4.5737 | 4.5737 | form_only |
| predicted_H | 2.0000 | 4.4310 | 3.3234 | model_form_blend |
| predicted_HR | 0.0000 | 0.5420 | 0.2951 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 5.0000 | 4.6200 | 4.7931 | model_form_blend |
| predicted_WHIP | - | 1.2981 | 1.2981 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 5 |
| SO | 5 |
| HR | 0 |
| BF | 22 |
| Pitches | 89 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.62 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 6 |
| Pitching_H | 6 |
| Pitching_HBP | 2 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 74 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 49 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_PIT@COL |
| game_type | full |
| mlbID | 696149 |
| playerID | 696149 |
| playerName | Bubba Chandler |
| pos | P |
| started | True |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-19 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.314 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 48.3 |
| sl_avg_best_speed | 79.075226635 |
| sl_avg_hyper_speed | 93.78672343 |
| 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.697 | 1.000 | -0.697 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.576 | 0.000 | -0.576 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.939 | 0.000 | -0.939 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.203 | 2.000 | -0.103 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.455 | 3.000 | -0.455 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670990",
"player_name": "Yohan Ramírez",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.000 | 0.000 | 1.000 | 5.000 | 7.000 | 0.000 | 0.0000 | 0.8571 | 0.0000 | 0.1429 | 0.7143 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 13.200 | 7.000 | 7.000 | 6.000 | 13.000 | 2.000 | 4.6098 | 0.9512 | 0.5122 | 0.5122 | 0.4390 | 0.9512 | 0.1463 |
| season | 0.20 | 33 | 43.200 | 19.000 | 31.000 | 23.000 | 48.000 | 4.000 | 3.9160 | 1.2366 | 0.4351 | 0.7099 | 0.5267 | 1.0992 | 0.0916 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6660 |
| predicted_ER | 0.4690 |
| predicted_ERA | 3.1661 |
| predicted_H | 0.7990 |
| predicted_HR | 0.1300 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3100 |
| predicted_WHIP | 1.0992 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6660 | 0.3298 | model_form_blend |
| predicted_ER | 0.0000 | 0.4690 | 0.2322 | model_form_blend |
| predicted_ERA | - | 3.1661 | 3.1661 | form_only |
| predicted_H | 0.0000 | 0.7990 | 0.3957 | model_form_blend |
| predicted_HR | 0.0000 | 0.1300 | 0.0644 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3100 | 1.1535 | model_form_blend |
| predicted_WHIP | - | 1.0992 | 1.0992 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.92 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 28 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260621_PIT@COL |
| game_type | full |
| mlbID | 670990 |
| playerID | 670990 |
| playerName | Yohan Ramírez |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-21 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.291 |
| sl_xwoba | 0.293 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 30.9 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 46.1 |
| sl_avg_best_speed | 71.869588909 |
| sl_avg_hyper_speed | 92.493145138 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.529 | 0.000 | -0.529 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.882 | 0.000 | -0.882 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.879 | 1.000 | 0.121 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.794 | 1.000 | 1.206 | 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": "642701",
"player_name": "Dennis Santana",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 3.000 | 1.000 | 5.000 | 1.000 | 5.4000 | 0.8000 | 0.6000 | 0.6000 | 0.2000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.200 | 5.000 | 7.000 | 6.000 | 11.000 | 1.000 | 4.6552 | 1.3448 | 0.5172 | 0.7241 | 0.6207 | 1.1379 | 0.1035 |
| season | 0.20 | 33 | 32.000 | 16.000 | 26.000 | 17.000 | 27.000 | 4.000 | 4.5000 | 1.3438 | 0.5000 | 0.8125 | 0.5312 | 0.8438 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3900 |
| predicted_ER | 0.5280 |
| predicted_ERA | 4.7553 |
| predicted_H | 0.8110 |
| predicted_HR | 0.1490 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9860 |
| predicted_WHIP | 1.2010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3900 | 0.1808 | model_form_blend |
| predicted_ER | 0.0000 | 0.5280 | 0.2448 | model_form_blend |
| predicted_ERA | - | 4.7553 | 4.7553 | form_only |
| predicted_H | 0.0000 | 0.8110 | 0.3760 | model_form_blend |
| predicted_HR | 0.0000 | 0.1490 | 0.0691 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9860 | 1.5299 | model_form_blend |
| predicted_WHIP | - | 1.2010 | 1.2010 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.06 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260623_SEA@PIT |
| game_type | full |
| mlbID | 642701 |
| playerID | 642701 |
| playerName | Dennis Santana |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-23 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.336 |
| sl_xwoba | 0.333 |
| sl_sweet_spot_percent | 41.2 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 37.1 |
| sl_whiff_percent | 24.3 |
| sl_swing_percent | 48.7 |
| sl_avg_best_speed | 78.967935306 |
| sl_avg_hyper_speed | 93.554011959 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.394 | 1.000 | -0.394 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.364 | 1.000 | -0.364 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.606 | 2.000 | -0.606 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.930 | 1.000 | 0.070 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.152 | 1.000 | -0.152 | 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",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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.200 | 3.000 | 7.000 | 1.000 | 6.000 | 1.000 | 5.7857 | 1.7143 | 0.6429 | 1.5000 | 0.2143 | 1.2857 | 0.2143 |
| last_10 | 0.35 | 10 | 10.000 | 3.000 | 7.000 | 3.000 | 12.000 | 1.000 | 2.7000 | 1.0000 | 0.3000 | 0.7000 | 0.3000 | 1.2000 | 0.1000 |
| season | 0.20 | 32 | 32.100 | 9.000 | 17.000 | 12.000 | 38.000 | 2.000 | 2.5052 | 0.8969 | 0.2783 | 0.5258 | 0.3711 | 1.1753 | 0.0619 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3130 |
| predicted_ER | 0.4720 |
| predicted_ERA | 4.2457 |
| predicted_H | 1.0010 |
| predicted_HR | 0.1450 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1080 |
| predicted_WHIP | 1.3134 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3130 | 0.1455 | model_form_blend |
| predicted_ER | 0.0000 | 0.4720 | 0.2194 | model_form_blend |
| predicted_ERA | - | 4.2457 | 4.2457 | form_only |
| predicted_H | 0.0000 | 1.0010 | 0.4652 | model_form_blend |
| predicted_HR | 0.0000 | 0.1450 | 0.0674 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1080 | 1.0502 | model_form_blend |
| predicted_WHIP | - | 1.3134 | 1.3134 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.34 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260621_PIT@COL |
| game_type | full |
| mlbID | 642397 |
| playerID | 642397 |
| playerName | Gregory Soto |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-21 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.253 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 36.4 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 43.0 |
| sl_avg_best_speed | 71.913777632 |
| sl_avg_hyper_speed | 93.172828 |
| 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.379 | 0.000 | -0.379 | 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.931 | 2.000 | -0.931 | -2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.979 | 2.000 | -0.779 | -1.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.448 | 3.000 | 0.552 | -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": "681895",
"player_name": "Evan Sisk",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 3.000 | 7.000 | 1.000 | 7.000 | 1.000 | 4.7647 | 1.4118 | 0.5294 | 1.2353 | 0.1765 | 1.2353 | 0.1765 |
| last_10 | 0.35 | 10 | 11.000 | 3.000 | 10.000 | 3.000 | 15.000 | 1.000 | 2.4545 | 1.1818 | 0.2727 | 0.9091 | 0.2727 | 1.3636 | 0.0909 |
| season | 0.20 | 29 | 34.000 | 7.000 | 27.000 | 11.000 | 42.000 | 2.000 | 1.8529 | 1.1176 | 0.2059 | 0.7941 | 0.3235 | 1.2353 | 0.0588 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2610 |
| predicted_ER | 0.3840 |
| predicted_ERA | 3.8524 |
| predicted_H | 0.9010 |
| predicted_HR | 0.1190 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0200 |
| predicted_WHIP | 1.2968 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2610 | 0.1227 | model_form_blend |
| predicted_ER | 0.0000 | 0.3840 | 0.1805 | model_form_blend |
| predicted_ERA | - | 3.8524 | 3.8524 | form_only |
| predicted_H | 0.0000 | 0.9010 | 0.4234 | model_form_blend |
| predicted_HR | 0.0000 | 0.1190 | 0.0559 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0200 | 1.5395 | model_form_blend |
| predicted_WHIP | - | 1.2968 | 1.2968 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 2 |
| 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 | 8 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.85 |
| 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 | 2.0 |
| Pitching_Pitches | 35 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 23 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260621_PIT@COL |
| game_type | full |
| mlbID | 681895 |
| playerID | 681895 |
| playerName | Evan Sisk |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-21 |
| sl_k_percent | 30.4 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.292 |
| sl_xwoba | 0.251 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 29.6 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 43.5 |
| sl_avg_best_speed | 72.6127975 |
| sl_avg_hyper_speed | 92.566050375 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.933 | 1.000 | 0.067 | 0.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.810 | 1.000 | -0.810 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.333 | 3.000 | -1.333 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.1000 -> 0.0000 (deboost -0.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.1000 -> 0.0000 (deboost -0.1000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "682254",
"player_name": "Mason Montgomery",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.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": 1.0,
"predicted_IP": 0.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 7.000 | 3.000 | 8.000 | 0.000 | 3.6000 | 2.0000 | 0.4000 | 1.4000 | 0.6000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 7.000 | 11.000 | 7.000 | 14.000 | 0.000 | 5.9062 | 1.6875 | 0.6562 | 1.0312 | 0.6562 | 1.3125 | 0.0000 |
| season | 0.20 | 29 | 29.200 | 13.000 | 26.000 | 15.000 | 40.000 | 2.000 | 3.9438 | 1.3820 | 0.4382 | 0.8764 | 0.5056 | 1.3483 | 0.0674 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3400 |
| predicted_ER | 0.3460 |
| predicted_ERA | 4.4855 |
| predicted_H | 0.7460 |
| predicted_HR | 0.0520 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8450 |
| predicted_WHIP | 1.5659 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3400 | 0.1549 | model_form_blend |
| predicted_ER | 1.0000 | 0.3460 | 0.7019 | model_form_blend |
| predicted_ERA | - | 4.4855 | 4.4855 | form_only |
| predicted_H | 1.0000 | 0.7460 | 0.8842 | model_form_blend |
| predicted_HR | 1.0000 | 0.0520 | 0.5680 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8450 | 0.3851 | model_form_blend |
| predicted_WHIP | - | 1.5659 | 1.5659 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 1 |
| Pitches | 3 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.55 |
| Pitching_Flyouts | 0 |
| 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 | 19 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260623_SEA@PIT |
| game_type | full |
| mlbID | 682254 |
| playerID | 682254 |
| playerName | Mason Montgomery |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-23 |
| sl_k_percent | 30.5 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.317 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 42.1 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 49.9 |
| sl_avg_best_speed | 73.673492105 |
| sl_avg_hyper_speed | 94.885404 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TEX 3 - 2 TOR | TEX | 0.525 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | TEX 4 - 3 TOR | TEX | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5250 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.552 | 4.099 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 2 | 0.5250 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 2 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 4 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4517776153846154,
"base_low_score_probability": 0.4238461538461539,
"low_score_signal_threshold": 0.5038461538461538,
"low_score_signal_strength": 0.027931461538461544,
"confidence": 0.63295,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.0659
},
"prediction": "normal_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 11,
"near_bucket_sample_size": 11,
"medium_bucket_sample_size": 12,
"wide_bucket_sample_size": 12,
"global_sample_size": 12,
"bucket_scope": "sparse_near_0.05",
"sparse_bucket": true,
"empirical_hit_rate": 0.3636,
"bayesian_hit_rate": 0.4615,
"sample_weight": 0.2397,
"prior_strength": 28.0,
"reliability": 0.2821,
"confidence_cap": 0.525,
"raw_pick_probability": 0.5658,
"calibrated_pick_probability": 0.525,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "TOR",
"games": 80,
"wins": 39,
"losses": 41,
"win_pct": 0.4875,
"runs_scored": 328,
"runs_allowed": 355,
"run_differential": -27,
"run_differential_per_game": -0.3375,
"available": true
},
"away": {
"team": "TEX",
"games": 80,
"wins": 38,
"losses": 42,
"win_pct": 0.475,
"runs_scored": 319,
"runs_allowed": 333,
"run_differential": -14,
"run_differential_per_game": -0.175,
"available": true
},
"run_differential_edge_per_game": -0.1625,
"win_pct_edge": 0.0125,
"quality_edge": -0.1438,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "TEX",
"guardrail_predicted_team": "TEX",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "TEX",
"output_opponent_team": "TOR",
"final_score_winner": "TEX",
"pre_simulation_winner": "TEX",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 TOR",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TEX 4 - 3 TOR",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "TOR",
"games": 80,
"wins": 39,
"losses": 41,
"win_pct": 0.4875,
"runs_scored": 328,
"runs_allowed": 355,
"run_differential": -27,
"run_differential_per_game": -0.3375,
"available": true
},
"away": {
"team": "TEX",
"games": 80,
"wins": 38,
"losses": 42,
"win_pct": 0.475,
"runs_scored": 319,
"runs_allowed": 333,
"run_differential": -14,
"run_differential_per_game": -0.175,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.8651,
"final_margin": -0.8651,
"margin_cap": 1.5,
"season_quality_edge": 0.1438,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.525,
"final_confidence": 0.525,
"confidence_cap": 0.525,
"score_gap": 0.8651,
"calibration_sample_size": 11,
"calibration_empirical_hit_rate": 0.3636,
"calibration_bayesian_hit_rate": 0.4615,
"calibration_sparse_bucket": true,
"season_quality_edge": 0.1438,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"historical confidence bucket is sparse",
"sparse empirical bucket hit rate is below 45 percent",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 TOR",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TEX 4 - 3 TOR",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 3,
"home_runs": 2,
"confidence": 0.525,
"home_win_probability": 0.475,
"away_win_probability": 0.525,
"predicted_score_text": "TEX 3 - 2 TOR",
"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": "TEX",
"original_runs": 3,
"run_delta": -0.0781,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.19673512556021813,
"contact": 0.0892841705991707,
"power": 0.14224794125841062,
"discipline": -0.15867690746605284,
"xwoba": 0.3178484848484848,
"recent_xwoba": 0.3178484848484848,
"barrel": 8.22121212121212,
"ab_hard_contact": 0.1313772955866862,
"ab_bat_speed": 69.84829268141746,
"ab_strikeout_rate": 0.23840381944296496,
"available_players": 9,
"top_players": [
{
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"weight": 4.0,
"quality": 1.226522040608327,
"contact": 1.4404780594219313,
"power": 1.4267604631165007,
"discipline": -0.02653331835878983,
"xwoba": 0.381,
"recent_xwoba": 0.381,
"barrel": 12.3,
"ab_hard_contact": 0.5131140242347818,
"ab_bat_speed": 71.322872491764,
"ab_strikeout_rate": 0.19025157232704404,
"available": 1.0
},
{
"player_id": "608369",
"player_name": "Corey Seager",
"position": "SS",
"weight": 4.0,
"quality": 0.4675883063325875,
"contact": 0.1946648318195703,
"power": 1.097964012595779,
"discipline": -0.19689285714285698,
"xwoba": 0.335,
"recent_xwoba": 0.335,
"barrel": 15.2,
"ab_hard_contact": 0.9665183471536772,
"ab_bat_speed": 70.45178231292518,
"ab_strikeout_rate": 0.278968253968254,
"available": 1.0
},
{
"player_id": "670032",
"player_name": "Nicky Lopez",
"position": "2B",
"weight": 3.0,
"quality": -0.06651888311688312,
"contact": -1.0745714285714283,
"power": -1.584095238095238,
"discipline": -0.21863888888888872,
"xwoba": 0.256,
"recent_xwoba": 0.256,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 61.67933333333333,
"ab_strikeout_rate": 0.25,
"available": 1.0
},
{
"player_id": "592626",
"player_name": "Joc Pederson",
"position": "DH",
"weight": 3.0,
"quality": 0.3857735079496761,
"contact": 0.6185719595746716,
"power": 0.6560439608743124,
"discipline": 0.28059920634920643,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 10.5,
"ab_hard_contact": 0.016498265105301262,
"ab_bat_speed": 70.09404365079365,
"ab_strikeout_rate": 0.21433333333333335,
"available": 1.0
},
{
"player_id": "696030",
"player_name": "Alejandro Osuna",
"position": "LF",
"weight": 3.0,
"quality": -0.08584561132524082,
"contact": 0.1787369309868229,
"power": -1.0250646296564605,
"discipline": 0.6115006841817189,
"xwoba": 0.319,
"recent_xwoba": 0.319,
"barrel": 0.0,
"ab_hard_contact": 0.20804074020412752,
"ab_bat_speed": 69.92044642857142,
"ab_strikeout_rate": 0.15057471264367814,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "592332",
"player_name": "Kevin Gausman",
"quality": 0.22959735960217686,
"contact": 0.20994893762896855,
"command": 0.37521428571428594,
"movement": -0.0019803424669970066,
"xwoba": 0.293,
"whiff": 28.1,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
},
"home": {
"team": "TOR",
"original_runs": 2,
"run_delta": -0.1324,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": -0.02420281165878243,
"contact": -0.3712316899221161,
"power": -0.3176555542084252,
"discipline": 0.3332730386026914,
"xwoba": 0.2937878787878787,
"recent_xwoba": 0.2937878787878787,
"barrel": 7.733333333333333,
"ab_hard_contact": -0.4299018489592681,
"ab_bat_speed": 69.83509947043004,
"ab_strikeout_rate": 0.18313543014273403,
"available_players": 8,
"top_players": [
{
"player_id": "676391",
"player_name": "Ernie Clement",
"position": "SS",
"weight": 4.0,
"quality": -0.7144825041835497,
"contact": -0.6111348213344184,
"power": -0.9946938790130525,
"discipline": 0.05509704184704198,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 2.7,
"ab_hard_contact": -0.22797281835629762,
"ab_bat_speed": 65.85213734567901,
"ab_strikeout_rate": 0.08212121212121212,
"available": 1.0
},
{
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"position": "3B",
"weight": 4.0,
"quality": 0.4265633263678452,
"contact": 0.15660621485769105,
"power": 1.1055083255863316,
"discipline": -0.5031739293201556,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 14.799999999999999,
"ab_hard_contact": 0.4644522260123481,
"ab_bat_speed": 71.33991614255766,
"ab_strikeout_rate": 0.3113207547169811,
"available": 1.0
},
{
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"position": "1B",
"weight": 4.0,
"quality": 0.6280731607011061,
"contact": 0.951625324471347,
"power": 0.18002333456004643,
"discipline": 0.8591535639412999,
"xwoba": 0.348,
"recent_xwoba": 0.348,
"barrel": 6.8,
"ab_hard_contact": 0.7059905007247486,
"ab_bat_speed": 75.4817074722971,
"ab_strikeout_rate": 0.11320754716981132,
"available": 1.0
},
{
"player_id": "664770",
"player_name": "Nathan Lukes",
"position": "RF",
"weight": 3.0,
"quality": -0.18032101281778803,
"contact": -0.250943257698055,
"power": -0.9926010885388667,
"discipline": -0.18924278499278488,
"xwoba": 0.294,
"recent_xwoba": 0.294,
"barrel": 0.8,
"ab_hard_contact": -0.5556408183963827,
"ab_bat_speed": 66.6145238095238,
"ab_strikeout_rate": 0.1318181818181818,
"available": 1.0
},
{
"player_id": "672386",
"player_name": "Alejandro Kirk",
"position": "C",
"weight": 4.0,
"quality": -0.08073229302032926,
"contact": -0.9454871970919946,
"power": -1.1211649395489676,
"discipline": 0.16674206349206366,
"xwoba": 0.247,
"recent_xwoba": 0.247,
"barrel": 2.5,
"ab_hard_contact": -0.234727362407926,
"ab_bat_speed": 70.06888888888889,
"ab_strikeout_rate": 0.08333333333333333,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669022",
"player_name": "MacKenzie Gore",
"quality": -0.14758739099980994,
"contact": -0.3843498617573014,
"command": 0.14935714285714297,
"movement": 0.09787545845059159,
"xwoba": 0.315,
"whiff": 25.7,
"faced_est_woba": 0.26764656249999996,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007895649264756405
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 2,
"predicted_score_text": "TEX 3 - 2 TOR",
"confidence": 0.525,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 TOR",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TEX 4 - 3 TOR",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}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 TEX | True | 1.0197 | 1.0197 | 1 | 9 | 0 |
| Home TOR | True | 0.9945 | 0.9945 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Joc Pederson | 138 | 1.0417 | 0.5562 | neutral | 0.3470 | 0.2530 | 0.4260 | 10.50 | 48.10 | 91.80 | 14.30 | 29.70 | 21 | 12.10 | 0.0857 |
| RF | Brandon Nimmo | 83 | 1.1262 | 1.6832 | positive_batter_regression | 0.3810 | 0.2950 | 0.5260 | 12.30 | 53 | 92.60 | 11.10 | 22.60 | 20.50 | 7.40 | 1.3429 |
| CF | Wyatt Langford | 91 | 0.9963 | -0.0499 | negative_batter_regression | 0.3050 | 0.2420 | 0.4050 | 7.80 | 36.20 | 89.10 | 15.90 | 23.30 | 22.10 | 6.10 | -1.1714 |
| SS | Corey Seager | 167 | 1.0570 | 0.7596 | positive_batter_regression | 0.3350 | 0.2310 | 0.4570 | 15.20 | 44.80 | 91.20 | 11.90 | 34.70 | 26.50 | 11.30 | 1.3429 |
| 1B | Jake Burger | 81 | 1.0124 | 0.1650 | neutral | 0.3090 | 0.2410 | 0.4040 | 9.50 | 46.30 | 90.10 | 12.40 | 35.20 | 26.10 | 7.70 | -0.5714 |
| LF | Alejandro Osuna | 236 | 0.9963 | -0.0498 | neutral | 0.3190 | 0.2640 | 0.3170 | 0 | 32.30 | 88.10 | 5.50 | 16.20 | 15 | 9.30 | 0.2000 |
| C | Kyle Higashioka | 219 | 0.9960 | -0.0531 | neutral | 0.2940 | 0.2260 | 0.3570 | 10 | 36.70 | 88 | 15.20 | 29.20 | 27.80 | 9 | -0.0571 |
| 3B | Ezequiel Duran | 85 | 0.9939 | -0.0812 | neutral | 0.3040 | 0.2530 | 0.3640 | 5.70 | 37.10 | 89 | 10.40 | 27.80 | 23.80 | 7.70 | -0.6286 |
| 2B | Nicky Lopez | 324 | 0.9573 | -0.5689 | negative_batter_regression | 0.2560 | 0.2380 | 0.2920 | 0 | 23 | 84.50 | -0.20 | 18.20 | 14.50 | 3.90 | -1.6000 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Kazuma Okamoto | 77 | 1.0501 | 0.6679 | neutral | 0.3310 | 0.2220 | 0.4460 | 14.80 | 50 | 92 | 17.20 | 33.90 | 31.90 | 10 | -0.2571 |
| DH | George Springer | 375 | 1.0047 | 0.0628 | neutral | 0.3120 | 0.2290 | 0.3810 | 8 | 37.50 | 88.30 | 14.50 | 23.90 | 19 | 10.50 | 0.0571 |
| 1B | Vladimir Guerrero Jr. | 161 | 1.0586 | 0.7807 | neutral | 0.3480 | 0.2930 | 0.4140 | 6.80 | 42.80 | 89.60 | 7.90 | 19.50 | 10.20 | 10.90 | 0.7714 |
| SS | Ernie Clement | 121 | 0.9342 | -0.8769 | negative_batter_regression | 0.2680 | 0.2500 | 0.3400 | 2.70 | 24.90 | 85.40 | 15.80 | 16 | 10.40 | 3.30 | -1.6571 |
| C | Alejandro Kirk | 411 | 0.9681 | -0.4251 | neutral | 0.2470 | 0.2140 | 0.2770 | 2.50 | 37.50 | 86 | 10.70 | 25 | 15.40 | 7.70 | 0.0571 |
| RF | Nathan Lukes | 154 | 0.9815 | -0.2463 | negative_batter_regression | 0.2940 | 0.2690 | 0.3470 | 0.80 | 28.90 | 86.40 | 12.10 | 19.30 | 16 | 3.80 | -1.2286 |
| LF | Davis Schneider | 524 | 0.9863 | -0.1830 | neutral | 0.2780 | 0.1600 | 0.3050 | 11.90 | 46.70 | 88.90 | 30.50 | 31.40 | 31.60 | 15.80 | 0.0286 |
| CF | Myles Straw | 376 | 0.9947 | -0.0700 | neutral | 0.3050 | 0.2620 | 0.3560 | 3.70 | 25.20 | 85.90 | 13.90 | 12.90 | 14.90 | 9.20 | 0.4857 |
| 2B | Luis Urías | 258 | 0.9723 | -0.3699 | negative_batter_regression | 0.2600 | 0.1610 | 0.3030 | 16.70 | 33.30 | 85.40 | 11.20 | 15 | 12.50 | 12.50 | -2 |
{
"home": {
"applied": true,
"offense_factor": 0.9945,
"raw_average_factor": 0.9945,
"team_espn_average_rank": 273.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"offense_factor": 1.0501,
"quality_score": 0.6679,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672960",
"espn_id": 5134636,
"player_name": "Kazuma Okamoto",
"team": "TOR",
"role": "batter",
"espn_rank": 77,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 77,
"gp_value": 78.0,
"gp_rank": 32,
"ab_value": 282.0,
"ab_rank": 70,
"r_value": 40.0,
"r_rank": 64,
"h_value": 67.0,
"h_rank": 89,
"avg_value": 0.2375886,
"avg_rank": 118.0,
"2b_value": 11.0,
"2b_rank": 128,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 17.0,
"hr_rank": 17,
"rbi_value": 49.0,
"rbi_rank": 18,
"tb_value": 129.0,
"tb_rank": 676,
"bb_value": 32.0,
"bb_rank": 58,
"so_value": 102.0,
"so_rank": 7,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.321875,
"obp_rank": "95",
"slg_value": 0.4574468,
"slg_rank": "56",
"ops_value": 0.7793218,
"ops_rank": 151.0,
"war_value": 1.69,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 31.9,
"bb_percent": 10.0,
"woba": 0.34,
"xwoba": 0.331,
"xba": 0.222,
"xslg": 0.446,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 14.8,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 17.2,
"whiff_percent": 33.9,
"swing_percent": 44.3
},
"components": {
"expected_quality": 0.8185,
"regression_edge": -0.2571,
"xwoba_edge": 0.7714,
"xba_edge": -0.5143,
"xslg_edge": 1.0286,
"barrel_edge": 1.7333,
"hard_hit_edge": 1.6714,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "543807",
"player_name": "George Springer",
"offense_factor": 1.0047,
"quality_score": 0.0628,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543807",
"espn_id": 32078,
"player_name": "George Springer",
"team": "TOR",
"role": "batter",
"espn_rank": 375,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 375,
"gp_value": 58.0,
"gp_rank": 210,
"ab_value": 224.0,
"ab_rank": 146,
"r_value": 26.0,
"r_rank": 172,
"h_value": 50.0,
"h_rank": 169,
"avg_value": 0.2232142,
"avg_rank": 144.0,
"2b_value": 11.0,
"2b_rank": 128,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 21.0,
"rbi_rank": 220,
"tb_value": 85.0,
"tb_rank": 1044,
"bb_value": 27.0,
"bb_rank": 92,
"so_value": 49.0,
"so_rank": 161,
"sb_value": 6.0,
"sb_rank": 85,
"obp_value": 0.3137254,
"obp_rank": "112",
"slg_value": 0.3794642,
"slg_rank": "120",
"ops_value": 0.6931896,
"ops_rank": 8.0,
"war_value": -0.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 161.0,
"k_percent": 19.0,
"bb_percent": 10.5,
"woba": 0.31,
"xwoba": 0.312,
"xba": 0.229,
"xslg": 0.381,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 14.5,
"whiff_percent": 23.9,
"swing_percent": 48.2
},
"components": {
"expected_quality": 0.0905,
"regression_edge": 0.0571,
"xwoba_edge": 0.2286,
"xba_edge": -0.3143,
"xslg_edge": 0.1,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"offense_factor": 1.0586,
"quality_score": 0.7807,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665489",
"espn_id": 35002,
"player_name": "Vladimir Guerrero Jr.",
"team": "TOR",
"role": "batter",
"espn_rank": 161,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 161,
"gp_value": 76.0,
"gp_rank": 60,
"ab_value": 278.0,
"ab_rank": 76,
"r_value": 44.0,
"r_rank": 43,
"h_value": 77.0,
"h_rank": 46,
"avg_value": 0.2769784,
"avg_rank": 42.0,
"2b_value": 12.0,
"2b_rank": 99,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 4.0,
"hr_rank": 222,
"rbi_value": 32.0,
"rbi_rank": 115,
"tb_value": 101.0,
"tb_rank": 1219,
"bb_value": 35.0,
"bb_rank": 43,
"so_value": 33.0,
"so_rank": 266,
"sb_value": 6.0,
"sb_rank": 85,
"obp_value": 0.3602484,
"obp_rank": "40",
"slg_value": 0.3633093,
"slg_rank": "135",
"ops_value": 0.7235577,
"ops_rank": 95.0,
"war_value": 0.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 10.2,
"bb_percent": 10.9,
"woba": 0.321,
"xwoba": 0.348,
"xba": 0.293,
"xslg": 0.414,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 42.8,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 7.9,
"whiff_percent": 19.5,
"swing_percent": 47.9
},
"components": {
"expected_quality": 0.7864,
"regression_edge": 0.7714,
"xwoba_edge": 1.2571,
"xba_edge": 1.5143,
"xslg_edge": 0.5714,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.6429,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.6833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "676391",
"player_name": "Ernie Clement",
"offense_factor": 0.9342,
"quality_score": -0.8769,
"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": 121,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 121,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 295.0,
"ab_rank": 30,
"r_value": 35.0,
"r_rank": 99,
"h_value": 86.0,
"h_rank": 11,
"avg_value": 0.2915254,
"avg_rank": 17.0,
"2b_value": 20.0,
"2b_rank": 5,
"3b_value": 1.0,
"3b_rank": 82,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 28.0,
"rbi_rank": 152,
"tb_value": 129.0,
"tb_rank": 591,
"bb_value": 10.0,
"bb_rank": 292,
"so_value": 32.0,
"so_rank": 275,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3127035,
"obp_rank": "115",
"slg_value": 0.4372881,
"slg_rank": "73",
"ops_value": 0.7499916,
"ops_rank": 188.0,
"war_value": 1.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 10.4,
"bb_percent": 3.3,
"woba": 0.326,
"xwoba": 0.268,
"xba": 0.25,
"xslg": 0.34,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 24.9,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 15.8,
"whiff_percent": 16.0,
"swing_percent": 58.4
},
"components": {
"expected_quality": -0.7545,
"regression_edge": -1.6571,
"xwoba_edge": -1.0286,
"xba_edge": 0.2857,
"xslg_edge": -0.4857,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.9143,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "672386",
"player_name": "Alejandro Kirk",
"offense_factor": 0.9681,
"quality_score": -0.4251,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672386",
"espn_id": 42081,
"player_name": "Alejandro Kirk",
"team": "TOR",
"role": "batter",
"espn_rank": 411,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 411,
"gp_value": 13.0,
"gp_rank": 474,
"ab_value": 47.0,
"ab_rank": 432,
"r_value": 3.0,
"r_rank": 460,
"h_value": 9.0,
"h_rank": 434,
"avg_value": 0.1914893,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 399,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 6.0,
"rbi_rank": 395,
"tb_value": 14.0,
"tb_rank": 2360,
"bb_value": 4.0,
"bb_rank": 416,
"so_value": 8.0,
"so_rank": 476,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.2978723,
"slg_rank": "-",
"ops_value": 0.5478723,
"ops_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 22.0,
"k_percent": 15.4,
"bb_percent": 7.7,
"woba": 0.245,
"xwoba": 0.247,
"xba": 0.214,
"xslg": 0.277,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 10.7,
"whiff_percent": 25.0,
"swing_percent": 49.5
},
"components": {
"expected_quality": -1.1079,
"regression_edge": 0.0571,
"xwoba_edge": -1.6286,
"xba_edge": -0.7429,
"xslg_edge": -1.3857,
"barrel_edge": -1.0,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.9667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "664770",
"player_name": "Nathan Lukes",
"offense_factor": 0.9815,
"quality_score": -0.2463,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664770",
"espn_id": 35682,
"player_name": "Nathan Lukes",
"team": "TOR",
"role": "batter",
"espn_rank": 154,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 154,
"gp_value": 46.0,
"gp_rank": 286,
"ab_value": 143.0,
"ab_rank": 263,
"r_value": 16.0,
"r_rank": 275,
"h_value": 43.0,
"h_rank": 209,
"avg_value": 0.3006993,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 202,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 15.0,
"rbi_rank": 276,
"tb_value": 60.0,
"tb_rank": 1599,
"bb_value": 6.0,
"bb_rank": 372,
"so_value": 25.0,
"so_rank": 321,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3441558,
"obp_rank": "-",
"slg_value": 0.4195804,
"slg_rank": "-",
"ops_value": 0.7637362,
"ops_rank": null,
"war_value": 0.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 68.0,
"k_percent": 16.0,
"bb_percent": 3.8,
"woba": 0.337,
"xwoba": 0.294,
"xba": 0.269,
"xslg": 0.347,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 0.8,
"hard_hit_percent": 28.9,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 12.1,
"whiff_percent": 19.3,
"swing_percent": 50.5
},
"components": {
"expected_quality": -0.4365,
"regression_edge": -1.2286,
"xwoba_edge": -0.2857,
"xba_edge": 0.8286,
"xslg_edge": -0.3857,
"barrel_edge": -1.3778,
"hard_hit_edge": -1.3429,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "676914",
"player_name": "Davis Schneider",
"offense_factor": 0.9863,
"quality_score": -0.183,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676914",
"espn_id": 4997181,
"player_name": "Davis Schneider",
"team": "TOR",
"role": "batter",
"espn_rank": 524,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 524,
"gp_value": 47.0,
"gp_rank": 275,
"ab_value": 95.0,
"ab_rank": 347,
"r_value": 16.0,
"r_rank": 275,
"h_value": 15.0,
"h_rank": 381,
"avg_value": 0.1578947,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 3.0,
"hr_rank": 260,
"rbi_value": 11.0,
"rbi_rank": 317,
"tb_value": 29.0,
"tb_rank": 1850,
"bb_value": 18.0,
"bb_rank": 185,
"so_value": 36.0,
"so_rank": 244,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2920353,
"obp_rank": "-",
"slg_value": 0.3052631,
"slg_rank": "-",
"ops_value": 0.5972984,
"ops_rank": null,
"war_value": -0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 86.0,
"k_percent": 31.6,
"bb_percent": 15.8,
"woba": 0.277,
"xwoba": 0.278,
"xba": 0.16,
"xslg": 0.305,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 46.7,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 30.5,
"whiff_percent": 31.4,
"swing_percent": 39.0
},
"components": {
"expected_quality": -0.4776,
"regression_edge": 0.0286,
"xwoba_edge": -0.7429,
"xba_edge": -2.2857,
"xslg_edge": -0.9857,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.2,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": -1.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "664702",
"player_name": "Myles Straw",
"offense_factor": 0.9947,
"quality_score": -0.07,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664702",
"espn_id": 39105,
"player_name": "Myles Straw",
"team": "TOR",
"role": "batter",
"espn_rank": 376,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 376,
"gp_value": 69.0,
"gp_rank": 145,
"ab_value": 124.0,
"ab_rank": 288,
"r_value": 24.0,
"r_rank": 192,
"h_value": 30.0,
"h_rank": 278,
"avg_value": 0.2419354,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 281,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 2.0,
"hr_rank": 318,
"rbi_value": 10.0,
"rbi_rank": 336,
"tb_value": 41.0,
"tb_rank": 1921,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 21.0,
"so_rank": 361,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3093525,
"obp_rank": "-",
"slg_value": 0.3306451,
"slg_rank": "-",
"ops_value": 0.6399976,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 14.9,
"bb_percent": 9.2,
"woba": 0.288,
"xwoba": 0.305,
"xba": 0.262,
"xslg": 0.356,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 25.2,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 13.9,
"whiff_percent": 12.9,
"swing_percent": 37.6
},
"components": {
"expected_quality": -0.2601,
"regression_edge": 0.4857,
"xwoba_edge": 0.0286,
"xba_edge": 0.6286,
"xslg_edge": -0.2571,
"barrel_edge": -0.7333,
"hard_hit_edge": -1.8714,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -0.5667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "649966",
"player_name": "Luis Urías",
"offense_factor": 0.9723,
"quality_score": -0.3699,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "649966",
"espn_id": 35383,
"player_name": "Luis Urias",
"team": "TOR",
"role": "batter",
"espn_rank": 258,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 258,
"gp_value": 2.0,
"gp_rank": 561,
"ab_value": 7.0,
"ab_rank": 545,
"r_value": 1.0,
"r_rank": 512,
"h_value": 3.0,
"h_rank": 514,
"avg_value": 0.4285714,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 495,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 2.0,
"rbi_rank": 475,
"tb_value": 6.0,
"tb_rank": 2536,
"bb_value": 1.0,
"bb_rank": 485,
"so_value": 1.0,
"so_rank": 558,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.5,
"obp_rank": "-",
"slg_value": 0.8571428,
"slg_rank": "-",
"ops_value": 1.3571428,
"ops_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 12.5,
"bb_percent": 12.5,
"woba": 0.567,
"xwoba": 0.26,
"xba": 0.161,
"xslg": 0.303,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 16.7,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 11.2,
"whiff_percent": 15.0,
"swing_percent": 55.6
},
"components": {
"expected_quality": -0.6303,
"regression_edge": -2.0,
"xwoba_edge": -1.2571,
"xba_edge": -2.2571,
"xslg_edge": -1.0143,
"barrel_edge": 2.1556,
"hard_hit_edge": -0.7143,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0197,
"raw_average_factor": 1.0197,
"team_espn_average_rank": 158.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "592626",
"player_name": "Joc Pederson",
"offense_factor": 1.0417,
"quality_score": 0.5562,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592626",
"espn_id": 31392,
"player_name": "Joc Pederson",
"team": "TEX",
"role": "batter",
"espn_rank": 138,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 138,
"gp_value": 75.0,
"gp_rank": 79,
"ab_value": 211.0,
"ab_rank": 164,
"r_value": 30.0,
"r_rank": 140,
"h_value": 51.0,
"h_rank": 160,
"avg_value": 0.2417061,
"avg_rank": 101.0,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 11.0,
"hr_rank": 71,
"rbi_value": 27.0,
"rbi_rank": 161,
"tb_value": 95.0,
"tb_rank": 632,
"bb_value": 30.0,
"bb_rank": 66,
"so_value": 52.0,
"so_rank": 147,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.3400809,
"obp_rank": "69",
"slg_value": 0.4502369,
"slg_rank": "61",
"ops_value": 0.7903178,
"ops_rank": 130.0,
"war_value": 0.99,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 155.0,
"k_percent": 21.0,
"bb_percent": 12.1,
"woba": 0.344,
"xwoba": 0.347,
"xba": 0.253,
"xslg": 0.426,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 48.1,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 14.3,
"whiff_percent": 29.7,
"swing_percent": 45.2
},
"components": {
"expected_quality": 0.9041,
"regression_edge": 0.0857,
"xwoba_edge": 1.2286,
"xba_edge": 0.3714,
"xslg_edge": 0.7429,
"barrel_edge": 0.7778,
"hard_hit_edge": 1.4,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"offense_factor": 1.1262,
"quality_score": 1.6832,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "607043",
"espn_id": 32159,
"player_name": "Brandon Nimmo",
"team": "TEX",
"role": "batter",
"espn_rank": 83,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 83,
"gp_value": 78.0,
"gp_rank": 32,
"ab_value": 303.0,
"ab_rank": 19,
"r_value": 32.0,
"r_rank": 118,
"h_value": 81.0,
"h_rank": 28,
"avg_value": 0.2673267,
"avg_rank": 52.0,
"2b_value": 19.0,
"2b_rank": 8,
"3b_value": 3.0,
"3b_rank": 8,
"hr_value": 8.0,
"hr_rank": 113,
"rbi_value": 28.0,
"rbi_rank": 152,
"tb_value": 130.0,
"tb_rank": 391,
"bb_value": 25.0,
"bb_rank": 104,
"so_value": 69.0,
"so_rank": 69,
"sb_value": 3.0,
"sb_rank": 161,
"obp_value": 0.3333333,
"obp_rank": "80",
"slg_value": 0.4290429,
"slg_rank": "78",
"ops_value": 0.7623762,
"ops_rank": 2.0,
"war_value": 1.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 231.0,
"k_percent": 20.5,
"bb_percent": 7.4,
"woba": 0.334,
"xwoba": 0.381,
"xba": 0.295,
"xslg": 0.526,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 53.0,
"exit_velocity_avg": 92.6,
"launch_angle_avg": 11.1,
"whiff_percent": 22.6,
"swing_percent": 50.1
},
"components": {
"expected_quality": 1.7386,
"regression_edge": 1.3429,
"xwoba_edge": 2.2,
"xba_edge": 1.5714,
"xslg_edge": 2.1714,
"barrel_edge": 1.1778,
"hard_hit_edge": 2.1,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": 0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "694671",
"player_name": "Wyatt Langford",
"offense_factor": 0.9963,
"quality_score": -0.0499,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694671",
"espn_id": 4719324,
"player_name": "Wyatt Langford",
"team": "TEX",
"role": "batter",
"espn_rank": 91,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 91,
"gp_value": 38.0,
"gp_rank": 329,
"ab_value": 152.0,
"ab_rank": 257,
"r_value": 21.0,
"r_rank": 221,
"h_value": 41.0,
"h_rank": 216,
"avg_value": 0.2697368,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 219,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 7.0,
"hr_rank": 137,
"rbi_value": 17.0,
"rbi_rank": 256,
"tb_value": 73.0,
"tb_rank": 886,
"bb_value": 10.0,
"bb_rank": 292,
"so_value": 36.0,
"so_rank": 244,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.3190184,
"obp_rank": "-",
"slg_value": 0.4802631,
"slg_rank": "-",
"ops_value": 0.7992815,
"ops_rank": null,
"war_value": 1.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 22.1,
"bb_percent": 6.1,
"woba": 0.346,
"xwoba": 0.305,
"xba": 0.242,
"xslg": 0.405,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 15.9,
"whiff_percent": 23.3,
"swing_percent": 48.5
},
"components": {
"expected_quality": 0.0619,
"regression_edge": -1.1714,
"xwoba_edge": 0.0286,
"xba_edge": 0.0571,
"xslg_edge": 0.4429,
"barrel_edge": 0.1778,
"hard_hit_edge": -0.3,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "608369",
"player_name": "Corey Seager",
"offense_factor": 1.057,
"quality_score": 0.7596,
"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": 167,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 167,
"gp_value": 47.0,
"gp_rank": 275,
"ab_value": 177.0,
"ab_rank": 219,
"r_value": 25.0,
"r_rank": 183,
"h_value": 33.0,
"h_rank": 265,
"avg_value": 0.1864406,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 9.0,
"hr_rank": 99,
"rbi_value": 24.0,
"rbi_rank": 188,
"tb_value": 66.0,
"tb_rank": 1222,
"bb_value": 23.0,
"bb_rank": 130,
"so_value": 54.0,
"so_rank": 133,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.2843137,
"obp_rank": "-",
"slg_value": 0.3728813,
"slg_rank": "-",
"ops_value": 0.657195,
"ops_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 26.5,
"bb_percent": 11.3,
"woba": 0.288,
"xwoba": 0.335,
"xba": 0.231,
"xslg": 0.457,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 11.9,
"whiff_percent": 34.7,
"swing_percent": 51.1
},
"components": {
"expected_quality": 0.861,
"regression_edge": 1.3429,
"xwoba_edge": 0.8857,
"xba_edge": -0.2571,
"xslg_edge": 1.1857,
"barrel_edge": 1.8222,
"hard_hit_edge": 0.9286,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "669394",
"player_name": "Jake Burger",
"offense_factor": 1.0124,
"quality_score": 0.165,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669394",
"espn_id": 39882,
"player_name": "Jake Burger",
"team": "TEX",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 81,
"gp_value": 77.0,
"gp_rank": 47,
"ab_value": 282.0,
"ab_rank": 70,
"r_value": 35.0,
"r_rank": 99,
"h_value": 71.0,
"h_rank": 70,
"avg_value": 0.251773,
"avg_rank": 85.0,
"2b_value": 14.0,
"2b_rank": 63,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 13.0,
"hr_rank": 44,
"rbi_value": 46.0,
"rbi_rank": 28,
"tb_value": 124.0,
"tb_rank": 673,
"bb_value": 24.0,
"bb_rank": 114,
"so_value": 81.0,
"so_rank": 29,
"sb_value": 1.0,
"sb_rank": 249,
"obp_value": 0.3129032,
"obp_rank": "115",
"slg_value": 0.4397163,
"slg_rank": "69",
"ops_value": 0.7526195,
"ops_rank": 46.0,
"war_value": 1.65,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 26.1,
"bb_percent": 7.7,
"woba": 0.329,
"xwoba": 0.309,
"xba": 0.241,
"xslg": 0.404,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 12.4,
"whiff_percent": 35.2,
"swing_percent": 49.9
},
"components": {
"expected_quality": 0.2931,
"regression_edge": -0.5714,
"xwoba_edge": 0.1429,
"xba_edge": 0.0286,
"xslg_edge": 0.4286,
"barrel_edge": 0.5556,
"hard_hit_edge": 1.1429,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"offense_factor": 0.9963,
"quality_score": -0.0498,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696030",
"espn_id": 4916547,
"player_name": "Alejandro Osuna",
"team": "TEX",
"role": "batter",
"espn_rank": 236,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 236,
"gp_value": 46.0,
"gp_rank": 286,
"ab_value": 119.0,
"ab_rank": 300,
"r_value": 14.0,
"r_rank": 302,
"h_value": 31.0,
"h_rank": 273,
"avg_value": 0.2605042,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 325,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 0.0,
"hr_rank": 454,
"rbi_value": 12.0,
"rbi_rank": 304,
"tb_value": 35.0,
"tb_rank": 2368,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 21.0,
"so_rank": 361,
"sb_value": 4.0,
"sb_rank": 133,
"obp_value": 0.3669064,
"obp_rank": "-",
"slg_value": 0.2941176,
"slg_rank": "-",
"ops_value": 0.661024,
"ops_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 15.0,
"bb_percent": 9.3,
"woba": 0.312,
"xwoba": 0.319,
"xba": 0.264,
"xslg": 0.317,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 32.3,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 5.5,
"whiff_percent": 16.2,
"swing_percent": 47.8
},
"components": {
"expected_quality": -0.1613,
"regression_edge": 0.2,
"xwoba_edge": 0.4286,
"xba_edge": 0.6857,
"xslg_edge": -0.8143,
"barrel_edge": -1.5556,
"hard_hit_edge": -0.8571,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "543309",
"player_name": "Kyle Higashioka",
"offense_factor": 0.996,
"quality_score": -0.0531,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543309",
"espn_id": 30545,
"player_name": "Kyle Higashioka",
"team": "TEX",
"role": "batter",
"espn_rank": 219,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 219,
"gp_value": 43.0,
"gp_rank": 309,
"ab_value": 130.0,
"ab_rank": 277,
"r_value": 16.0,
"r_rank": 275,
"h_value": 29.0,
"h_rank": 285,
"avg_value": 0.2230769,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 366,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 5.0,
"hr_rank": 197,
"rbi_value": 14.0,
"rbi_rank": 286,
"tb_value": 47.0,
"tb_rank": 1650,
"bb_value": 13.0,
"bb_rank": 251,
"so_value": 40.0,
"so_rank": 221,
"sb_value": 0.0,
"sb_rank": 350,
"obp_value": 0.2986111,
"obp_rank": "-",
"slg_value": 0.3615384,
"slg_rank": "-",
"ops_value": 0.6601495,
"ops_rank": null,
"war_value": 0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 91.0,
"k_percent": 27.8,
"bb_percent": 9.0,
"woba": 0.296,
"xwoba": 0.294,
"xba": 0.226,
"xslg": 0.357,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 36.7,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 15.2,
"whiff_percent": 29.2,
"swing_percent": 42.7
},
"components": {
"expected_quality": -0.1279,
"regression_edge": -0.0571,
"xwoba_edge": -0.2857,
"xba_edge": -0.4,
"xslg_edge": -0.2429,
"barrel_edge": 0.6667,
"hard_hit_edge": -0.2286,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"offense_factor": 0.9939,
"quality_score": -0.0812,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677649",
"espn_id": 42457,
"player_name": "Ezequiel Duran",
"team": "TEX",
"role": "batter",
"espn_rank": 85,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 85,
"gp_value": 71.0,
"gp_rank": 129,
"ab_value": 237.0,
"ab_rank": 130,
"r_value": 32.0,
"r_rank": 118,
"h_value": 63.0,
"h_rank": 104,
"avg_value": 0.2658227,
"avg_rank": 54.0,
"2b_value": 15.0,
"2b_rank": 46,
"3b_value": 2.0,
"3b_rank": 20,
"hr_value": 6.0,
"hr_rank": 169,
"rbi_value": 40.0,
"rbi_rank": 57,
"tb_value": 100.0,
"tb_rank": 697,
"bb_value": 20.0,
"bb_rank": 166,
"so_value": 62.0,
"so_rank": 95,
"sb_value": 5.0,
"sb_rank": 103,
"obp_value": 0.3230769,
"obp_rank": "94",
"slg_value": 0.4219409,
"slg_rank": "86",
"ops_value": 0.7450178,
"ops_rank": 8.0,
"war_value": 1.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 23.8,
"bb_percent": 7.7,
"woba": 0.326,
"xwoba": 0.304,
"xba": 0.253,
"xslg": 0.364,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 37.1,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 10.4,
"whiff_percent": 27.8,
"swing_percent": 50.2
},
"components": {
"expected_quality": -0.0299,
"regression_edge": -0.6286,
"xwoba_edge": 0.0,
"xba_edge": 0.3714,
"xslg_edge": -0.1429,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.1714,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "670032",
"player_name": "Nicky Lopez",
"offense_factor": 0.9573,
"quality_score": -0.5689,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670032",
"espn_id": 38106,
"player_name": "Nicky Lopez",
"team": "TEX",
"role": "batter",
"espn_rank": 324,
"espn_total_ranked": 579,
"metrics": {
"espn_rank": 324,
"gp_value": 27.0,
"gp_rank": 389,
"ab_value": 70.0,
"ab_rank": 387,
"r_value": 7.0,
"r_rank": 397,
"h_value": 21.0,
"h_rank": 342,
"avg_value": 0.3,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 449,
"3b_value": 0.0,
"3b_rank": 204,
"hr_value": 1.0,
"hr_rank": 373,
"rbi_value": 6.0,
"rbi_rank": 395,
"tb_value": 25.0,
"tb_rank": 2318,
"bb_value": 3.0,
"bb_rank": 429,
"so_value": 11.0,
"so_rank": 449,
"sb_value": 2.0,
"sb_rank": 191,
"obp_value": 0.3378378,
"obp_rank": "-",
"slg_value": 0.3571428,
"slg_rank": "-",
"ops_value": 0.6949806,
"ops_rank": null,
"war_value": 0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 12.0,
"k_percent": 14.5,
"bb_percent": 3.9,
"woba": 0.312,
"xwoba": 0.256,
"xba": 0.238,
"xslg": 0.292,
"sweet_spot_percent": 26.2,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 23.0,
"exit_velocity_avg": 84.5,
"launch_angle_avg": -0.2,
"whiff_percent": 18.2,
"swing_percent": 54.0
},
"components": {
"expected_quality": -1.2096,
"regression_edge": -1.6,
"xwoba_edge": -1.3714,
"xba_edge": -0.0571,
"xslg_edge": -1.1714,
"barrel_edge": -1.5556,
"hard_hit_edge": -2.1857,
"exit_velocity_edge": -1.72,
"sweet_spot_edge": -1.1833,
"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 TEX | True | 132 | -0.1139 | 0.9280 | 1.0097 | 1.0146 | 1.0223 | 1.0663 | neutral | 0.3150 | 0.3050 | 25.60 | 10.30 | 25.70 | 8.80 | 45.60 | |
| Home TOR | True | 67 | 0.3158 | 1 | 0.9732 | 1.0220 | 0.9280 | 0.9817 | neutral | 0.2930 | 0.2960 | 24.30 | 5.50 | 28.10 | 7.80 | 36.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TEX | True | None | 99 | 89.98 | 2180 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0130 | |
| Home TOR | True | None | 94 | 89.27 | 1996 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0270 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9732 |
| home_runs_vs_away_pitcher | 1.0090 |
| home_pitcher_quality_edge | 0.4297 |
{
"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": 276.0,
"k_percent": 24.3,
"bb_percent": 5.5,
"woba": 0.296,
"xwoba": 0.293,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 36.3,
"avg_best_speed": 76.0302,
"avg_hyper_speed": 94.1344,
"whiff_percent": 28.1,
"swing_percent": 50.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.369,
"command_and_miss": 0.3954,
"regression_edge": 0.0857,
"xwoba_edge": 0.6143,
"barrel_edge": -0.1444,
"hard_hit_edge": 0.2857,
"whiff_edge": 0.3214,
"bb_edge": 0.9,
"pitch_design_score": -0.027
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592332",
"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": 89.26906709262376,
"release_spin_rate": 1995.663462806391,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.26906709262376,
"release_spin_rate": 1995.663462806391,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2691,
"release_spin_rate": 1995.6635,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.027,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1929,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3158,
"sample_weight": 1.0,
"run_prevention_factor": 0.9732,
"strikeout_factor": 1.022,
"walk_factor": 0.928,
"homer_factor": 0.9817,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592332",
"espn_id": 32667,
"player_name": "Kevin Gausman",
"team": "TOR",
"role": "pitcher",
"espn_rank": 67,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 67,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 8.0,
"qs_rank": 26,
"era_value": 4.0449,
"era_rank": 46.0,
"w_value": 4.0,
"w_rank": 79,
"l_value": 5.0,
"l_rank": 45,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 89.0,
"ip_rank": 28,
"h_value": 81.0,
"h_rank": 35,
"er_value": 40.0,
"er_rank": 37,
"hr_value": 11.0,
"hr_rank": 47,
"bb_value": 20.0,
"bb_rank": 130,
"k_value": 89.0,
"k_rank": 24,
"k_per_9_value": 9.0,
"k_per_9_rank": 23,
"whip_value": 1.1348,
"whip_rank": 24.0,
"war_value": 1.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "669022",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 232.0,
"k_percent": 25.6,
"bb_percent": 10.3,
"woba": 0.305,
"xwoba": 0.315,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 45.6,
"avg_best_speed": 78.5633,
"avg_hyper_speed": 95.0408,
"whiff_percent": 25.7,
"swing_percent": 48.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2253,
"command_and_miss": 0.1189,
"regression_edge": -0.2857,
"xwoba_edge": -0.0143,
"barrel_edge": -0.3667,
"hard_hit_edge": -1.0429,
"whiff_edge": -0.0214,
"bb_edge": -0.3,
"pitch_design_score": 0.013
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9839,
"release_spin_rate": 2180.004,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.013,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.093,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1139,
"sample_weight": 0.928,
"run_prevention_factor": 1.0097,
"strikeout_factor": 1.0146,
"walk_factor": 1.0223,
"homer_factor": 1.0663,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669022",
"espn_id": 39636,
"player_name": "MacKenzie Gore",
"team": "TEX",
"role": "pitcher",
"espn_rank": 132,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 132,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 5.0,
"qs_rank": 62,
"era_value": 4.0714,
"era_rank": 47.0,
"w_value": 4.0,
"w_rank": 79,
"l_value": 6.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 84.0,
"ip_rank": 47,
"h_value": 72.0,
"h_rank": 68,
"er_value": 38.0,
"er_rank": 50,
"hr_value": 8.0,
"hr_rank": 91,
"bb_value": 37.0,
"bb_rank": 7,
"k_value": 92.0,
"k_rank": 21,
"k_per_9_value": 9.857143,
"k_per_9_rank": 12,
"whip_value": 1.2976,
"whip_rank": 47.0,
"war_value": 0.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9732,
"home_runs_vs_away_pitcher": 1.009,
"home_pitcher_quality_edge": 0.4297
},
"score_before": {
"away_runs": 2.6221,
"home_runs": 1.6716
},
"score_after": {
"away_runs": 2.5518,
"home_runs": 1.6867,
"home_win_probability": 0.4342
},
"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 TEX | 16-48 | 0.250 | 1 | 3.30 | -146 | cold | strong | |
| Home TOR | 18-50 | 0.265 | 1 | 3.20 | -151 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TEX | 38-42 | 0.475 | -14 | -0.175 | True |
| Home TOR | 39-41 | 0.487 | -27 | -0.338 | True |
| Signal | - | - | -0.163 | -0.144 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TEX | - | - | 3 | - | - | - | - |
| Game target TOR | - | - | 2 | - | - | - | - |
| Player finalized TEX | 33 | 9 | 2 | 0 | 3 | 0 | 8 |
| Player finalized TOR | 33 | 9 | 2 | 0 | 2 | 1 | 6 |
| Player model fractional TEX | 31.67 | 6.71 | 3.73 | 1.11 | 3.57 | 2.69 | 7.58 |
| Player model fractional TOR | 31.80 | 7.31 | 3.82 | 1.03 | 3.73 | 2.93 | 6.14 |
| Simulation box TEX | 33 | 7 | 4 | 0 | 4 | 3 | 8 |
| Simulation box TOR | 37 | 10 | 3 | 0 | 3 | 2 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away TEX | Starter | MacKenzie Gore | 5.20 | 3 | 4 | 9 | 0 | 3.90 | 1.35 | True |
| Away TEX | Middle Reliever | Jacob Latz | 1.10 | 0 | 2 | 0 | 2 | 2.05 | 0.86 | True |
| Away TEX | Middle Reliever | Jakob Junis | 1 | 0 | 1 | 1 | 0 | 3.96 | 1.38 | True |
| Away TEX | Middle Reliever | Peyton Gray | 1 | 0 | 0 | 0 | 0 | 4.00 | 0.95 | True |
| Home TOR | Starter | Kevin Gausman | 5.10 | 4 | 5 | 6 | 2 | 5.12 | 1.29 | True |
| Home TOR | Middle Reliever | Louis Varland | 1.10 | 0 | 0 | 1 | 0 | 3.07 | 0.98 | True |
| Home TOR | Middle Reliever | Jeff Hoffman | 1 | 0 | 0 | 0 | 0 | 2.63 | 1.16 | True |
| Home TOR | Middle Reliever | Tyler Rogers | 1 | 0 | 2 | 0 | 0 | 2.74 | 1.71 | True |
| Home TOR | Middle Reliever | Braydon Fisher | 0.10 | 0 | 1 | 0 | 1 | 5.44 | 1.42 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | TOR | batter | LF | Davis Schneider | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 2.4900 | boost | better |
| home | TOR | batter | C | Alejandro Kirk | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 2.1500 | boost | better |
| away | TEX | batter | DH | Joc Pederson | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | 2.1490 | boost | better |
| home | TOR | batter | CF | Myles Straw | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 1.9000 | boost | better |
| away | TEX | batter | RF | Brandon Nimmo | worse | 11 | 4 | 7 | 5 | 6 | predicted_RBI | 1.5500 | boost | better |
| away | TEX | batter | CF | Wyatt Langford | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | -1.5200 | deboost | worse |
| home | TOR | batter | 2B | Luis Urías | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.5000 | boost | worse |
| away | TEX | batter | LF | Alejandro Osuna | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 1.3560 | boost | better |
| home | TOR | batter | DH | George Springer | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.1550 | boost | worse |
| away | TEX | batter | 1B | Jake Burger | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -1.0520 | deboost | better |
| home | TOR | batter | SS | Ernie Clement | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -1.0200 | deboost | worse |
| home | TOR | batter | 1B | Vladimir Guerrero Jr. | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -1.0100 | deboost | worse |
| away | TEX | batter | C | Kyle Higashioka | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.0000 | boost | worse |
| home | TOR | pitcher | Starter | Kevin Gausman | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | TOR | pitcher | Middle Reliever | Braydon Fisher | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | TEX | batter | 2B | Nicky Lopez | worse | 9 | 4 | 5 | 3 | 6 | predicted_BB | 0.8850 | boost | better |
| home | TOR | batter | 3B | Kazuma Okamoto | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | -0.8700 | deboost | worse |
| home | TOR | batter | RF | Nathan Lukes | better | 9 | 4 | 5 | 5 | 4 | predicted_AB | 0.8000 | boost | better |
| away | TEX | batter | 3B | Ezequiel Duran | worse | 11 | 5 | 6 | 4 | 7 | predicted_2B | 0.7830 | boost | better |
| away | TEX | batter | SS | Corey Seager | worse | 10 | 3 | 7 | 4 | 6 | predicted_BB | -0.4890 | deboost | worse |
| away | TEX | pitcher | Starter | MacKenzie Gore | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | TEX | pitcher | Middle Reliever | Jacob Latz | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | TOR | pitcher | Middle Reliever | Louis Varland | 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 | MacKenzie Gore |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1139 |
| ESPN Rank | 132 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0130 |
| Avg Velo | 89.9839 |
| Avg Spin | 2180.0040 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 9 |
| Pre BB | 0 |
| Pre SO | 4 |
| Season ERA | 4.0714 |
| Season WHIP | 1.2976 |
| Role Avg IP | 5.2500 |
| Recent Avg IP | 5.8000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"opponent": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"edges": {
"quality_edge": -0.0332,
"offense_edge": -0.0965,
"opponent_offense_edge": -0.0813,
"defense_strength": 0.076,
"opponent_defense_weakness": -0.0649,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0042,
"run_prevention": 0.9811,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669022",
"profile": {
"available": true,
"pitcher_id": "669022",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 232.0,
"k_percent": 25.6,
"bb_percent": 10.3,
"woba": 0.305,
"xwoba": 0.315,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 45.6,
"avg_best_speed": 78.5633,
"avg_hyper_speed": 95.0408,
"whiff_percent": 25.7,
"swing_percent": 48.2
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2253,
"command_and_miss": 0.1189,
"regression_edge": -0.2857,
"xwoba_edge": -0.0143,
"barrel_edge": -0.3667,
"hard_hit_edge": -1.0429,
"whiff_edge": -0.0214,
"bb_edge": -0.3,
"pitch_design_score": 0.013
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9839,
"release_spin_rate": 2180.004,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.013,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.093,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1139,
"sample_weight": 0.928,
"run_prevention_factor": 1.0097,
"strikeout_factor": 1.0146,
"walk_factor": 1.0223,
"homer_factor": 1.0663,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669022",
"espn_id": 39636,
"player_name": "MacKenzie Gore",
"team": "TEX",
"role": "pitcher",
"espn_rank": 132,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 132,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 5.0,
"qs_rank": 62,
"era_value": 4.0714,
"era_rank": 47.0,
"w_value": 4.0,
"w_rank": 79,
"l_value": 6.0,
"l_rank": 21,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 84.0,
"ip_rank": 47,
"h_value": 72.0,
"h_rank": 68,
"er_value": 38.0,
"er_rank": 50,
"hr_value": 8.0,
"hr_rank": 91,
"bb_value": 37.0,
"bb_rank": 7,
"k_value": 92.0,
"k_rank": 21,
"k_per_9_value": 9.857143,
"k_per_9_rank": 12,
"whip_value": 1.2976,
"whip_rank": 47.0,
"war_value": 0.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.009,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.009,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0207,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0615,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0135,
"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": 53.0,
"ER": 23,
"H": 47,
"BB": 22,
"SO": 50,
"HR": 3,
"ERA": 3.9056603773584904,
"WHIP": 1.3018867924528301,
"K9": 8.49056603773585,
"HR9": 0.5094339622641509,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-20T00:00:00"
}{
"available": true,
"pitcher_id": "669022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9839,
"release_spin_rate": 2180.004,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.013,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.093,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "669022",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.0,
"ER": 11.0,
"R": 11.0,
"H": 30.0,
"BB": 11.0,
"SO": 30.0,
"HR": 2.0,
"BF": 126.0,
"Pitches": 483.0
},
"per_game": {
"IP": 5.2,
"ER": 2.2,
"R": 2.2,
"H": 6.0,
"BB": 2.2,
"SO": 6.0,
"HR": 0.4,
"BF": 25.2,
"Pitches": 96.6
},
"rates": {
"ERA": 3.4138,
"WHIP": 1.4138,
"ER_per_IP": 0.37931,
"H_per_IP": 1.03448,
"BB_per_IP": 0.37931,
"SO_per_IP": 1.03448,
"HR_per_IP": 0.06897
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.0,
"ER": 23.0,
"R": 23.0,
"H": 47.0,
"BB": 22.0,
"SO": 50.0,
"HR": 3.0,
"BF": 226.0,
"Pitches": 895.0
},
"per_game": {
"IP": 5.1,
"ER": 2.3,
"R": 2.3,
"H": 4.7,
"BB": 2.2,
"SO": 5.0,
"HR": 0.3,
"BF": 22.6,
"Pitches": 89.5
},
"rates": {
"ERA": 3.9057,
"WHIP": 1.3019,
"ER_per_IP": 0.43396,
"H_per_IP": 0.88679,
"BB_per_IP": 0.41509,
"SO_per_IP": 0.9434,
"HR_per_IP": 0.0566
}
},
"season": {
"games": 16,
"totals": {
"IP": 84.0,
"ER": 38.0,
"R": 38.0,
"H": 72.0,
"BB": 37.0,
"SO": 92.0,
"HR": 8.0,
"BF": 359.0,
"Pitches": 1445.0
},
"per_game": {
"IP": 5.1,
"ER": 2.375,
"R": 2.375,
"H": 4.5,
"BB": 2.3125,
"SO": 5.75,
"HR": 0.5,
"BF": 22.4375,
"Pitches": 90.3125
},
"rates": {
"ERA": 4.0714,
"WHIP": 1.2976,
"ER_per_IP": 0.45238,
"H_per_IP": 0.85714,
"BB_per_IP": 0.44048,
"SO_per_IP": 1.09524,
"HR_per_IP": 0.09524
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.397,
"predicted_H": 5.265,
"predicted_BB": 2.176,
"predicted_SO": 5.52,
"predicted_HR": 0.487,
"predicted_ERA": 3.903,
"predicted_WHIP": 1.3462
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.397,
"final": 2.6687,
"source": "model_form_blend"
},
"predicted_H": {
"model": 9.0,
"form": 5.265,
"final": 6.948,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.176,
"final": 1.1955,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.52,
"final": 4.8351,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.487,
"final": 0.2676,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.903,
"final": 3.903,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3462,
"final": 1.3462,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jacob Latz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3631 |
| ESPN Rank | 38 |
| 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 | 2 |
| Pre SO | 2 |
| Season ERA | 0.7297 |
| Season WHIP | 0.5135 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"opponent": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"edges": {
"quality_edge": -0.0332,
"offense_edge": -0.0965,
"opponent_offense_edge": -0.0813,
"defense_strength": 0.076,
"opponent_defense_weakness": -0.0649,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0042,
"run_prevention": 0.9811,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656641",
"profile": {
"available": true,
"pitcher_id": "656641",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 84.0,
"k_percent": 28.4,
"bb_percent": 6.0,
"woba": 0.172,
"xwoba": 0.238,
"sweet_spot_percent": 21.6,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 39.8,
"avg_best_speed": 78.3084,
"avg_hyper_speed": 93.6823,
"whiff_percent": 29.8,
"swing_percent": 50.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.4439,
"command_and_miss": 0.7189,
"regression_edge": -1.8857,
"xwoba_edge": 2.1857,
"barrel_edge": 0.0778,
"hard_hit_edge": -0.2143,
"whiff_edge": 0.5643,
"bb_edge": 0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656641",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3631,
"sample_weight": 0.45,
"run_prevention_factor": 0.9691,
"strikeout_factor": 1.0248,
"walk_factor": 0.9721,
"homer_factor": 0.9716,
"woba_minus_xwoba": -0.066,
"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": 38,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 38,
"gp_value": 29.0,
"gp_rank": 109,
"gs_value": 1.0,
"gs_rank": 247,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.4594,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 14.0,
"sv_rank": 10,
"hld_value": 2.0,
"hld_rank": 169,
"ip_value": 37.0,
"ip_rank": 195,
"h_value": 15.0,
"h_rank": 431,
"er_value": 6.0,
"er_rank": 481,
"hr_value": 2.0,
"hr_rank": 356,
"bb_value": 8.0,
"bb_rank": 386,
"k_value": 38.0,
"k_rank": 193,
"k_per_9_value": 9.243243,
"k_per_9_rank": 26,
"whip_value": 0.6216,
"whip_rank": null,
"war_value": 1.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9861,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9861,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9872,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0112,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.1,
"ER": 1,
"H": 6,
"BB": 3,
"SO": 17,
"HR": 1,
"ERA": 0.6749999999999999,
"WHIP": 0.6749999999999999,
"K9": 11.475,
"HR9": 0.6749999999999999,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "656641",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.326,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5943,
"prior_weight": 0.4057
},
"role": "pitcher",
"player_id": "656641",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 94.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 4.8,
"Pitches": 18.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.28571,
"BB_per_IP": 0.14286,
"SO_per_IP": 1.14286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 17.0,
"HR": 1.0,
"BF": 48.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.3,
"SO": 1.7,
"HR": 0.1,
"BF": 4.8,
"Pitches": 18.5
},
"rates": {
"ERA": 0.675,
"WHIP": 0.675,
"ER_per_IP": 0.075,
"H_per_IP": 0.45,
"BB_per_IP": 0.225,
"SO_per_IP": 1.275,
"HR_per_IP": 0.075
}
},
"season": {
"games": 28,
"totals": {
"IP": 37.0,
"ER": 3.0,
"R": 3.0,
"H": 12.0,
"BB": 7.0,
"SO": 38.0,
"HR": 2.0,
"BF": 130.0,
"Pitches": 542.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1071,
"R": 0.1071,
"H": 0.4286,
"BB": 0.25,
"SO": 1.3571,
"HR": 0.0714,
"BF": 4.6429,
"Pitches": 19.3571
},
"rates": {
"ERA": 0.7297,
"WHIP": 0.5135,
"ER_per_IP": 0.08108,
"H_per_IP": 0.32432,
"BB_per_IP": 0.18919,
"SO_per_IP": 1.02703,
"HR_per_IP": 0.05405
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.304,
"predicted_H": 0.802,
"predicted_BB": 0.338,
"predicted_SO": 1.436,
"predicted_HR": 0.108,
"predicted_ERA": 2.0515,
"predicted_WHIP": 0.8555
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5214,
"form_weight": 0.4786,
"form_reliability": 0.5943,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.326,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5943,
"prior_weight": 0.4057
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.304,
"final": 0.1455,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.802,
"final": 0.3838,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.338,
"final": 1.2046,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.436,
"final": 1.7301,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.108,
"final": 0.0517,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0515,
"final": 2.0515,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8555,
"final": 0.8555,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jakob Junis |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0218 |
| ESPN Rank | 107 |
| 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.2041 |
| Season WHIP | 0.9490 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"opponent": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"edges": {
"quality_edge": -0.0332,
"offense_edge": -0.0965,
"opponent_offense_edge": -0.0813,
"defense_strength": 0.076,
"opponent_defense_weakness": -0.0649,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0042,
"run_prevention": 0.9811,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596001",
"profile": {
"available": true,
"pitcher_id": "596001",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 86.0,
"k_percent": 17.7,
"bb_percent": 4.6,
"woba": 0.24,
"xwoba": 0.305,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 33.7,
"avg_best_speed": 75.5027,
"avg_hyper_speed": 93.0018,
"whiff_percent": 18.1,
"swing_percent": 47.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.6429,
"command_and_miss": -0.4839,
"regression_edge": -1.8571,
"xwoba_edge": 0.2714,
"barrel_edge": 0.6778,
"hard_hit_edge": 0.6571,
"whiff_edge": -1.1071,
"bb_edge": 1.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "596001",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0218,
"sample_weight": 0.45,
"run_prevention_factor": 0.9981,
"strikeout_factor": 0.9672,
"walk_factor": 0.9595,
"homer_factor": 0.9601,
"woba_minus_xwoba": -0.065,
"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": 107,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 107,
"gp_value": 28.0,
"gp_rank": 119,
"gs_value": 1.0,
"gs_rank": 247,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 2.204,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 1.0,
"l_rank": 294,
"sv_value": 5.0,
"sv_rank": 31,
"hld_value": 9.0,
"hld_rank": 38,
"ip_value": 32.2,
"ip_rank": 249,
"h_value": 25.0,
"h_rank": 287,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 6.0,
"bb_rank": 452,
"k_value": 23.0,
"k_rank": 346,
"k_per_9_value": 6.336735,
"k_per_9_rank": 37,
"whip_value": 0.9489,
"whip_rank": null,
"war_value": 0.95,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9818,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.982,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9852,
"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": 4,
"H": 15,
"BB": 1,
"SO": 14,
"HR": 1,
"ERA": 3.085714285714286,
"WHIP": 1.3714285714285714,
"K9": 10.8,
"HR9": 0.7714285714285715,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "596001",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.468,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"role": "pitcher",
"player_id": "596001",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 3.0,
"R": 3.0,
"H": 9.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 28.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.6,
"H": 1.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 5.6,
"Pitches": 20.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.6667,
"ER_per_IP": 0.5,
"H_per_IP": 1.5,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 4.0,
"R": 4.0,
"H": 15.0,
"BB": 1.0,
"SO": 14.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 187.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.5,
"BB": 0.1,
"SO": 1.4,
"HR": 0.1,
"BF": 5.1,
"Pitches": 18.7
},
"rates": {
"ERA": 3.0857,
"WHIP": 1.3714,
"ER_per_IP": 0.34286,
"H_per_IP": 1.28571,
"BB_per_IP": 0.08571,
"SO_per_IP": 1.2,
"HR_per_IP": 0.08571
}
},
"season": {
"games": 28,
"totals": {
"IP": 32.2,
"ER": 8.0,
"R": 8.0,
"H": 25.0,
"BB": 6.0,
"SO": 23.0,
"HR": 1.0,
"BF": 130.0,
"Pitches": 460.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2857,
"R": 0.2857,
"H": 0.8929,
"BB": 0.2143,
"SO": 0.8214,
"HR": 0.0357,
"BF": 4.6429,
"Pitches": 16.4286
},
"rates": {
"ERA": 2.2041,
"WHIP": 0.949,
"ER_per_IP": 0.2449,
"H_per_IP": 0.76531,
"BB_per_IP": 0.18367,
"SO_per_IP": 0.70408,
"HR_per_IP": 0.03061
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.523,
"predicted_H": 1.358,
"predicted_BB": 0.282,
"predicted_SO": 1.168,
"predicted_HR": 0.15,
"predicted_ERA": 3.9604,
"predicted_WHIP": 1.3805
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5342,
"form_weight": 0.4658,
"form_reliability": 0.564,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.468,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.523,
"final": 0.2436,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.358,
"final": 1.1668,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.282,
"final": 0.1314,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.168,
"final": 1.0783,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.15,
"final": 0.0699,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9604,
"final": 3.9604,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3805,
"final": 1.3805,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Peyton Gray |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1514 |
| ESPN Rank | 537 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.4177 |
| Season WHIP | 1.0633 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"opponent": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"edges": {
"quality_edge": -0.0332,
"offense_edge": -0.0965,
"opponent_offense_edge": -0.0813,
"defense_strength": 0.076,
"opponent_defense_weakness": -0.0649,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0042,
"run_prevention": 0.9811,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682608",
"profile": {
"available": true,
"pitcher_id": "682608",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 68.0,
"k_percent": 25.0,
"bb_percent": 6.3,
"woba": 0.263,
"xwoba": 0.287,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 36.0,
"avg_best_speed": 77.0069,
"avg_hyper_speed": 93.3556,
"whiff_percent": 25.6,
"swing_percent": 49.5
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.5954,
"command_and_miss": 0.2754,
"regression_edge": -0.6857,
"xwoba_edge": 0.7857,
"barrel_edge": -0.2111,
"hard_hit_edge": 0.3286,
"whiff_edge": -0.0357,
"bb_edge": 0.7,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682608",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1514,
"sample_weight": 0.45,
"run_prevention_factor": 0.9871,
"strikeout_factor": 1.0053,
"walk_factor": 0.9748,
"homer_factor": 0.9911,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682608",
"espn_id": 4187628,
"player_name": "Peyton Gray",
"team": "TEX",
"role": "pitcher",
"espn_rank": 537,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 537,
"gp_value": 20.0,
"gp_rank": 199,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.4177,
"era_rank": null,
"w_value": 2.0,
"w_rank": 198,
"l_value": 0.0,
"l_rank": 444,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 3.0,
"hld_rank": 147,
"ip_value": 26.1,
"ip_rank": 333,
"h_value": 21.0,
"h_rank": 344,
"er_value": 10.0,
"er_rank": 351,
"hr_value": 3.0,
"hr_rank": 288,
"bb_value": 7.0,
"bb_rank": 417,
"k_value": 28.0,
"k_rank": 297,
"k_per_9_value": 9.56962,
"k_per_9_rank": 24,
"whip_value": 1.0632,
"whip_rank": null,
"war_value": -0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9942,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9942,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9887,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0024,
"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": 6,
"BB": 0,
"SO": 13,
"HR": 2,
"ERA": 3.4838709677419355,
"WHIP": 0.5806451612903225,
"K9": 11.32258064516129,
"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-06-21T00:00:00"
}{
"available": false,
"pitcher_id": "682608",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.214,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5105,
"prior_weight": 0.4895
},
"role": "pitcher",
"player_id": "682608",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 0.0,
"SO": 7.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.0,
"SO": 1.4,
"HR": 0.2,
"BF": 3.6,
"Pitches": 12.8
},
"rates": {
"ERA": 3.6,
"WHIP": 0.4,
"ER_per_IP": 0.4,
"H_per_IP": 0.4,
"BB_per_IP": 0.0,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 0.0,
"SO": 13.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 146.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.0,
"SO": 1.3,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.6
},
"rates": {
"ERA": 3.4839,
"WHIP": 0.5806,
"ER_per_IP": 0.3871,
"H_per_IP": 0.58065,
"BB_per_IP": 0.0,
"SO_per_IP": 1.25806,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 20,
"totals": {
"IP": 26.1,
"ER": 10.0,
"R": 14.0,
"H": 21.0,
"BB": 7.0,
"SO": 28.0,
"HR": 3.0,
"BF": 112.0,
"Pitches": 426.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 0.7,
"H": 1.05,
"BB": 0.35,
"SO": 1.4,
"HR": 0.15,
"BF": 5.6,
"Pitches": 21.3
},
"rates": {
"ERA": 3.4177,
"WHIP": 1.0633,
"ER_per_IP": 0.37975,
"H_per_IP": 0.79747,
"BB_per_IP": 0.26582,
"SO_per_IP": 1.06329,
"HR_per_IP": 0.11392
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.46,
"predicted_H": 0.777,
"predicted_BB": 0.21,
"predicted_SO": 1.157,
"predicted_HR": 0.169,
"predicted_ERA": 3.9996,
"predicted_WHIP": 0.955
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5568,
"form_weight": 0.4432,
"form_reliability": 0.5105,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.214,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5105,
"prior_weight": 0.4895
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.46,
"final": 0.2039,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.777,
"final": 0.3444,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.21,
"final": 0.0931,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.157,
"final": 0.5128,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.169,
"final": 0.0749,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9996,
"final": 3.9996,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.955,
"final": 0.955,
"source": "form_only"
}
}
}{
"available": false,
"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.095 | 1.000 | 0.000 | Hitting_2B | 0.116 | 0.000 | 0.884 | 1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 2.851 | 5.000 | 3.000 | Hitting_AB | 3.017 | 4.000 | 1.983 | 1.000 |
| predicted_AVG | 0.241 | 0.200 | 0.333 | Hitting_AVG | 0.258 | 0.250 | -0.058 | -0.050 |
| predicted_BB | 0.392 | 0.000 | 0.000 | Hitting_BB | 0.470 | 0.000 | -0.470 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.340 | 1.000 | 1.000 | Hitting_H | 0.779 | 1.000 | 0.221 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.155 | 1.000 | -0.155 | -1.000 |
| predicted_OBP | 0.300 | 0.200 | 0.333 | Hitting_OBP | 0.359 | 0.250 | -0.159 | -0.050 |
| predicted_R | 0.405 | 0.000 | 0.000 | Hitting_R | 0.442 | 1.000 | -0.442 | -1.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.398 | 1.000 | -0.398 | -1.000 |
| predicted_SLG | 0.434 | 0.400 | 0.333 | Hitting_SLG | 0.458 | 1.000 | -0.058 | -0.600 |
| predicted_SO | 0.703 | 2.000 | 1.000 | Hitting_SO | 0.779 | 1.000 | 1.221 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.8510 -> 5.0000 (boost 2.1490, better) |
| Biggest Deboost | predicted_R: 0.4050 -> 0.0000 (deboost -0.4050, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 7 | 0 | 6 | 1 | predicted_H: 0.3400 -> 0.5491 (boost 0.2091, 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.4517 -> 0.3505 (deboost -0.1012, 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.5386 -> 1.0000 (boost 0.4614, better) | predicted_BB: 0.3659 -> 0.0000 (deboost -0.3659, worse) | AB rounded to 3 (raw=3.05), rates preserved: AVG=0.176 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.118) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3998 -> 0.0000 (deboost -0.3998, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1764 -> 0.3330 (boost 0.1566, better) | predicted_SLG: 0.3505 -> 0.3330 (deboost -0.0175, 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 | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3505 (boost 0.0175, better) | predicted_AVG: 0.3330 -> 0.1764 (deboost -0.1566, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592626",
"player_name": "Joc Pederson",
"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.095,
"predicted_3B": 0.027,
"predicted_AB": 2.851,
"predicted_AVG": 0.241,
"predicted_BB": 0.392,
"predicted_H": 0.34,
"predicted_HR": 0.08,
"predicted_OBP": 0.3,
"predicted_R": 0.405,
"predicted_RBI": 0.19,
"predicted_SLG": 0.434,
"predicted_SO": 0.703
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0875,
"predicted_3B": 0.0232,
"predicted_AB": 3.0534,
"predicted_AVG": 0.2456,
"predicted_BB": 0.3677,
"predicted_H": 0.5491,
"predicted_HBP": 0.045,
"predicted_HR": 0.1352,
"predicted_OBP": 0.3109,
"predicted_R": 0.4125,
"predicted_RBI": 0.2774,
"predicted_SLG": 0.4517,
"predicted_SO": 0.7544
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0875,
"delta": -0.0075,
"percent_delta": -0.0789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0232,
"delta": -0.0038,
"percent_delta": -0.1407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.851,
"after": 3.0534,
"delta": 0.2024,
"percent_delta": 0.071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2456,
"delta": 0.0046,
"percent_delta": 0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.392,
"after": 0.3677,
"delta": -0.0243,
"percent_delta": -0.062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 0.5491,
"delta": 0.2091,
"percent_delta": 0.615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1352,
"delta": 0.0552,
"percent_delta": 0.69,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.3109,
"delta": 0.0109,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.4125,
"delta": 0.0075,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.2774,
"delta": 0.0874,
"percent_delta": 0.46,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4517,
"delta": 0.0177,
"percent_delta": 0.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 0.7544,
"delta": 0.0514,
"percent_delta": 0.0731,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.34,
"after": 0.5491,
"delta": 0.2091,
"percent_delta": 0.615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0875,
"predicted_3B": 0.0232,
"predicted_AB": 3.0534,
"predicted_AVG": 0.1764,
"predicted_BB": 0.3659,
"predicted_H": 0.5386,
"predicted_HBP": 0.045,
"predicted_HR": 0.1325,
"predicted_OBP": 0.2645,
"predicted_R": 0.3998,
"predicted_RBI": 0.2688,
"predicted_SLG": 0.3505,
"predicted_SO": 0.7581
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0875,
"after": 0.0875,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0534,
"after": 3.0534,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2456,
"after": 0.1764,
"delta": -0.0692,
"percent_delta": -0.2818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3677,
"after": 0.3659,
"delta": -0.0018,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5491,
"after": 0.5386,
"delta": -0.0105,
"percent_delta": -0.0191,
"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.1352,
"after": 0.1325,
"delta": -0.0027,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3109,
"after": 0.2645,
"delta": -0.0464,
"percent_delta": -0.1492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4125,
"after": 0.3998,
"delta": -0.0127,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2774,
"after": 0.2688,
"delta": -0.0086,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4517,
"after": 0.3505,
"delta": -0.1012,
"percent_delta": -0.224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7544,
"after": 0.7581,
"delta": 0.0037,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4517,
"after": 0.3505,
"delta": -0.1012,
"percent_delta": -0.224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.05), rates preserved: AVG=0.176 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0875,
"after": 0.0,
"delta": -0.0875,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0,
"delta": -0.0232,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0534,
"after": 3.0,
"delta": -0.0534,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3659,
"after": 0.0,
"delta": -0.3659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5386,
"after": 1.0,
"delta": 0.4614,
"percent_delta": 0.8567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1325,
"after": 0.0,
"delta": -0.1325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2688,
"after": 0.0,
"delta": -0.2688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7581,
"after": 1.0,
"delta": 0.2419,
"percent_delta": 0.3191,
"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.5386,
"after": 1.0,
"delta": 0.4614,
"percent_delta": 0.8567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3659,
"after": 0.0,
"delta": -0.3659,
"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.118)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8553,
"bvp": 0.1447
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3998,
"after": 0.0,
"delta": -0.3998,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3998,
"after": 0.0,
"delta": -0.3998,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1764,
"after": 0.333,
"delta": 0.1566,
"percent_delta": 0.8878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2645,
"after": 0.333,
"delta": 0.0685,
"percent_delta": 0.259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3505,
"after": 0.333,
"delta": -0.0175,
"percent_delta": -0.0499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1764,
"after": 0.333,
"delta": 0.1566,
"percent_delta": 0.8878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3505,
"after": 0.333,
"delta": -0.0175,
"percent_delta": -0.0499,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.1764,
"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.2645,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3505,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1764,
"delta": -0.1566,
"percent_delta": -0.4703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2645,
"delta": -0.0685,
"percent_delta": -0.2057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3505,
"delta": 0.0175,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3505,
"delta": 0.0175,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1764,
"delta": -0.1566,
"percent_delta": -0.4703,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.905,
"percent_delta": 9.5263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.851,
"after": 5.0,
"delta": 2.149,
"percent_delta": 0.7538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.1764,
"delta": -0.0646,
"percent_delta": -0.268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"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.3,
"after": 0.2645,
"delta": -0.0355,
"percent_delta": -0.1183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.3505,
"delta": -0.0835,
"percent_delta": -0.1924,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 2.0,
"delta": 1.297,
"percent_delta": 1.845,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.851,
"after": 5.0,
"delta": 2.149,
"percent_delta": 0.7538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.095 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 2.851 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.392 | - |
| predicted_H | 0.340 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.434 | - |
| predicted_SO | 0.703 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.087 | -0.008 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.053 | 0.202 |
| predicted_AVG | 0.246 | 0.005 |
| predicted_BB | 0.368 | -0.024 |
| predicted_H | 0.549 | 0.209 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.135 | 0.055 |
| predicted_OBP | 0.311 | 0.011 |
| predicted_R | 0.412 | 0.007 |
| predicted_RBI | 0.277 | 0.087 |
| predicted_SLG | 0.452 | 0.018 |
| predicted_SO | 0.754 | 0.051 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.087 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.053 | 0.000 |
| predicted_AVG | 0.176 | -0.069 |
| predicted_BB | 0.366 | -0.002 |
| predicted_H | 0.539 | -0.011 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.133 | -0.003 |
| predicted_OBP | 0.265 | -0.046 |
| predicted_R | 0.400 | -0.013 |
| predicted_RBI | 0.269 | -0.009 |
| predicted_SLG | 0.350 | -0.101 |
| predicted_SO | 0.758 | 0.004 |
AB rounded to 3 (raw=3.05), rates preserved: AVG=0.176 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.118)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.087 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.053 |
| predicted_AVG | 0.333 | 0.157 |
| predicted_BB | 0.000 | -0.366 |
| predicted_H | 1.000 | 0.461 |
| predicted_HR | 0.000 | -0.133 |
| predicted_OBP | 0.333 | 0.069 |
| predicted_R | 0.000 | -0.400 |
| predicted_RBI | 0.000 | -0.269 |
| predicted_SLG | 0.333 | -0.017 |
| predicted_SO | 1.000 | 0.242 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 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 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 1.000 | 5.000 | 0.2857 | 0.3182 | 0.5714 | 0.2857 | 0.0952 | 0.0952 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 10 | - | 36.000 | 9.000 | 0.000 | 0.000 | 3.000 | 4.000 | 4.000 | 2.000 | 10.000 | 0.2500 | 0.3077 | 0.5000 | 0.2500 | 0.0833 | 0.1111 | 0.0556 | 0.2778 |
| season | 0.60 | 74 | - | 211.000 | 51.000 | 7.000 | 2.000 | 11.000 | 27.000 | 30.000 | 29.000 | 52.000 | 0.2417 | 0.3374 | 0.4502 | 0.2417 | 0.0521 | 0.1280 | 0.1374 | 0.2465 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0770 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.3350 |
| predicted_AVG | 0.2520 |
| predicted_BB | 0.3340 |
| predicted_H | 0.8400 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.2120 |
| predicted_OBP | 0.3261 |
| predicted_R | 0.4230 |
| predicted_RBI | 0.3990 |
| predicted_SLG | 0.4763 |
| predicted_SO | 0.8260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.0770 | 0.0875 | model_form_blend |
| predicted_3B | 0.0270 | 0.0180 | 0.0232 | model_form_blend |
| predicted_AB | 2.8510 | 3.3350 | 3.0534 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2520 | 0.2456 | model_form_blend |
| predicted_BB | 0.3920 | 0.3340 | 0.3677 | model_form_blend |
| predicted_H | 0.3400 | 0.8400 | 0.5491 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.0800 | 0.2120 | 0.1352 | model_form_blend |
| predicted_OBP | 0.3000 | 0.3261 | 0.3109 | model_form_blend |
| predicted_R | 0.4050 | 0.4230 | 0.4125 | model_form_blend |
| predicted_RBI | 0.1900 | 0.3990 | 0.2774 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4763 | 0.4517 | model_form_blend |
| predicted_SO | 0.7030 | 0.8260 | 0.7544 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 181 |
| Season rows before report date | 181 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 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 | 20260624_TEX@MIA |
| game_type | full |
| mlbID | 592626 |
| playerID | 592626 |
| playerName | Joc Pederson |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-24 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.344 |
| sl_xwoba | 0.347 |
| sl_xba | 0.253 |
| sl_xslg | 0.426 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 48.1 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 45.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.244 | 1.000 | 0.000 | Hitting_2B | 0.201 | 0.000 | 0.799 | 1.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 4.170 | 4.000 | 4.000 | Hitting_AB | 3.961 | 4.000 | 0.039 | 0.000 |
| predicted_AVG | 0.259 | 0.250 | 0.250 | Hitting_AVG | 0.265 | 0.000 | -0.015 | 0.250 |
| predicted_BB | 0.321 | 0.000 | 0.000 | Hitting_BB | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 1.080 | 1.000 | 1.000 | Hitting_H | 1.050 | 0.000 | -0.050 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_OBP | 0.339 | 0.250 | 0.250 | Hitting_OBP | 0.343 | 0.000 | -0.093 | 0.250 |
| predicted_R | 0.410 | 1.000 | 0.000 | Hitting_R | 0.436 | 0.000 | 0.564 | 1.000 |
| predicted_RBI | 0.450 | 2.000 | 0.000 | Hitting_RBI | 0.382 | 0.000 | 1.618 | 2.000 |
| predicted_SLG | 0.471 | 0.500 | 0.250 | Hitting_SLG | 0.423 | 0.000 | 0.077 | 0.500 |
| predicted_SO | 0.885 | 0.000 | 1.000 | Hitting_SO | 0.911 | 1.000 | -0.911 | -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_RBI: 0.4500 -> 2.0000 (boost 1.5500, better) |
| Biggest Deboost | predicted_SO: 0.8850 -> 0.0000 (deboost -0.8850, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.0800 -> 1.1362 (boost 0.0562, better) | predicted_AB: 4.1700 -> 4.1048 (deboost -0.0652, worse) | Final model input calibrated with local 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.4848 -> 0.4570 (deboost -0.0278, 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.8910 -> 1.0000 (boost 0.1090, worse) | predicted_RBI: 0.4171 -> 0.0000 (deboost -0.4171, worse) | AB rounded to 4 (raw=4.17), rates preserved: AVG=0.267 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 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4138 -> 0.0000 (deboost -0.4138, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4570 -> 0.2500 (deboost -0.2070, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4570 (boost 0.2070, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.244,
"predicted_3B": 0.038,
"predicted_AB": 4.17,
"predicted_AVG": 0.259,
"predicted_BB": 0.321,
"predicted_H": 1.08,
"predicted_HR": 0.14,
"predicted_OBP": 0.339,
"predicted_R": 0.41,
"predicted_RBI": 0.45,
"predicted_SLG": 0.471,
"predicted_SO": 0.885
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2649,
"predicted_3B": 0.0538,
"predicted_AB": 4.1048,
"predicted_AVG": 0.2772,
"predicted_BB": 0.295,
"predicted_H": 1.1362,
"predicted_HBP": 0.047,
"predicted_HR": 0.1323,
"predicted_OBP": 0.3442,
"predicted_R": 0.427,
"predicted_RBI": 0.4304,
"predicted_SLG": 0.4848,
"predicted_SO": 0.8867
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.244,
"after": 0.2649,
"delta": 0.0209,
"percent_delta": 0.0857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0538,
"delta": 0.0158,
"percent_delta": 0.4158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 4.1048,
"delta": -0.0652,
"percent_delta": -0.0156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2772,
"delta": 0.0182,
"percent_delta": 0.0703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.295,
"delta": -0.026,
"percent_delta": -0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.1362,
"delta": 0.0562,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1323,
"delta": -0.0077,
"percent_delta": -0.055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3442,
"delta": 0.0052,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.427,
"delta": 0.017,
"percent_delta": 0.0415,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4304,
"delta": -0.0196,
"percent_delta": -0.0436,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4848,
"delta": 0.0138,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.885,
"after": 0.8867,
"delta": 0.0017,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.08,
"after": 1.1362,
"delta": 0.0562,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.17,
"after": 4.1048,
"delta": -0.0652,
"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": 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.2649,
"predicted_3B": 0.0538,
"predicted_AB": 4.1048,
"predicted_AVG": 0.2715,
"predicted_BB": 0.2936,
"predicted_H": 1.1144,
"predicted_HBP": 0.047,
"predicted_HR": 0.1297,
"predicted_OBP": 0.3201,
"predicted_R": 0.4138,
"predicted_RBI": 0.4171,
"predicted_SLG": 0.457,
"predicted_SO": 0.891
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2649,
"after": 0.2649,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0538,
"after": 0.0538,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1048,
"after": 4.1048,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2772,
"after": 0.2715,
"delta": -0.0057,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.295,
"after": 0.2936,
"delta": -0.0014,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1362,
"after": 1.1144,
"delta": -0.0218,
"percent_delta": -0.0192,
"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.1323,
"after": 0.1297,
"delta": -0.0026,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3442,
"after": 0.3201,
"delta": -0.0241,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.4138,
"delta": -0.0132,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4304,
"after": 0.4171,
"delta": -0.0133,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4848,
"after": 0.457,
"delta": -0.0278,
"percent_delta": -0.0573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8867,
"after": 0.891,
"delta": 0.0043,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4848,
"after": 0.457,
"delta": -0.0278,
"percent_delta": -0.0573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.17), rates preserved: AVG=0.267 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.2649,
"after": 0.0,
"delta": -0.2649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0538,
"after": 0.0,
"delta": -0.0538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.1048,
"after": 4.0,
"delta": -0.1048,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2936,
"after": 0.0,
"delta": -0.2936,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1144,
"after": 1.0,
"delta": -0.1144,
"percent_delta": -0.1027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1297,
"after": 0.0,
"delta": -0.1297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4171,
"after": 0.0,
"delta": -0.4171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.891,
"after": 1.0,
"delta": 0.109,
"percent_delta": 0.1223,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.891,
"after": 1.0,
"delta": 0.109,
"percent_delta": 0.1223,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4171,
"after": 0.0,
"delta": -0.4171,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4138,
"after": 0.0,
"delta": -0.4138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4138,
"after": 0.0,
"delta": -0.4138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2715,
"after": 0.25,
"delta": -0.0215,
"percent_delta": -0.0792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3201,
"after": 0.25,
"delta": -0.0701,
"percent_delta": -0.219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.25,
"delta": -0.207,
"percent_delta": -0.453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.457,
"after": 0.25,
"delta": -0.207,
"percent_delta": -0.453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2715,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3201,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.457,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2715,
"delta": 0.0215,
"percent_delta": 0.0859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3201,
"delta": 0.0701,
"percent_delta": 0.2804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.457,
"delta": 0.207,
"percent_delta": 0.8281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.457,
"delta": 0.207,
"percent_delta": 0.8281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.244,
"after": 1.0,
"delta": 0.756,
"percent_delta": 3.0984,
"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": 4.17,
"after": 4.0,
"delta": -0.17,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2715,
"delta": 0.0125,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.0,
"delta": -0.08,
"percent_delta": -0.0741,
"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.339,
"after": 0.3201,
"delta": -0.0189,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.457,
"delta": -0.014,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.885,
"after": 0.0,
"delta": -0.885,
"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": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.885,
"after": 0.0,
"delta": -0.885,
"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.244 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 4.170 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.321 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.410 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.885 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.265 | 0.021 |
| predicted_3B | 0.054 | 0.016 |
| predicted_AB | 4.105 | -0.065 |
| predicted_AVG | 0.277 | 0.018 |
| predicted_BB | 0.295 | -0.026 |
| predicted_H | 1.136 | 0.056 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.132 | -0.008 |
| predicted_OBP | 0.344 | 0.005 |
| predicted_R | 0.427 | 0.017 |
| predicted_RBI | 0.430 | -0.020 |
| predicted_SLG | 0.485 | 0.014 |
| predicted_SO | 0.887 | 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.265 | 0.000 |
| predicted_3B | 0.054 | 0.000 |
| predicted_AB | 4.105 | 0.000 |
| predicted_AVG | 0.272 | -0.006 |
| predicted_BB | 0.294 | -0.001 |
| predicted_H | 1.114 | -0.022 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.130 | -0.003 |
| predicted_OBP | 0.320 | -0.024 |
| predicted_R | 0.414 | -0.013 |
| predicted_RBI | 0.417 | -0.013 |
| predicted_SLG | 0.457 | -0.028 |
| predicted_SO | 0.891 | 0.004 |
AB rounded to 4 (raw=4.17), rates preserved: AVG=0.267 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.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 | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.265 |
| predicted_3B | 0.000 | -0.054 |
| predicted_AB | 4.000 | -0.105 |
| predicted_AVG | 0.250 | -0.022 |
| predicted_BB | 0.000 | -0.294 |
| predicted_H | 1.000 | -0.114 |
| predicted_HR | 0.000 | -0.130 |
| predicted_OBP | 0.250 | -0.070 |
| predicted_R | 0.000 | -0.414 |
| predicted_RBI | 0.000 | -0.417 |
| predicted_SLG | 0.250 | -0.207 |
| predicted_SO | 1.000 | 0.109 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 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 | - | 21.000 | 8.000 | 1.000 | 1.000 | 1.000 | 2.000 | 3.000 | 1.000 | 5.000 | 0.3810 | 0.4091 | 0.6667 | 0.3810 | 0.0476 | 0.0952 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 10 | - | 43.000 | 15.000 | 6.000 | 1.000 | 1.000 | 5.000 | 4.000 | 1.000 | 8.000 | 0.3488 | 0.3636 | 0.6047 | 0.3488 | 0.0233 | 0.1163 | 0.0233 | 0.1860 |
| season | 0.60 | 78 | - | 303.000 | 81.000 | 19.000 | 3.000 | 8.000 | 28.000 | 32.000 | 25.000 | 69.000 | 0.2673 | 0.3333 | 0.4290 | 0.2673 | 0.0264 | 0.0924 | 0.0825 | 0.2277 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2930 |
| predicted_3B | 0.0750 |
| predicted_AB | 4.0170 |
| predicted_AVG | 0.3018 |
| predicted_BB | 0.2600 |
| predicted_H | 1.2120 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.3511 |
| predicted_R | 0.4500 |
| predicted_RBI | 0.4040 |
| predicted_SLG | 0.5033 |
| predicted_SO | 0.8890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2440 | 0.2930 | 0.2649 | model_form_blend |
| predicted_3B | 0.0380 | 0.0750 | 0.0538 | model_form_blend |
| predicted_AB | 4.1700 | 4.0170 | 4.1048 | model_form_blend |
| predicted_AVG | 0.2590 | 0.3018 | 0.2772 | model_form_blend |
| predicted_BB | 0.3210 | 0.2600 | 0.2950 | model_form_blend |
| predicted_H | 1.0800 | 1.2120 | 1.1362 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.1400 | 0.1220 | 0.1323 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3511 | 0.3442 | model_form_blend |
| predicted_R | 0.4100 | 0.4500 | 0.4270 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4040 | 0.4304 | model_form_blend |
| predicted_SLG | 0.4710 | 0.5033 | 0.4848 | model_form_blend |
| predicted_SO | 0.8850 | 0.8890 | 0.8867 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_TEX@MIA |
| game_type | full |
| mlbID | 607043 |
| playerID | 607043 |
| playerName | Brandon Nimmo |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-24 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.334 |
| sl_xwoba | 0.381 |
| sl_xba | 0.295 |
| sl_xslg | 0.526 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 53.0 |
| sl_exit_velocity_avg | 92.6 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 50.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.184 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.053 | 0.000 | 0.000 | Hitting_3B | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_AB | 4.520 | 3.000 | 5.000 | Hitting_AB | 4.157 | 4.000 | -1.157 | -1.000 |
| predicted_AVG | 0.250 | 0.333 | 0.200 | Hitting_AVG | 0.255 | 0.500 | 0.079 | -0.167 |
| predicted_BB | 0.263 | 0.000 | 0.000 | Hitting_BB | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.130 | 1.000 | 1.000 | Hitting_H | 1.059 | 2.000 | -0.059 | -1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.088 | 1.000 | -0.088 | -1.000 |
| predicted_OBP | 0.342 | 0.250 | 0.200 | Hitting_OBP | 0.293 | 0.500 | -0.043 | -0.250 |
| predicted_R | 0.553 | 1.000 | 1.000 | Hitting_R | 0.520 | 1.000 | 0.480 | 0.000 |
| predicted_RBI | 0.650 | 1.000 | 1.000 | Hitting_RBI | 0.294 | 1.000 | 0.706 | 0.000 |
| predicted_SLG | 0.496 | 0.333 | 0.200 | Hitting_SLG | 0.401 | 1.250 | -0.068 | -0.917 |
| predicted_SO | 0.947 | 1.000 | 1.000 | Hitting_SO | 0.971 | 0.000 | 0.029 | 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_R: 0.5530 -> 1.0000 (boost 0.4470, better) |
| Biggest Deboost | predicted_AB: 4.5200 -> 3.0000 (deboost -1.5200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4960 -> 0.5204 (boost 0.0244, better) | predicted_AB: 4.5200 -> 4.3011 (deboost -0.2189, worse) | Final model input calibrated with local 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.3473 -> 0.3068 (deboost -0.0405, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_AB: 4.3011 -> 5.0000 (boost 0.6989, better) | predicted_BB: 0.2822 -> 0.0000 (deboost -0.2822, worse) | AB rounded to 5 (raw=4.52), rates preserved: AVG=0.249 HR/AB=0.053 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5520 -> 1.0000 (boost 0.4480, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4917 -> 0.2000 (deboost -0.2917, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 1 | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) | 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.2000 -> 0.4917 (boost 0.2917, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694671",
"player_name": "Wyatt Langford",
"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.184,
"predicted_3B": 0.053,
"predicted_AB": 4.52,
"predicted_AVG": 0.25,
"predicted_BB": 0.263,
"predicted_H": 1.13,
"predicted_HR": 0.23,
"predicted_OBP": 0.342,
"predicted_R": 0.553,
"predicted_RBI": 0.65,
"predicted_SLG": 0.496,
"predicted_SO": 0.947
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1864,
"predicted_3B": 0.0433,
"predicted_AB": 4.3011,
"predicted_AVG": 0.2677,
"predicted_BB": 0.2836,
"predicted_H": 1.1458,
"predicted_HBP": 0.069,
"predicted_HR": 0.2442,
"predicted_OBP": 0.3473,
"predicted_R": 0.5696,
"predicted_RBI": 0.6605,
"predicted_SLG": 0.5204,
"predicted_SO": 0.9413
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.1864,
"delta": 0.0024,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.053,
"after": 0.0433,
"delta": -0.0097,
"percent_delta": -0.183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.52,
"after": 4.3011,
"delta": -0.2189,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2677,
"delta": 0.0177,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.2836,
"delta": 0.0206,
"percent_delta": 0.0783,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.1458,
"delta": 0.0158,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2442,
"delta": 0.0142,
"percent_delta": 0.0617,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3473,
"delta": 0.0053,
"percent_delta": 0.0155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.553,
"after": 0.5696,
"delta": 0.0166,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.6605,
"delta": 0.0105,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.5204,
"delta": 0.0244,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.947,
"after": 0.9413,
"delta": -0.0057,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.5204,
"delta": 0.0244,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.52,
"after": 4.3011,
"delta": -0.2189,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1864,
"predicted_3B": 0.0433,
"predicted_AB": 4.3011,
"predicted_AVG": 0.2613,
"predicted_BB": 0.2822,
"predicted_H": 1.1238,
"predicted_HBP": 0.069,
"predicted_HR": 0.2394,
"predicted_OBP": 0.3068,
"predicted_R": 0.552,
"predicted_RBI": 0.6401,
"predicted_SLG": 0.4917,
"predicted_SO": 0.9459
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1864,
"after": 0.1864,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0433,
"after": 0.0433,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3011,
"after": 4.3011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2677,
"after": 0.2613,
"delta": -0.0064,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2836,
"after": 0.2822,
"delta": -0.0014,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1458,
"after": 1.1238,
"delta": -0.022,
"percent_delta": -0.0192,
"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.2442,
"after": 0.2394,
"delta": -0.0048,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3473,
"after": 0.3068,
"delta": -0.0405,
"percent_delta": -0.1166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5696,
"after": 0.552,
"delta": -0.0176,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6605,
"after": 0.6401,
"delta": -0.0204,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5204,
"after": 0.4917,
"delta": -0.0287,
"percent_delta": -0.0551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9413,
"after": 0.9459,
"delta": 0.0046,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3473,
"after": 0.3068,
"delta": -0.0405,
"percent_delta": -0.1166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.52), rates preserved: AVG=0.249 HR/AB=0.053",
"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.1864,
"after": 0.0,
"delta": -0.1864,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0433,
"after": 0.0,
"delta": -0.0433,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3011,
"after": 5.0,
"delta": 0.6989,
"percent_delta": 0.1625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2822,
"after": 0.0,
"delta": -0.2822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1238,
"after": 1.0,
"delta": -0.1238,
"percent_delta": -0.1102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2394,
"after": 0.0,
"delta": -0.2394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6401,
"after": 1.0,
"delta": 0.3599,
"percent_delta": 0.5623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9459,
"after": 1.0,
"delta": 0.0541,
"percent_delta": 0.0572,
"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": 4.3011,
"after": 5.0,
"delta": 0.6989,
"percent_delta": 0.1625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2822,
"after": 0.0,
"delta": -0.2822,
"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": 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.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.552,
"after": 1.0,
"delta": 0.448,
"percent_delta": 0.8116,
"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.552,
"after": 1.0,
"delta": 0.448,
"percent_delta": 0.8116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2613,
"after": 0.2,
"delta": -0.0613,
"percent_delta": -0.2346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3068,
"after": 0.2,
"delta": -0.1068,
"percent_delta": -0.3481,
"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.4917,
"after": 0.2,
"delta": -0.2917,
"percent_delta": -0.5932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4917,
"after": 0.2,
"delta": -0.2917,
"percent_delta": -0.5932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"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_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.2613,
"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.3068,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4917,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2613,
"delta": 0.0613,
"percent_delta": 0.3064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.3068,
"delta": 0.1068,
"percent_delta": 0.5338,
"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.2,
"after": 0.4917,
"delta": 0.2917,
"percent_delta": 1.4586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4917,
"delta": 0.2917,
"percent_delta": 1.4586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.0,
"delta": -0.184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.52,
"after": 3.0,
"delta": -1.52,
"percent_delta": -0.3363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2613,
"delta": 0.0113,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0,
"delta": -0.13,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3068,
"delta": -0.0352,
"percent_delta": -0.1029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.553,
"after": 1.0,
"delta": 0.447,
"percent_delta": 0.8083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4917,
"delta": -0.0043,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.947,
"after": 1.0,
"delta": 0.053,
"percent_delta": 0.056,
"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_R",
"before": 0.553,
"after": 1.0,
"delta": 0.447,
"percent_delta": 0.8083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.52,
"after": 3.0,
"delta": -1.52,
"percent_delta": -0.3363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | - |
| predicted_3B | 0.053 | - |
| predicted_AB | 4.520 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.263 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.553 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.496 | - |
| predicted_SO | 0.947 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.186 | 0.002 |
| predicted_3B | 0.043 | -0.010 |
| predicted_AB | 4.301 | -0.219 |
| predicted_AVG | 0.268 | 0.018 |
| predicted_BB | 0.284 | 0.021 |
| predicted_H | 1.146 | 0.016 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.244 | 0.014 |
| predicted_OBP | 0.347 | 0.005 |
| predicted_R | 0.570 | 0.017 |
| predicted_RBI | 0.660 | 0.010 |
| predicted_SLG | 0.520 | 0.024 |
| predicted_SO | 0.941 | -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.186 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 4.301 | 0.000 |
| predicted_AVG | 0.261 | -0.006 |
| predicted_BB | 0.282 | -0.001 |
| predicted_H | 1.124 | -0.022 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.239 | -0.005 |
| predicted_OBP | 0.307 | -0.040 |
| predicted_R | 0.552 | -0.018 |
| predicted_RBI | 0.640 | -0.020 |
| predicted_SLG | 0.492 | -0.029 |
| predicted_SO | 0.946 | 0.005 |
AB rounded to 5 (raw=4.52), rates preserved: AVG=0.249 HR/AB=0.053
| 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=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 | 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 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.186 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 5.000 | 0.699 |
| predicted_AVG | 0.200 | -0.061 |
| predicted_BB | 0.000 | -0.282 |
| predicted_H | 1.000 | -0.124 |
| predicted_HR | 0.000 | -0.239 |
| predicted_OBP | 0.200 | -0.107 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 1.000 | 0.360 |
| predicted_SLG | 0.200 | -0.292 |
| predicted_SO | 1.000 | 0.054 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.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 | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 1.000 | 0.000 | 2.000 | 6.000 | 3.000 | 2.000 | 5.000 | 0.3500 | 0.4348 | 0.7000 | 0.3500 | 0.1000 | 0.3000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 40.000 | 14.000 | 2.000 | 0.000 | 5.000 | 10.000 | 8.000 | 4.000 | 9.000 | 0.3500 | 0.4222 | 0.7750 | 0.3500 | 0.1250 | 0.2500 | 0.1000 | 0.2250 |
| season | 0.60 | 38 | - | 152.000 | 41.000 | 7.000 | 2.000 | 7.000 | 17.000 | 21.000 | 10.000 | 36.000 | 0.2697 | 0.3190 | 0.4803 | 0.2697 | 0.0461 | 0.1118 | 0.0658 | 0.2368 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1900 |
| predicted_3B | 0.0290 |
| predicted_AB | 3.9790 |
| predicted_AVG | 0.2938 |
| predicted_BB | 0.3140 |
| predicted_H | 1.1690 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.2650 |
| predicted_OBP | 0.3551 |
| predicted_R | 0.5940 |
| predicted_RBI | 0.6760 |
| predicted_SLG | 0.5563 |
| predicted_SO | 0.9330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.1900 | 0.1864 | model_form_blend |
| predicted_3B | 0.0530 | 0.0290 | 0.0433 | model_form_blend |
| predicted_AB | 4.5200 | 3.9790 | 4.3011 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2938 | 0.2677 | model_form_blend |
| predicted_BB | 0.2630 | 0.3140 | 0.2836 | model_form_blend |
| predicted_H | 1.1300 | 1.1690 | 1.1458 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.2300 | 0.2650 | 0.2442 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3551 | 0.3473 | model_form_blend |
| predicted_R | 0.5530 | 0.5940 | 0.5696 | model_form_blend |
| predicted_RBI | 0.6500 | 0.6760 | 0.6605 | model_form_blend |
| predicted_SLG | 0.4960 | 0.5563 | 0.5204 | model_form_blend |
| predicted_SO | 0.9470 | 0.9330 | 0.9413 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 102 |
| Season rows before report date | 102 |
| Report year | 2026 |
| Profile rows used | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| 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 | CF |
| gameID | 20260624_TEX@MIA |
| game_type | full |
| mlbID | 694671 |
| playerID | 694671 |
| playerName | Wyatt Langford |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-24 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.346 |
| sl_xwoba | 0.305 |
| sl_xba | 0.242 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 15.9 |
| sl_whiff_percent | 23.3 |
| 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.128 | 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 | 4.160 | 4.000 | 4.000 | Hitting_AB | 3.749 | 4.000 | 0.251 | 0.000 |
| predicted_AVG | 0.213 | 0.250 | 0.250 | Hitting_AVG | 0.184 | 0.500 | 0.066 | -0.250 |
| predicted_BB | 0.489 | 0.000 | 0.000 | Hitting_BB | 0.551 | 0.000 | -0.551 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 1.000 | 1.000 | Hitting_H | 0.690 | 2.000 | 0.310 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.182 | 1.000 | -0.182 | -1.000 |
| predicted_OBP | 0.283 | 0.250 | 0.250 | Hitting_OBP | 0.293 | 0.500 | -0.043 | -0.250 |
| predicted_R | 0.532 | 1.000 | 1.000 | Hitting_R | 0.545 | 2.000 | 0.455 | -1.000 |
| predicted_RBI | 0.550 | 1.000 | 1.000 | Hitting_RBI | 0.497 | 1.000 | 0.503 | 0.000 |
| predicted_SLG | 0.396 | 0.250 | 0.250 | Hitting_SLG | 0.371 | 1.250 | -0.121 | -1.000 |
| predicted_SO | 1.149 | 1.000 | 1.000 | Hitting_SO | 1.182 | 0.000 | -0.182 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.5320 -> 1.0000 (boost 0.4680, better) |
| Biggest Deboost | predicted_BB: 0.4890 -> 0.0000 (deboost -0.4890, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1600 -> 4.0437 (deboost -0.1163, worse) | Final model input calibrated with local 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.3927 -> 0.3815 (deboost -0.0112, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_RBI: 0.5354 -> 1.0000 (boost 0.4646, better) | predicted_BB: 0.4369 -> 0.0000 (deboost -0.4369, worse) | AB rounded to 4 (raw=4.16), rates preserved: AVG=0.196 HR/AB=0.049 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.440) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5096 -> 1.0000 (boost 0.4904, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2019 -> 0.2500 (boost 0.0481, better) | predicted_SLG: 0.3815 -> 0.2500 (deboost -0.1315, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3815 (boost 0.1315, better) | predicted_AVG: 0.2500 -> 0.2019 (deboost -0.0481, worse) | 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.128,
"predicted_3B": 0.0,
"predicted_AB": 4.16,
"predicted_AVG": 0.213,
"predicted_BB": 0.489,
"predicted_H": 0.89,
"predicted_HR": 0.2,
"predicted_OBP": 0.283,
"predicted_R": 0.532,
"predicted_RBI": 0.55,
"predicted_SLG": 0.396,
"predicted_SO": 1.149
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1136,
"predicted_3B": 0.0008,
"predicted_AB": 4.0437,
"predicted_AVG": 0.205,
"predicted_BB": 0.4391,
"predicted_H": 0.8322,
"predicted_HBP": 0.045,
"predicted_HR": 0.2078,
"predicted_OBP": 0.2775,
"predicted_R": 0.5258,
"predicted_RBI": 0.5525,
"predicted_SLG": 0.3927,
"predicted_SO": 1.1073
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1136,
"delta": -0.0144,
"percent_delta": -0.1125,
"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.16,
"after": 4.0437,
"delta": -0.1163,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.205,
"delta": -0.008,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.489,
"after": 0.4391,
"delta": -0.0499,
"percent_delta": -0.102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8322,
"delta": -0.0578,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2078,
"delta": 0.0078,
"percent_delta": 0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2775,
"delta": -0.0055,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 0.5258,
"delta": -0.0062,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5525,
"delta": 0.0025,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3927,
"delta": -0.0033,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.149,
"after": 1.1073,
"delta": -0.0417,
"percent_delta": -0.0363,
"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.16,
"after": 4.0437,
"delta": -0.1163,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1136,
"predicted_3B": 0.0008,
"predicted_AB": 4.0437,
"predicted_AVG": 0.2019,
"predicted_BB": 0.4369,
"predicted_H": 0.8162,
"predicted_HBP": 0.045,
"predicted_HR": 0.2037,
"predicted_OBP": 0.2797,
"predicted_R": 0.5096,
"predicted_RBI": 0.5354,
"predicted_SLG": 0.3815,
"predicted_SO": 1.1127
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1136,
"after": 0.1136,
"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.0437,
"after": 4.0437,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2019,
"delta": -0.0031,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4391,
"after": 0.4369,
"delta": -0.0022,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8322,
"after": 0.8162,
"delta": -0.016,
"percent_delta": -0.0192,
"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.2078,
"after": 0.2037,
"delta": -0.0041,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2775,
"after": 0.2797,
"delta": 0.0022,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5258,
"after": 0.5096,
"delta": -0.0162,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5525,
"after": 0.5354,
"delta": -0.0171,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3927,
"after": 0.3815,
"delta": -0.0112,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1073,
"after": 1.1127,
"delta": 0.0054,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3927,
"after": 0.3815,
"delta": -0.0112,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.16), rates preserved: AVG=0.196 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.1136,
"after": 0.0,
"delta": -0.1136,
"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.0437,
"after": 4.0,
"delta": -0.0437,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4369,
"after": 0.0,
"delta": -0.4369,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8162,
"after": 1.0,
"delta": 0.1838,
"percent_delta": 0.2252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2037,
"after": 0.0,
"delta": -0.2037,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5354,
"after": 1.0,
"delta": 0.4646,
"percent_delta": 0.8678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1127,
"after": 1.0,
"delta": -0.1127,
"percent_delta": -0.1013,
"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.5354,
"after": 1.0,
"delta": 0.4646,
"percent_delta": 0.8678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4369,
"after": 0.0,
"delta": -0.4369,
"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=25.0, weight=0.182, BvP AVG=0.440)",
"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.8182,
"bvp": 0.1818
},
"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.5096,
"after": 1.0,
"delta": 0.4904,
"percent_delta": 0.9623,
"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.5096,
"after": 1.0,
"delta": 0.4904,
"percent_delta": 0.9623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2019,
"after": 0.25,
"delta": 0.0481,
"percent_delta": 0.2382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2797,
"after": 0.25,
"delta": -0.0297,
"percent_delta": -0.1062,
"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.3815,
"after": 0.25,
"delta": -0.1315,
"percent_delta": -0.3447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2019,
"after": 0.25,
"delta": 0.0481,
"percent_delta": 0.2382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3815,
"after": 0.25,
"delta": -0.1315,
"percent_delta": -0.3447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2019,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2797,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3815,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2019,
"delta": -0.0481,
"percent_delta": -0.1926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2797,
"delta": 0.0297,
"percent_delta": 0.1187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3815,
"delta": 0.1315,
"percent_delta": 0.5259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3815,
"delta": 0.1315,
"percent_delta": 0.5259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2019,
"delta": -0.0481,
"percent_delta": -0.1926,
"direction": "deboost",
"projection_effect": "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": 4.16,
"after": 4.0,
"delta": -0.16,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2019,
"delta": -0.0111,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.489,
"after": 0.0,
"delta": -0.489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2797,
"delta": -0.0033,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3815,
"delta": -0.0145,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.149,
"after": 1.0,
"delta": -0.149,
"percent_delta": -0.1297,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.532,
"after": 1.0,
"delta": 0.468,
"percent_delta": 0.8797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.489,
"after": 0.0,
"delta": -0.489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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 | 4.160 | - |
| predicted_AVG | 0.213 | - |
| predicted_BB | 0.489 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.532 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 1.149 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.044 | -0.116 |
| predicted_AVG | 0.205 | -0.008 |
| predicted_BB | 0.439 | -0.050 |
| predicted_H | 0.832 | -0.058 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.208 | 0.008 |
| predicted_OBP | 0.278 | -0.005 |
| predicted_R | 0.526 | -0.006 |
| predicted_RBI | 0.552 | 0.002 |
| predicted_SLG | 0.393 | -0.003 |
| predicted_SO | 1.107 | -0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.044 | 0.000 |
| predicted_AVG | 0.202 | -0.003 |
| predicted_BB | 0.437 | -0.002 |
| predicted_H | 0.816 | -0.016 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.204 | -0.004 |
| predicted_OBP | 0.280 | 0.002 |
| predicted_R | 0.510 | -0.016 |
| predicted_RBI | 0.535 | -0.017 |
| predicted_SLG | 0.382 | -0.011 |
| predicted_SO | 1.113 | 0.005 |
AB rounded to 4 (raw=4.16), rates preserved: AVG=0.196 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 | - |
Sample-size BvP blend (BvP AB=25.0, weight=0.182, BvP AVG=0.440)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.114 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.044 |
| predicted_AVG | 0.250 | 0.048 |
| predicted_BB | 0.000 | -0.437 |
| predicted_H | 1.000 | 0.184 |
| predicted_HR | 0.000 | -0.204 |
| predicted_OBP | 0.250 | -0.030 |
| predicted_R | 1.000 | 0.490 |
| predicted_RBI | 1.000 | 0.465 |
| predicted_SLG | 0.250 | -0.132 |
| predicted_SO | 1.000 | -0.113 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | - | 21.000 | 5.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 1.000 | 4.000 | 0.2381 | 0.2727 | 0.5238 | 0.2381 | 0.0952 | 0.1905 | 0.0476 | 0.1905 |
| last_10 | 0.20 | 10 | - | 39.000 | 5.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 2.000 | 11.000 | 0.1282 | 0.1905 | 0.2821 | 0.1282 | 0.0513 | 0.1282 | 0.0513 | 0.2821 |
| season | 0.60 | 47 | - | 177.000 | 33.000 | 6.000 | 0.000 | 9.000 | 24.000 | 25.000 | 23.000 | 54.000 | 0.1864 | 0.2843 | 0.3729 | 0.1864 | 0.0508 | 0.1356 | 0.1299 | 0.3051 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.8780 |
| predicted_AVG | 0.1935 |
| predicted_BB | 0.3680 |
| predicted_H | 0.7500 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.2190 |
| predicted_OBP | 0.2696 |
| predicted_R | 0.5170 |
| predicted_RBI | 0.5560 |
| predicted_SLG | 0.3881 |
| predicted_SO | 1.0480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.0930 | 0.1136 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.1600 | 3.8780 | 4.0437 | model_form_blend |
| predicted_AVG | 0.2130 | 0.1935 | 0.2050 | model_form_blend |
| predicted_BB | 0.4890 | 0.3680 | 0.4391 | model_form_blend |
| predicted_H | 0.8900 | 0.7500 | 0.8322 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.2000 | 0.2190 | 0.2078 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2696 | 0.2775 | model_form_blend |
| predicted_R | 0.5320 | 0.5170 | 0.5258 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5560 | 0.5525 | model_form_blend |
| predicted_SLG | 0.3960 | 0.3881 | 0.3927 | model_form_blend |
| predicted_SO | 1.1490 | 1.0480 | 1.1073 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 187 |
| Season rows before report date | 187 |
| Report year | 2026 |
| Profile rows used | 47 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.186 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | SS |
| gameID | 20260611_TEX@KC |
| game_type | full |
| mlbID | 608369 |
| playerID | 608369 |
| playerName | Corey Seager |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-11 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.288 |
| sl_xwoba | 0.335 |
| sl_xba | 0.231 |
| sl_xslg | 0.457 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 34.7 |
| 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.182 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.900 | 3.000 | 4.000 | Hitting_AB | 3.819 | 3.000 | -0.819 | 0.000 |
| predicted_AVG | 0.244 | 0.000 | 0.250 | Hitting_AVG | 0.241 | 0.333 | -0.241 | -0.333 |
| predicted_BB | 0.312 | 1.000 | 0.000 | Hitting_BB | 0.282 | 0.000 | 0.718 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 0.920 | 1.000 | -0.920 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_OBP | 0.334 | 0.250 | 0.250 | Hitting_OBP | 0.296 | 0.333 | -0.046 | -0.083 |
| predicted_R | 0.455 | 0.000 | 0.000 | Hitting_R | 0.475 | 0.000 | -0.475 | 0.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.660 | 0.000 | -0.660 | 0.000 |
| predicted_SLG | 0.436 | 0.000 | 0.250 | Hitting_SLG | 0.420 | 0.333 | -0.420 | -0.333 |
| predicted_SO | 1.052 | 0.000 | 1.000 | Hitting_SO | 1.147 | 0.000 | -1.147 | 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.3120 -> 1.0000 (boost 0.6880, better) |
| Biggest Deboost | predicted_SO: 1.0520 -> 0.0000 (deboost -1.0520, 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.4360 -> 0.4517 (boost 0.0157, better) | predicted_AB: 3.9000 -> 3.7583 (deboost -0.1417, worse) | Final model input calibrated with local 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.3382 -> 0.3087 (deboost -0.0295, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 3 | 4 | predicted_RBI: 0.5877 -> 1.0000 (boost 0.4123, better) | predicted_BB: 0.3248 -> 0.0000 (deboost -0.3248, worse) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.240 HR/AB=0.042 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4508 -> 0.0000 (deboost -0.4508, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4300 -> 0.2500 (deboost -0.1800, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4300 (boost 0.1800, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669394",
"player_name": "Jake Burger",
"position": "1B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.182,
"predicted_3B": 0.0,
"predicted_AB": 3.9,
"predicted_AVG": 0.244,
"predicted_BB": 0.312,
"predicted_H": 0.95,
"predicted_HR": 0.16,
"predicted_OBP": 0.334,
"predicted_R": 0.455,
"predicted_RBI": 0.6,
"predicted_SLG": 0.436,
"predicted_SO": 1.052
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1854,
"predicted_3B": 0.0004,
"predicted_AB": 3.7583,
"predicted_AVG": 0.2546,
"predicted_BB": 0.3264,
"predicted_H": 0.9538,
"predicted_HBP": 0.076,
"predicted_HR": 0.1681,
"predicted_OBP": 0.3382,
"predicted_R": 0.4652,
"predicted_RBI": 0.6064,
"predicted_SLG": 0.4517,
"predicted_SO": 1.0363
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1854,
"delta": 0.0034,
"percent_delta": 0.0187,
"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.9,
"after": 3.7583,
"delta": -0.1417,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2546,
"delta": 0.0106,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.3264,
"delta": 0.0144,
"percent_delta": 0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9538,
"delta": 0.0038,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1681,
"delta": 0.0081,
"percent_delta": 0.0506,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3382,
"delta": 0.0042,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.4652,
"delta": 0.0102,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.6064,
"delta": 0.0064,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4517,
"delta": 0.0157,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.052,
"after": 1.0363,
"delta": -0.0157,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4517,
"delta": 0.0157,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 3.7583,
"delta": -0.1417,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1854,
"predicted_3B": 0.0004,
"predicted_AB": 3.7583,
"predicted_AVG": 0.2489,
"predicted_BB": 0.3248,
"predicted_H": 0.9355,
"predicted_HBP": 0.076,
"predicted_HR": 0.1648,
"predicted_OBP": 0.3087,
"predicted_R": 0.4508,
"predicted_RBI": 0.5877,
"predicted_SLG": 0.43,
"predicted_SO": 1.0414
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1854,
"after": 0.1854,
"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.7583,
"after": 3.7583,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2546,
"after": 0.2489,
"delta": -0.0057,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3264,
"after": 0.3248,
"delta": -0.0016,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9538,
"after": 0.9355,
"delta": -0.0183,
"percent_delta": -0.0192,
"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.1681,
"after": 0.1648,
"delta": -0.0033,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3382,
"after": 0.3087,
"delta": -0.0295,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4652,
"after": 0.4508,
"delta": -0.0144,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6064,
"after": 0.5877,
"delta": -0.0187,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4517,
"after": 0.43,
"delta": -0.0217,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0363,
"after": 1.0414,
"delta": 0.0051,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3382,
"after": 0.3087,
"delta": -0.0295,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.90), rates preserved: AVG=0.240 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1854,
"after": 0.0,
"delta": -0.1854,
"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.7583,
"after": 4.0,
"delta": 0.2417,
"percent_delta": 0.0643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3248,
"after": 0.0,
"delta": -0.3248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9355,
"after": 1.0,
"delta": 0.0645,
"percent_delta": 0.0689,
"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.1648,
"after": 0.0,
"delta": -0.1648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5877,
"after": 1.0,
"delta": 0.4123,
"percent_delta": 0.7015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0414,
"after": 1.0,
"delta": -0.0414,
"percent_delta": -0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5877,
"after": 1.0,
"delta": 0.4123,
"percent_delta": 0.7015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3248,
"after": 0.0,
"delta": -0.3248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.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": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2489,
"after": 0.25,
"delta": 0.0011,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3087,
"after": 0.25,
"delta": -0.0587,
"percent_delta": -0.1902,
"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.43,
"after": 0.25,
"delta": -0.18,
"percent_delta": -0.4186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.43,
"after": 0.25,
"delta": -0.18,
"percent_delta": -0.4186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2489,
"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.3087,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.43,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2489,
"delta": -0.0011,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3087,
"delta": 0.0587,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.43,
"delta": 0.18,
"percent_delta": 0.72,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.43,
"delta": 0.18,
"percent_delta": 0.72,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 3.0,
"delta": -0.9,
"percent_delta": -0.2308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2489,
"delta": 0.0049,
"percent_delta": 0.0201,
"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.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.334,
"after": 0.3087,
"delta": -0.0253,
"percent_delta": -0.0757,
"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.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.43,
"delta": -0.006,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.052,
"after": 0.0,
"delta": -1.052,
"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.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.052,
"after": 0.0,
"delta": -1.052,
"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.182 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.436 | - |
| predicted_SO | 1.052 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.758 | -0.142 |
| predicted_AVG | 0.255 | 0.011 |
| predicted_BB | 0.326 | 0.014 |
| predicted_H | 0.954 | 0.004 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.168 | 0.008 |
| predicted_OBP | 0.338 | 0.004 |
| predicted_R | 0.465 | 0.010 |
| predicted_RBI | 0.606 | 0.006 |
| predicted_SLG | 0.452 | 0.016 |
| predicted_SO | 1.036 | -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.185 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.758 | 0.000 |
| predicted_AVG | 0.249 | -0.006 |
| predicted_BB | 0.325 | -0.002 |
| predicted_H | 0.935 | -0.018 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.165 | -0.003 |
| predicted_OBP | 0.309 | -0.030 |
| predicted_R | 0.451 | -0.014 |
| predicted_RBI | 0.588 | -0.019 |
| predicted_SLG | 0.430 | -0.022 |
| predicted_SO | 1.041 | 0.005 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.240 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.185 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.242 |
| predicted_AVG | 0.250 | 0.001 |
| predicted_BB | 0.000 | -0.325 |
| predicted_H | 1.000 | 0.065 |
| predicted_HR | 0.000 | -0.165 |
| predicted_OBP | 0.250 | -0.059 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 1.000 | 0.412 |
| predicted_SLG | 0.250 | -0.180 |
| 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 | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 2.000 | 4.000 | 0.3125 | 0.4211 | 0.5625 | 0.3125 | 0.0625 | 0.2500 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 2.000 | 0.000 | 2.000 | 5.000 | 4.000 | 4.000 | 12.000 | 0.2857 | 0.3750 | 0.5143 | 0.2857 | 0.0571 | 0.1429 | 0.1143 | 0.3429 |
| season | 0.60 | 77 | - | 282.000 | 71.000 | 14.000 | 0.000 | 13.000 | 46.000 | 35.000 | 24.000 | 81.000 | 0.2518 | 0.3129 | 0.4397 | 0.2518 | 0.0461 | 0.1631 | 0.0851 | 0.2872 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1900 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5660 |
| predicted_AVG | 0.2689 |
| predicted_BB | 0.3460 |
| predicted_H | 0.9590 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.1790 |
| predicted_OBP | 0.3440 |
| predicted_R | 0.4790 |
| predicted_RBI | 0.6150 |
| predicted_SLG | 0.4731 |
| predicted_SO | 1.0150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1900 | 0.1854 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9000 | 3.5660 | 3.7583 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2689 | 0.2546 | model_form_blend |
| predicted_BB | 0.3120 | 0.3460 | 0.3264 | model_form_blend |
| predicted_H | 0.9500 | 0.9590 | 0.9538 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.1600 | 0.1790 | 0.1681 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3440 | 0.3382 | model_form_blend |
| predicted_R | 0.4550 | 0.4790 | 0.4652 | model_form_blend |
| predicted_RBI | 0.6000 | 0.6150 | 0.6064 | model_form_blend |
| predicted_SLG | 0.4360 | 0.4731 | 0.4517 | model_form_blend |
| predicted_SO | 1.0520 | 1.0150 | 1.0363 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 238 |
| Season rows before report date | 238 |
| Report year | 2026 |
| Profile rows used | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.252 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.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 | 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 | 20260624_TEX@MIA |
| game_type | full |
| mlbID | 669394 |
| playerID | 669394 |
| playerName | Jake Burger |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-24 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.329 |
| sl_xwoba | 0.309 |
| sl_xba | 0.241 |
| sl_xslg | 0.404 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 35.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.089 | 0.000 | 0.000 | Hitting_2B | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.644 | 4.000 | 3.000 | Hitting_AB | 2.808 | 3.000 | 1.192 | 1.000 |
| predicted_AVG | 0.278 | 0.000 | 0.333 | Hitting_AVG | 0.243 | 0.333 | -0.243 | -0.333 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_H | 0.720 | 0.000 | 1.000 | Hitting_H | 0.683 | 1.000 | -0.683 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.351 | 0.000 | 0.333 | Hitting_OBP | 0.374 | 0.333 | -0.374 | -0.333 |
| predicted_R | 0.289 | 0.000 | 0.000 | Hitting_R | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_SLG | 0.366 | 0.000 | 0.333 | Hitting_SLG | 0.277 | 0.333 | -0.277 | -0.333 |
| predicted_SO | 0.467 | 0.000 | 1.000 | Hitting_SO | 0.519 | 1.000 | -0.519 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.6440 -> 4.0000 (boost 1.3560, better) |
| Biggest Deboost | predicted_H: 0.7200 -> 0.0000 (deboost -0.7200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AB: 2.6440 -> 2.7709 (boost 0.1269, 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.3579 -> 0.3346 (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 | 3 | 4 | 2 | 5 | predicted_SO: 0.5117 -> 1.0000 (boost 0.4883, worse) | predicted_RBI: 0.3504 -> 0.0000 (deboost -0.3504, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.272 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3074 -> 0.0000 (deboost -0.3074, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2720 -> 0.3330 (boost 0.0610, better) | predicted_SLG: 0.3564 -> 0.3330 (deboost -0.0234, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.3564 (boost 0.0234, better) | predicted_AVG: 0.3330 -> 0.2720 (deboost -0.0610, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"position": "LF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.089,
"predicted_3B": 0.0,
"predicted_AB": 2.644,
"predicted_AVG": 0.278,
"predicted_BB": 0.267,
"predicted_H": 0.72,
"predicted_HR": 0.05,
"predicted_OBP": 0.351,
"predicted_R": 0.289,
"predicted_RBI": 0.36,
"predicted_SLG": 0.366,
"predicted_SO": 0.467
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1224,
"predicted_3B": 0.0008,
"predicted_AB": 2.7709,
"predicted_AVG": 0.2805,
"predicted_BB": 0.2618,
"predicted_H": 0.7685,
"predicted_HBP": 0.14,
"predicted_HR": 0.0373,
"predicted_OBP": 0.3579,
"predicted_R": 0.3172,
"predicted_RBI": 0.3616,
"predicted_SLG": 0.3646,
"predicted_SO": 0.5092
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.089,
"after": 0.1224,
"delta": 0.0334,
"percent_delta": 0.3753,
"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.644,
"after": 2.7709,
"delta": 0.1269,
"percent_delta": 0.048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2805,
"delta": 0.0025,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.2618,
"delta": -0.0052,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7685,
"delta": 0.0485,
"percent_delta": 0.0674,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0373,
"delta": -0.0127,
"percent_delta": -0.254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3579,
"delta": 0.0069,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.289,
"after": 0.3172,
"delta": 0.0282,
"percent_delta": 0.0976,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3616,
"delta": 0.0016,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3646,
"delta": -0.0014,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.467,
"after": 0.5092,
"delta": 0.0422,
"percent_delta": 0.0904,
"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.644,
"after": 2.7709,
"delta": 0.1269,
"percent_delta": 0.048,
"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": 45
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1224,
"predicted_3B": 0.0008,
"predicted_AB": 2.7709,
"predicted_AVG": 0.272,
"predicted_BB": 0.2605,
"predicted_H": 0.7537,
"predicted_HBP": 0.14,
"predicted_HR": 0.0366,
"predicted_OBP": 0.3346,
"predicted_R": 0.3074,
"predicted_RBI": 0.3504,
"predicted_SLG": 0.3564,
"predicted_SO": 0.5117
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1224,
"after": 0.1224,
"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.7709,
"after": 2.7709,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2805,
"after": 0.272,
"delta": -0.0085,
"percent_delta": -0.0303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2618,
"after": 0.2605,
"delta": -0.0013,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7685,
"after": 0.7537,
"delta": -0.0148,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.14,
"after": 0.14,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0373,
"after": 0.0366,
"delta": -0.0007,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3579,
"after": 0.3346,
"delta": -0.0233,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3172,
"after": 0.3074,
"delta": -0.0098,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3616,
"after": 0.3504,
"delta": -0.0112,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3646,
"after": 0.3564,
"delta": -0.0082,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5092,
"after": 0.5117,
"delta": 0.0025,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3579,
"after": 0.3346,
"delta": -0.0233,
"percent_delta": -0.0651,
"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.272 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.1224,
"after": 0.0,
"delta": -0.1224,
"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.7709,
"after": 3.0,
"delta": 0.2291,
"percent_delta": 0.0827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2605,
"after": 0.0,
"delta": -0.2605,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7537,
"after": 1.0,
"delta": 0.2463,
"percent_delta": 0.3268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0366,
"after": 0.0,
"delta": -0.0366,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3504,
"after": 0.0,
"delta": -0.3504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5117,
"after": 1.0,
"delta": 0.4883,
"percent_delta": 0.9543,
"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.5117,
"after": 1.0,
"delta": 0.4883,
"percent_delta": 0.9543,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3504,
"after": 0.0,
"delta": -0.3504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3074,
"after": 0.0,
"delta": -0.3074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3074,
"after": 0.0,
"delta": -0.3074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.333,
"delta": 0.061,
"percent_delta": 0.2243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3346,
"after": 0.333,
"delta": -0.0016,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3564,
"after": 0.333,
"delta": -0.0234,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.333,
"delta": 0.061,
"percent_delta": 0.2243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3564,
"after": 0.333,
"delta": -0.0234,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.272,
"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.3346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3564,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.272,
"delta": -0.061,
"percent_delta": -0.1831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3346,
"delta": 0.0016,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3564,
"delta": 0.0234,
"percent_delta": 0.0702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3564,
"delta": 0.0234,
"percent_delta": 0.0702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.272,
"delta": -0.061,
"percent_delta": -0.1831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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": 2.644,
"after": 4.0,
"delta": 1.356,
"percent_delta": 0.5129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.272,
"delta": -0.006,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"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.351,
"after": 0.3346,
"delta": -0.0164,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3564,
"delta": -0.0096,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.644,
"after": 4.0,
"delta": 1.356,
"percent_delta": 0.5129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.644 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.289 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.366 | - |
| predicted_SO | 0.467 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.033 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.771 | 0.127 |
| predicted_AVG | 0.281 | 0.003 |
| predicted_BB | 0.262 | -0.005 |
| predicted_H | 0.768 | 0.048 |
| predicted_HBP | 0.140 | - |
| predicted_HR | 0.037 | -0.013 |
| predicted_OBP | 0.358 | 0.007 |
| predicted_R | 0.317 | 0.028 |
| predicted_RBI | 0.362 | 0.002 |
| predicted_SLG | 0.365 | -0.001 |
| predicted_SO | 0.509 | 0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.771 | 0.000 |
| predicted_AVG | 0.272 | -0.009 |
| predicted_BB | 0.261 | -0.001 |
| predicted_H | 0.754 | -0.015 |
| predicted_HBP | 0.140 | 0.000 |
| predicted_HR | 0.037 | -0.001 |
| predicted_OBP | 0.335 | -0.023 |
| predicted_R | 0.307 | -0.010 |
| predicted_RBI | 0.350 | -0.011 |
| predicted_SLG | 0.356 | -0.008 |
| predicted_SO | 0.512 | 0.003 |
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.272 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.229 |
| predicted_AVG | 0.333 | 0.061 |
| predicted_BB | 0.000 | -0.261 |
| predicted_H | 1.000 | 0.246 |
| predicted_HR | 0.000 | -0.037 |
| predicted_OBP | 0.333 | -0.002 |
| predicted_R | 0.000 | -0.307 |
| predicted_RBI | 0.000 | -0.350 |
| predicted_SLG | 0.333 | -0.023 |
| predicted_SO | 1.000 | 0.488 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 6.000 | 2.000 | 0.000 | 0.000 | 3.000 | 2.000 | 1.000 | 3.000 | 0.4000 | 0.4706 | 0.5333 | 0.4000 | 0.0000 | 0.2000 | 0.0667 | 0.2000 |
| last_10 | 0.20 | 10 | - | 29.000 | 8.000 | 2.000 | 0.000 | 0.000 | 3.000 | 4.000 | 2.000 | 6.000 | 0.2759 | 0.3438 | 0.3448 | 0.2759 | 0.0000 | 0.1035 | 0.0690 | 0.2069 |
| season | 0.60 | 45 | - | 119.000 | 31.000 | 4.000 | 0.000 | 0.000 | 12.000 | 13.000 | 12.000 | 21.000 | 0.2605 | 0.3623 | 0.2941 | 0.2605 | 0.0000 | 0.1008 | 0.1008 | 0.1765 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9630 |
| predicted_AVG | 0.2842 |
| predicted_BB | 0.2540 |
| predicted_H | 0.8420 |
| predicted_HBP | 0.1400 |
| predicted_HR | 0.0180 |
| predicted_OBP | 0.3683 |
| predicted_R | 0.3600 |
| predicted_RBI | 0.3640 |
| predicted_SLG | 0.3624 |
| predicted_SO | 0.5730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0890 | 0.1730 | 0.1224 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.6440 | 2.9630 | 2.7709 | model_form_blend |
| predicted_AVG | 0.2780 | 0.2842 | 0.2805 | model_form_blend |
| predicted_BB | 0.2670 | 0.2540 | 0.2618 | model_form_blend |
| predicted_H | 0.7200 | 0.8420 | 0.7685 | model_form_blend |
| predicted_HBP | - | 0.1400 | 0.1400 | form_only |
| predicted_HR | 0.0500 | 0.0180 | 0.0373 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3683 | 0.3579 | model_form_blend |
| predicted_R | 0.2890 | 0.3600 | 0.3172 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3640 | 0.3616 | model_form_blend |
| predicted_SLG | 0.3660 | 0.3624 | 0.3646 | model_form_blend |
| predicted_SO | 0.4670 | 0.5730 | 0.5092 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 104 |
| Season rows before report date | 104 |
| Report year | 2026 |
| Profile rows used | 45 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260624_TEX@MIA |
| game_type | full |
| mlbID | 696030 |
| playerID | 696030 |
| playerName | Alejandro Osuna |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-24 |
| sl_k_percent | 15.0 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.312 |
| sl_xwoba | 0.319 |
| sl_xba | 0.264 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 32.3 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 5.5 |
| sl_whiff_percent | 16.2 |
| sl_swing_percent | 47.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.075 | 0.000 | 0.000 | Hitting_2B | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.250 | 4.000 | 3.000 | Hitting_AB | 3.275 | 4.000 | 0.725 | 0.000 |
| predicted_AVG | 0.224 | 0.250 | 0.333 | Hitting_AVG | 0.196 | 0.250 | 0.054 | 0.000 |
| predicted_BB | 0.325 | 0.000 | 0.000 | Hitting_BB | 0.367 | 0.000 | -0.367 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.250 | 1.000 | 1.000 | Hitting_H | 0.642 | 1.000 | 0.358 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.267 | 0.250 | 0.333 | Hitting_OBP | 0.282 | 0.250 | -0.032 | 0.000 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.367 | 0.000 | -0.367 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.349 | 0.000 | -0.349 | 0.000 |
| predicted_SLG | 0.359 | 0.250 | 0.333 | Hitting_SLG | 0.322 | 0.250 | -0.072 | 0.000 |
| predicted_SO | 1.000 | 2.000 | 1.000 | Hitting_SO | 1.092 | 2.000 | 0.908 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_R: 0.4000 -> 0.0000 (deboost -0.4000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.2500 -> 0.4526 (boost 0.2026, 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.3632 -> 0.2348 (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 | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 0.4439 -> 0.0000 (deboost -0.4439, worse) | AB rounded to 3 (raw=3.34), rates preserved: AVG=0.133 HR/AB=0.027 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3880 -> 0.0000 (deboost -0.3880, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1330 -> 0.3330 (boost 0.2000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1330 (deboost -0.2000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543309",
"player_name": "Kyle Higashioka",
"position": "C",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.075,
"predicted_3B": 0.0,
"predicted_AB": 3.25,
"predicted_AVG": 0.224,
"predicted_BB": 0.325,
"predicted_H": 0.25,
"predicted_HR": 0.05,
"predicted_OBP": 0.267,
"predicted_R": 0.4,
"predicted_RBI": 0.16,
"predicted_SLG": 0.359,
"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.0726,
"predicted_3B": 0.0008,
"predicted_AB": 3.3387,
"predicted_AVG": 0.2216,
"predicted_BB": 0.3146,
"predicted_H": 0.4526,
"predicted_HBP": 0.019,
"predicted_HR": 0.0904,
"predicted_OBP": 0.2738,
"predicted_R": 0.4004,
"predicted_RBI": 0.2651,
"predicted_SLG": 0.3632,
"predicted_SO": 1.024
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.075,
"after": 0.0726,
"delta": -0.0024,
"percent_delta": -0.032,
"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.25,
"after": 3.3387,
"delta": 0.0887,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2216,
"delta": -0.0024,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 0.3146,
"delta": -0.0104,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.4526,
"delta": 0.2026,
"percent_delta": 0.8104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0904,
"delta": 0.0404,
"percent_delta": 0.808,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2738,
"delta": 0.0068,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4004,
"delta": 0.0004,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.2651,
"delta": 0.1051,
"percent_delta": 0.6569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.3632,
"delta": 0.0042,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.024,
"delta": 0.024,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.25,
"after": 0.4526,
"delta": 0.2026,
"percent_delta": 0.8104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 40
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0726,
"predicted_3B": 0.0008,
"predicted_AB": 3.3387,
"predicted_AVG": 0.133,
"predicted_BB": 0.3131,
"predicted_H": 0.4439,
"predicted_HBP": 0.019,
"predicted_HR": 0.0886,
"predicted_OBP": 0.2073,
"predicted_R": 0.388,
"predicted_RBI": 0.2569,
"predicted_SLG": 0.2348,
"predicted_SO": 1.029
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0726,
"after": 0.0726,
"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.3387,
"after": 3.3387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2216,
"after": 0.133,
"delta": -0.0886,
"percent_delta": -0.3998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3146,
"after": 0.3131,
"delta": -0.0015,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4526,
"after": 0.4439,
"delta": -0.0087,
"percent_delta": -0.0192,
"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.0904,
"after": 0.0886,
"delta": -0.0018,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2738,
"after": 0.2073,
"delta": -0.0665,
"percent_delta": -0.2429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4004,
"after": 0.388,
"delta": -0.0124,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2651,
"after": 0.2569,
"delta": -0.0082,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3632,
"after": 0.2348,
"delta": -0.1284,
"percent_delta": -0.3535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 1.029,
"delta": 0.005,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3632,
"after": 0.2348,
"delta": -0.1284,
"percent_delta": -0.3535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.34), rates preserved: AVG=0.133 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0726,
"after": 0.0,
"delta": -0.0726,
"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.3387,
"after": 3.0,
"delta": -0.3387,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3131,
"after": 0.0,
"delta": -0.3131,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4439,
"after": 0.0,
"delta": -0.4439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0886,
"after": 0.0,
"delta": -0.0886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2569,
"after": 0.0,
"delta": -0.2569,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4439,
"after": 0.0,
"delta": -0.4439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.133,
"after": 0.333,
"delta": 0.2,
"percent_delta": 1.5038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.1257,
"percent_delta": 0.6064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2348,
"after": 0.333,
"delta": 0.0982,
"percent_delta": 0.4182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.133,
"after": 0.333,
"delta": 0.2,
"percent_delta": 1.5038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.133,
"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.2073,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2348,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.133,
"delta": -0.2,
"percent_delta": -0.6007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2073,
"delta": -0.1257,
"percent_delta": -0.3775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2348,
"delta": -0.0982,
"percent_delta": -0.2949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.133,
"delta": -0.2,
"percent_delta": -0.6007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.075,
"after": 0.0,
"delta": -0.075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.25,
"after": 4.0,
"delta": 0.75,
"percent_delta": 0.2308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.133,
"delta": -0.091,
"percent_delta": -0.4062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 0.0,
"delta": -0.325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"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.267,
"after": 0.2073,
"delta": -0.0597,
"percent_delta": -0.2236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.2348,
"delta": -0.1242,
"percent_delta": -0.346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"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": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.075 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.250 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.325 | - |
| predicted_H | 0.250 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.359 | - |
| 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.073 | -0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.339 | 0.089 |
| predicted_AVG | 0.222 | -0.002 |
| predicted_BB | 0.315 | -0.010 |
| predicted_H | 0.453 | 0.203 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.090 | 0.040 |
| predicted_OBP | 0.274 | 0.007 |
| predicted_R | 0.400 | 0.000 |
| predicted_RBI | 0.265 | 0.105 |
| predicted_SLG | 0.363 | 0.004 |
| predicted_SO | 1.024 | 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.073 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.339 | 0.000 |
| predicted_AVG | 0.133 | -0.089 |
| predicted_BB | 0.313 | -0.002 |
| predicted_H | 0.444 | -0.009 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.089 | -0.002 |
| predicted_OBP | 0.207 | -0.066 |
| predicted_R | 0.388 | -0.012 |
| predicted_RBI | 0.257 | -0.008 |
| predicted_SLG | 0.235 | -0.128 |
| predicted_SO | 1.029 | 0.005 |
AB rounded to 3 (raw=3.34), rates preserved: AVG=0.133 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.073 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.339 |
| predicted_AVG | 0.333 | 0.200 |
| predicted_BB | 0.000 | -0.313 |
| predicted_H | 1.000 | 0.556 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.333 | 0.126 |
| predicted_R | 0.000 | -0.388 |
| predicted_RBI | 0.000 | -0.257 |
| predicted_SLG | 0.333 | 0.098 |
| predicted_SO | 1.000 | -0.029 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 19.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 7.000 | 0.2105 | 0.2500 | 0.3684 | 0.2105 | 0.0526 | 0.1579 | 0.0526 | 0.3684 |
| last_10 | 0.20 | 10 | - | 34.000 | 6.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 3.000 | 11.000 | 0.1765 | 0.2432 | 0.3529 | 0.1765 | 0.0588 | 0.1177 | 0.0882 | 0.3235 |
| season | 0.60 | 40 | - | 130.000 | 29.000 | 3.000 | 0.000 | 5.000 | 14.000 | 16.000 | 13.000 | 40.000 | 0.2231 | 0.2986 | 0.3615 | 0.2231 | 0.0385 | 0.1077 | 0.1000 | 0.3077 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0690 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4720 |
| predicted_AVG | 0.2180 |
| predicted_BB | 0.2990 |
| predicted_H | 0.7570 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.2839 |
| predicted_R | 0.4010 |
| predicted_RBI | 0.4230 |
| predicted_SLG | 0.3696 |
| predicted_SO | 1.0600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0750 | 0.0690 | 0.0726 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2500 | 3.4720 | 3.3387 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2180 | 0.2216 | model_form_blend |
| predicted_BB | 0.3250 | 0.2990 | 0.3146 | model_form_blend |
| predicted_H | 0.2500 | 0.7570 | 0.4526 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0500 | 0.1510 | 0.0904 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2839 | 0.2738 | model_form_blend |
| predicted_R | 0.4000 | 0.4010 | 0.4004 | model_form_blend |
| predicted_RBI | 0.1600 | 0.4230 | 0.2651 | model_form_blend |
| predicted_SLG | 0.3590 | 0.3696 | 0.3632 | model_form_blend |
| predicted_SO | 1.0000 | 1.0600 | 1.0240 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 109 |
| Season rows before report date | 109 |
| 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 | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 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 | 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 | 20260623_TEX@MIA |
| game_type | full |
| mlbID | 543309 |
| playerID | 543309 |
| playerName | Kyle Higashioka |
| pos | C |
| started | True |
| startingPosition | C |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-23 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.296 |
| sl_xwoba | 0.294 |
| sl_xba | 0.226 |
| sl_xslg | 0.357 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 36.7 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 42.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.217 | 1.000 | 0.000 | Hitting_2B | 0.280 | 0.000 | 0.720 | 1.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 3.435 | 3.000 | 4.000 | Hitting_AB | 3.481 | 3.000 | -0.481 | 0.000 |
| predicted_AVG | 0.219 | 0.333 | 0.250 | Hitting_AVG | 0.293 | 0.000 | 0.040 | 0.333 |
| predicted_BB | 0.290 | 1.000 | 0.000 | Hitting_BB | 0.323 | 0.000 | 0.677 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.320 | 1.000 | 1.000 | Hitting_H | 1.021 | 0.000 | -0.021 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_OBP | 0.256 | 0.500 | 0.250 | Hitting_OBP | 0.350 | 0.000 | 0.150 | 0.500 |
| predicted_R | 0.464 | 1.000 | 0.000 | Hitting_R | 0.503 | 0.000 | 0.497 | 1.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.624 | 0.000 | -0.624 | 0.000 |
| predicted_SLG | 0.364 | 0.667 | 0.250 | Hitting_SLG | 0.465 | 0.000 | 0.202 | 0.667 |
| predicted_SO | 0.899 | 1.000 | 1.000 | Hitting_SO | 0.862 | 0.000 | 0.138 | 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_2B: 0.2170 -> 1.0000 (boost 0.7830, better) |
| Biggest Deboost | predicted_AB: 3.4350 -> 3.0000 (deboost -0.4350, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3200 -> 0.5055 (boost 0.1855, 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.3665 -> 0.2785 (deboost -0.0880, 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.4958 -> 1.0000 (boost 0.5042, better) | predicted_RBI: 0.3393 -> 0.0000 (deboost -0.3393, worse) | AB rounded to 4 (raw=3.50), rates preserved: AVG=0.142 HR/AB=0.023 |
| 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.4216 -> 0.0000 (deboost -0.4216, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1416 -> 0.2500 (boost 0.1084, better) | predicted_SLG: 0.2785 -> 0.2500 (deboost -0.0285, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.2785 (boost 0.0285, better) | predicted_AVG: 0.2500 -> 0.1416 (deboost -0.1084, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"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.217,
"predicted_3B": 0.029,
"predicted_AB": 3.435,
"predicted_AVG": 0.219,
"predicted_BB": 0.29,
"predicted_H": 0.32,
"predicted_HR": 0.05,
"predicted_OBP": 0.256,
"predicted_R": 0.464,
"predicted_RBI": 0.22,
"predicted_SLG": 0.364,
"predicted_SO": 0.899
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1847,
"predicted_3B": 0.0244,
"predicted_AB": 3.5009,
"predicted_AVG": 0.2161,
"predicted_BB": 0.2778,
"predicted_H": 0.5055,
"predicted_HBP": 0.012,
"predicted_HR": 0.0836,
"predicted_OBP": 0.2595,
"predicted_R": 0.435,
"predicted_RBI": 0.3501,
"predicted_SLG": 0.3665,
"predicted_SO": 0.8625
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.1847,
"delta": -0.0323,
"percent_delta": -0.1488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0244,
"delta": -0.0046,
"percent_delta": -0.1586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.435,
"after": 3.5009,
"delta": 0.0659,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2161,
"delta": -0.0029,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.2778,
"delta": -0.0122,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.32,
"after": 0.5055,
"delta": 0.1855,
"percent_delta": 0.5797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0836,
"delta": 0.0336,
"percent_delta": 0.672,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2595,
"delta": 0.0035,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.435,
"delta": -0.029,
"percent_delta": -0.0625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.3501,
"delta": 0.1301,
"percent_delta": 0.5914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3665,
"delta": 0.0025,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 0.8625,
"delta": -0.0365,
"percent_delta": -0.0406,
"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.32,
"after": 0.5055,
"delta": 0.1855,
"percent_delta": 0.5797,
"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": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1847,
"predicted_3B": 0.0244,
"predicted_AB": 3.5009,
"predicted_AVG": 0.1416,
"predicted_BB": 0.2764,
"predicted_H": 0.4958,
"predicted_HBP": 0.012,
"predicted_HR": 0.082,
"predicted_OBP": 0.2044,
"predicted_R": 0.4216,
"predicted_RBI": 0.3393,
"predicted_SLG": 0.2785,
"predicted_SO": 0.8667
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1847,
"after": 0.1847,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0244,
"after": 0.0244,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5009,
"after": 3.5009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2161,
"after": 0.1416,
"delta": -0.0745,
"percent_delta": -0.3447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2778,
"after": 0.2764,
"delta": -0.0014,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5055,
"after": 0.4958,
"delta": -0.0097,
"percent_delta": -0.0192,
"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.0836,
"after": 0.082,
"delta": -0.0016,
"percent_delta": -0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2595,
"after": 0.2044,
"delta": -0.0551,
"percent_delta": -0.2123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.4216,
"delta": -0.0134,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3501,
"after": 0.3393,
"delta": -0.0108,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3665,
"after": 0.2785,
"delta": -0.088,
"percent_delta": -0.2401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8625,
"after": 0.8667,
"delta": 0.0042,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3665,
"after": 0.2785,
"delta": -0.088,
"percent_delta": -0.2401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.50), rates preserved: AVG=0.142 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.1847,
"after": 0.0,
"delta": -0.1847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0244,
"after": 0.0,
"delta": -0.0244,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5009,
"after": 4.0,
"delta": 0.4991,
"percent_delta": 0.1426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2764,
"after": 0.0,
"delta": -0.2764,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4958,
"after": 1.0,
"delta": 0.5042,
"percent_delta": 1.0169,
"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.082,
"after": 0.0,
"delta": -0.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.8667,
"after": 1.0,
"delta": 0.1333,
"percent_delta": 0.1538,
"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.4958,
"after": 1.0,
"delta": 0.5042,
"percent_delta": 1.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3393,
"after": 0.0,
"delta": -0.3393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.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": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1416,
"after": 0.25,
"delta": 0.1084,
"percent_delta": 0.7655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2044,
"after": 0.25,
"delta": 0.0456,
"percent_delta": 0.2231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2785,
"after": 0.25,
"delta": -0.0285,
"percent_delta": -0.1023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1416,
"after": 0.25,
"delta": 0.1084,
"percent_delta": 0.7655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2785,
"after": 0.25,
"delta": -0.0285,
"percent_delta": -0.1023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 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": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.1416,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2044,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2785,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1416,
"delta": -0.1084,
"percent_delta": -0.4335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2044,
"delta": -0.0456,
"percent_delta": -0.1822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2785,
"delta": 0.0285,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2785,
"delta": 0.0285,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1416,
"delta": -0.1084,
"percent_delta": -0.4335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 1.0,
"delta": 0.783,
"percent_delta": 3.6083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.435,
"after": 3.0,
"delta": -0.435,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.1416,
"delta": -0.0774,
"percent_delta": -0.3534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.32,
"after": 1.0,
"delta": 0.68,
"percent_delta": 2.125,
"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.256,
"after": 0.2044,
"delta": -0.0516,
"percent_delta": -0.2016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 1.0,
"delta": 0.536,
"percent_delta": 1.1552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.2785,
"delta": -0.0855,
"percent_delta": -0.2349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 1.0,
"delta": 0.101,
"percent_delta": 0.1123,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.217,
"after": 1.0,
"delta": 0.783,
"percent_delta": 3.6083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.435,
"after": 3.0,
"delta": -0.435,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.435 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.290 | - |
| predicted_H | 0.320 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.256 | - |
| predicted_R | 0.464 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.364 | - |
| predicted_SO | 0.899 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | -0.032 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.501 | 0.066 |
| predicted_AVG | 0.216 | -0.003 |
| predicted_BB | 0.278 | -0.012 |
| predicted_H | 0.505 | 0.185 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.084 | 0.034 |
| predicted_OBP | 0.260 | 0.004 |
| predicted_R | 0.435 | -0.029 |
| predicted_RBI | 0.350 | 0.130 |
| predicted_SLG | 0.366 | 0.003 |
| predicted_SO | 0.863 | -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.185 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.501 | 0.000 |
| predicted_AVG | 0.142 | -0.074 |
| predicted_BB | 0.276 | -0.001 |
| predicted_H | 0.496 | -0.010 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.082 | -0.002 |
| predicted_OBP | 0.204 | -0.055 |
| predicted_R | 0.422 | -0.013 |
| predicted_RBI | 0.339 | -0.011 |
| predicted_SLG | 0.279 | -0.088 |
| predicted_SO | 0.867 | 0.004 |
AB rounded to 4 (raw=3.50), rates preserved: AVG=0.142 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=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.185 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.499 |
| predicted_AVG | 0.250 | 0.108 |
| predicted_BB | 0.000 | -0.276 |
| predicted_H | 1.000 | 0.504 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.250 | 0.046 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 0.000 | -0.339 |
| predicted_SLG | 0.250 | -0.029 |
| predicted_SO | 1.000 | 0.133 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 2.000 | 0.1053 | 0.1053 | 0.2632 | 0.1053 | 0.0526 | 0.1053 | 0.0000 | 0.1053 |
| last_10 | 0.20 | 10 | - | 37.000 | 5.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 4.000 | 9.000 | 0.1351 | 0.2195 | 0.2973 | 0.1351 | 0.0541 | 0.1351 | 0.1081 | 0.2432 |
| season | 0.60 | 69 | - | 237.000 | 63.000 | 15.000 | 2.000 | 6.000 | 40.000 | 32.000 | 20.000 | 62.000 | 0.2658 | 0.3231 | 0.4219 | 0.2658 | 0.0253 | 0.1688 | 0.0844 | 0.2616 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1400 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.5920 |
| predicted_AVG | 0.2120 |
| predicted_BB | 0.2610 |
| predicted_H | 0.7620 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.2644 |
| predicted_R | 0.3950 |
| predicted_RBI | 0.5300 |
| predicted_SLG | 0.3699 |
| predicted_SO | 0.8120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.1400 | 0.1847 | model_form_blend |
| predicted_3B | 0.0290 | 0.0180 | 0.0244 | model_form_blend |
| predicted_AB | 3.4350 | 3.5920 | 3.5009 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2120 | 0.2161 | model_form_blend |
| predicted_BB | 0.2900 | 0.2610 | 0.2778 | model_form_blend |
| predicted_H | 0.3200 | 0.7620 | 0.5055 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0500 | 0.1300 | 0.0836 | model_form_blend |
| predicted_OBP | 0.2560 | 0.2644 | 0.2595 | model_form_blend |
| predicted_R | 0.4640 | 0.3950 | 0.4350 | model_form_blend |
| predicted_RBI | 0.2200 | 0.5300 | 0.3501 | model_form_blend |
| predicted_SLG | 0.3640 | 0.3699 | 0.3665 | model_form_blend |
| predicted_SO | 0.8990 | 0.8120 | 0.8625 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 189 |
| Season rows before report date | 189 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 1 |
| BaseRunning_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 | 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 | 20260624_TEX@MIA |
| game_type | full |
| mlbID | 677649 |
| playerID | 677649 |
| playerName | Ezequiel Duran |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-24 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.326 |
| sl_xwoba | 0.304 |
| sl_xba | 0.253 |
| sl_xslg | 0.364 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 37.1 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 27.8 |
| 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.038 | 0.000 | 0.000 | Hitting_2B | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.692 | 3.000 | 3.000 | Hitting_AB | 2.857 | 1.000 | 0.143 | 2.000 |
| predicted_AVG | 0.268 | 0.333 | 0.333 | Hitting_AVG | 0.263 | 1.000 | 0.071 | -0.667 |
| predicted_BB | 0.115 | 1.000 | 0.000 | Hitting_BB | 0.214 | 0.000 | 0.786 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 1.000 | -0.036 | -1.000 |
| predicted_H | 0.260 | 1.000 | 1.000 | Hitting_H | 0.750 | 1.000 | 0.250 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_OBP | 0.311 | 0.500 | 0.333 | Hitting_OBP | 0.322 | 1.000 | 0.178 | -0.500 |
| predicted_R | 0.269 | 0.000 | 0.000 | Hitting_R | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_RBI | 0.130 | 0.000 | 0.000 | Hitting_RBI | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_SLG | 0.358 | 0.333 | 0.333 | Hitting_SLG | 0.312 | 1.000 | 0.021 | -0.667 |
| predicted_SO | 0.423 | 1.000 | 0.000 | Hitting_SO | 0.429 | 0.000 | 0.571 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1150 -> 1.0000 (boost 0.8850, better) |
| Biggest Deboost | predicted_R: 0.2690 -> 0.0000 (deboost -0.2690, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2600 -> 0.4940 (boost 0.2340, 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.3634 -> 0.2290 (deboost -0.1344, 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 | 3 | 2 | predicted_H: 0.4845 -> 1.0000 (boost 0.5155, better) | predicted_SO: 0.4192 -> 0.0000 (deboost -0.4192, better) | AB rounded to 3 (raw=2.80), rates preserved: AVG=0.173 HR/AB=0.013 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2855 -> 0.0000 (deboost -0.2855, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1733 -> 0.3330 (boost 0.1597, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1733 (deboost -0.1597, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670032",
"player_name": "Nicky Lopez",
"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.038,
"predicted_3B": 0.0,
"predicted_AB": 2.692,
"predicted_AVG": 0.268,
"predicted_BB": 0.115,
"predicted_H": 0.26,
"predicted_HR": 0.03,
"predicted_OBP": 0.311,
"predicted_R": 0.269,
"predicted_RBI": 0.13,
"predicted_SLG": 0.358,
"predicted_SO": 0.423
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.046,
"predicted_3B": 0.0011,
"predicted_AB": 2.7958,
"predicted_AVG": 0.2806,
"predicted_BB": 0.1351,
"predicted_H": 0.494,
"predicted_HBP": 0.026,
"predicted_HR": 0.0366,
"predicted_OBP": 0.3241,
"predicted_R": 0.2946,
"predicted_RBI": 0.1819,
"predicted_SLG": 0.3634,
"predicted_SO": 0.4172
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.038,
"after": 0.046,
"delta": 0.008,
"percent_delta": 0.2105,
"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.692,
"after": 2.7958,
"delta": 0.1038,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2806,
"delta": 0.0126,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.115,
"after": 0.1351,
"delta": 0.0201,
"percent_delta": 0.1748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 0.494,
"delta": 0.234,
"percent_delta": 0.9,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0366,
"delta": 0.0066,
"percent_delta": 0.22,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3241,
"delta": 0.0131,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.269,
"after": 0.2946,
"delta": 0.0256,
"percent_delta": 0.0952,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.1819,
"delta": 0.0519,
"percent_delta": 0.3992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3634,
"delta": 0.0054,
"percent_delta": 0.0151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 0.4172,
"delta": -0.0058,
"percent_delta": -0.0137,
"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.26,
"after": 0.494,
"delta": 0.234,
"percent_delta": 0.9,
"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": 26
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.046,
"predicted_3B": 0.0011,
"predicted_AB": 2.7958,
"predicted_AVG": 0.1733,
"predicted_BB": 0.1344,
"predicted_H": 0.4845,
"predicted_HBP": 0.026,
"predicted_HR": 0.0359,
"predicted_OBP": 0.2112,
"predicted_R": 0.2855,
"predicted_RBI": 0.1763,
"predicted_SLG": 0.229,
"predicted_SO": 0.4192
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.046,
"after": 0.046,
"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.7958,
"after": 2.7958,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2806,
"after": 0.1733,
"delta": -0.1073,
"percent_delta": -0.3824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1351,
"after": 0.1344,
"delta": -0.0007,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.494,
"after": 0.4845,
"delta": -0.0095,
"percent_delta": -0.0192,
"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.0366,
"after": 0.0359,
"delta": -0.0007,
"percent_delta": -0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3241,
"after": 0.2112,
"delta": -0.1129,
"percent_delta": -0.3483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2946,
"after": 0.2855,
"delta": -0.0091,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1819,
"after": 0.1763,
"delta": -0.0056,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3634,
"after": 0.229,
"delta": -0.1344,
"percent_delta": -0.3698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4172,
"after": 0.4192,
"delta": 0.002,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3634,
"after": 0.229,
"delta": -0.1344,
"percent_delta": -0.3698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.80), rates preserved: AVG=0.173 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0,
"delta": -0.0011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7958,
"after": 3.0,
"delta": 0.2042,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1344,
"after": 0.0,
"delta": -0.1344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4845,
"after": 1.0,
"delta": 0.5155,
"percent_delta": 1.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0359,
"after": 0.0,
"delta": -0.0359,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1763,
"after": 0.0,
"delta": -0.1763,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4192,
"after": 0.0,
"delta": -0.4192,
"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": 0.4845,
"after": 1.0,
"delta": 0.5155,
"percent_delta": 1.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4192,
"after": 0.0,
"delta": -0.4192,
"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=5.0, weight=0.057, BvP AVG=0.600)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2855,
"after": 0.0,
"delta": -0.2855,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.2855,
"after": 0.0,
"delta": -0.2855,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1733,
"after": 0.333,
"delta": 0.1597,
"percent_delta": 0.9215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2112,
"after": 0.333,
"delta": 0.1218,
"percent_delta": 0.5767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.229,
"after": 0.333,
"delta": 0.104,
"percent_delta": 0.4541,
"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.1733,
"after": 0.333,
"delta": 0.1597,
"percent_delta": 0.9215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.1733,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2112,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.229,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1733,
"delta": -0.1597,
"percent_delta": -0.4796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2112,
"delta": -0.1218,
"percent_delta": -0.3657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.229,
"delta": -0.104,
"percent_delta": -0.3122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1733,
"delta": -0.1597,
"percent_delta": -0.4796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.692,
"after": 3.0,
"delta": 0.308,
"percent_delta": 0.1144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.1733,
"delta": -0.0947,
"percent_delta": -0.3534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.115,
"after": 1.0,
"delta": 0.885,
"percent_delta": 7.6957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"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.311,
"after": 0.2112,
"delta": -0.0998,
"percent_delta": -0.3209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.229,
"delta": -0.129,
"percent_delta": -0.3603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 1.0,
"delta": 0.577,
"percent_delta": 1.3641,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.115,
"after": 1.0,
"delta": 0.885,
"percent_delta": 7.6957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.038 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.692 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.115 | - |
| predicted_H | 0.260 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.269 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 0.423 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.046 | 0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.796 | 0.104 |
| predicted_AVG | 0.281 | 0.013 |
| predicted_BB | 0.135 | 0.020 |
| predicted_H | 0.494 | 0.234 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.037 | 0.007 |
| predicted_OBP | 0.324 | 0.013 |
| predicted_R | 0.295 | 0.026 |
| predicted_RBI | 0.182 | 0.052 |
| predicted_SLG | 0.363 | 0.005 |
| predicted_SO | 0.417 | -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.046 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.796 | 0.000 |
| predicted_AVG | 0.173 | -0.107 |
| predicted_BB | 0.134 | -0.001 |
| predicted_H | 0.484 | -0.010 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.036 | -0.001 |
| predicted_OBP | 0.211 | -0.113 |
| predicted_R | 0.285 | -0.009 |
| predicted_RBI | 0.176 | -0.006 |
| predicted_SLG | 0.229 | -0.134 |
| predicted_SO | 0.419 | 0.002 |
AB rounded to 3 (raw=2.80), rates preserved: AVG=0.173 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 | 0.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.046 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.204 |
| predicted_AVG | 0.333 | 0.160 |
| predicted_BB | 0.000 | -0.134 |
| predicted_H | 1.000 | 0.516 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.333 | 0.122 |
| predicted_R | 0.000 | -0.285 |
| predicted_RBI | 0.000 | -0.176 |
| predicted_SLG | 0.333 | 0.104 |
| predicted_SO | 0.000 | -0.419 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 0.3846 | 0.4286 | 0.3846 | 0.3846 | 0.0000 | 0.0769 | 0.0769 | 0.0000 |
| last_10 | 0.20 | 10 | - | 24.000 | 8.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.3333 | 0.3600 | 0.3333 | 0.3333 | 0.0000 | 0.0417 | 0.0417 | 0.0417 |
| season | 0.60 | 26 | - | 70.000 | 21.000 | 1.000 | 0.000 | 1.000 | 6.000 | 7.000 | 3.000 | 11.000 | 0.3000 | 0.3378 | 0.3571 | 0.3000 | 0.0143 | 0.0857 | 0.0429 | 0.1571 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0600 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.9760 |
| predicted_AVG | 0.3025 |
| predicted_BB | 0.1700 |
| predicted_H | 0.9000 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.3468 |
| predicted_R | 0.3390 |
| predicted_RBI | 0.2720 |
| predicted_SLG | 0.3729 |
| predicted_SO | 0.4070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0380 | 0.0600 | 0.0460 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.6920 | 2.9760 | 2.7958 | model_form_blend |
| predicted_AVG | 0.2680 | 0.3025 | 0.2806 | model_form_blend |
| predicted_BB | 0.1150 | 0.1700 | 0.1351 | model_form_blend |
| predicted_H | 0.2600 | 0.9000 | 0.4940 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.0300 | 0.0480 | 0.0366 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3468 | 0.3241 | model_form_blend |
| predicted_R | 0.2690 | 0.3390 | 0.2946 | model_form_blend |
| predicted_RBI | 0.1300 | 0.2720 | 0.1819 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3729 | 0.3634 | model_form_blend |
| predicted_SO | 0.4230 | 0.4070 | 0.4172 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 26 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.3 |
| 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 | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20260624_TEX@MIA |
| game_type | short |
| mlbID | 670032 |
| playerID | 670032 |
| playerName | Nicky Lopez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-24 |
| sl_k_percent | 14.5 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.312 |
| sl_xwoba | 0.256 |
| sl_xba | 0.238 |
| sl_xslg | 0.292 |
| sl_sweet_spot_percent | 26.2 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 23.0 |
| sl_exit_velocity_avg | 84.5 |
| sl_launch_angle_avg | -0.2 |
| sl_whiff_percent | 18.2 |
| 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_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 2.312 | 2.000 | -2.312 | -2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.375 | 1.000 | 0.625 | 2.000 |
| predicted_H | 9.000 | 9.000 | 9.000 | Pitching_H | 4.500 | 5.000 | 4.500 | 4.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.119 | 6.000 | 0.081 | -0.800 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.750 | 6.000 | -1.750 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.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": "669022",
"player_name": "MacKenzie Gore",
"position": "Starter",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 9.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 9.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"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": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 9.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 29.000 | 11.000 | 30.000 | 11.000 | 30.000 | 2.000 | 3.4138 | 1.4138 | 0.3793 | 1.0345 | 0.3793 | 1.0345 | 0.0690 |
| last_10 | 0.35 | 10 | 53.000 | 23.000 | 47.000 | 22.000 | 50.000 | 3.000 | 3.9057 | 1.3019 | 0.4340 | 0.8868 | 0.4151 | 0.9434 | 0.0566 |
| season | 0.20 | 16 | 84.000 | 38.000 | 72.000 | 37.000 | 92.000 | 8.000 | 4.0714 | 1.2976 | 0.4524 | 0.8571 | 0.4405 | 1.0952 | 0.0952 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1760 |
| predicted_ER | 2.3970 |
| predicted_ERA | 3.9030 |
| predicted_H | 5.2650 |
| predicted_HR | 0.4870 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.5200 |
| predicted_WHIP | 1.3462 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 2.1760 | 1.1955 | model_form_blend |
| predicted_ER | 3.0000 | 2.3970 | 2.6687 | model_form_blend |
| predicted_ERA | - | 3.9030 | 3.9030 | form_only |
| predicted_H | 9.0000 | 5.2650 | 6.9480 | model_form_blend |
| predicted_HR | 0.0000 | 0.4870 | 0.2676 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 4.0000 | 5.5200 | 4.8351 | model_form_blend |
| predicted_WHIP | - | 1.3462 | 1.3462 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 9 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 4 |
| HR | 0 |
| BF | 26 |
| Pitches | 99 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 1 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.07 |
| 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.0 |
| Pitching_Pitches | 95 |
| Pitching_R | 1 |
| Pitching_SO | 6 |
| Pitching_Strikes | 58 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260620_SD@TEX |
| game_type | full |
| mlbID | 669022 |
| playerID | 669022 |
| playerName | MacKenzie Gore |
| pos | P |
| started | True |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-20 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.305 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 45.6 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 78.563303717 |
| sl_avg_hyper_speed | 95.040844867 |
| 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.276 | 1.000 | 1.724 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.517 | 1.000 | -0.517 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.203 | 1.100 | -0.103 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.310 | 2.000 | 0.690 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656641",
"player_name": "Jacob Latz",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.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": 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.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": 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.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 | 2.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.000 | 0.000 | 2.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.2857 | 0.1429 | 1.1429 | 0.0000 |
| last_10 | 0.35 | 10 | 13.100 | 1.000 | 6.000 | 3.000 | 17.000 | 1.000 | 0.6750 | 0.6750 | 0.0750 | 0.4500 | 0.2250 | 1.2750 | 0.0750 |
| season | 0.20 | 28 | 37.000 | 3.000 | 12.000 | 7.000 | 38.000 | 2.000 | 0.7297 | 0.5135 | 0.0811 | 0.3243 | 0.1892 | 1.0270 | 0.0541 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3380 |
| predicted_ER | 0.3040 |
| predicted_ERA | 2.0515 |
| predicted_H | 0.8020 |
| predicted_HR | 0.1080 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4360 |
| predicted_WHIP | 0.8555 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.3380 | 1.2046 | model_form_blend |
| predicted_ER | 0.0000 | 0.3040 | 0.1455 | model_form_blend |
| predicted_ERA | - | 2.0515 | 2.0515 | form_only |
| predicted_H | 0.0000 | 0.8020 | 0.3838 | model_form_blend |
| predicted_HR | 0.0000 | 0.1080 | 0.0517 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.4360 | 1.7301 | model_form_blend |
| predicted_WHIP | - | 0.8555 | 0.8555 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 2 |
| SO | 2 |
| 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.46 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 31 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260622_TEX@MIA |
| game_type | full |
| mlbID | 656641 |
| playerID | 656641 |
| playerName | Jacob Latz |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-22 |
| sl_k_percent | 28.4 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.172 |
| sl_xwoba | 0.238 |
| sl_sweet_spot_percent | 21.6 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 39.8 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 78.308373636 |
| sl_avg_hyper_speed | 93.682270909 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.214 | 1.000 | -0.214 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.893 | 1.000 | 0.107 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.075 | 0.200 | -0.075 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.821 | 0.000 | 0.179 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "596001",
"player_name": "Jakob Junis",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 3.000 | 9.000 | 1.000 | 6.000 | 1.000 | 4.5000 | 1.6667 | 0.5000 | 1.5000 | 0.1667 | 1.0000 | 0.1667 |
| last_10 | 0.35 | 10 | 11.200 | 4.000 | 15.000 | 1.000 | 14.000 | 1.000 | 3.0857 | 1.3714 | 0.3429 | 1.2857 | 0.0857 | 1.2000 | 0.0857 |
| season | 0.20 | 28 | 32.200 | 8.000 | 25.000 | 6.000 | 23.000 | 1.000 | 2.2041 | 0.9490 | 0.2449 | 0.7653 | 0.1837 | 0.7041 | 0.0306 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2820 |
| predicted_ER | 0.5230 |
| predicted_ERA | 3.9604 |
| predicted_H | 1.3580 |
| predicted_HR | 0.1500 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.1680 |
| predicted_WHIP | 1.3805 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2820 | 0.1314 | model_form_blend |
| predicted_ER | 0.0000 | 0.5230 | 0.2436 | model_form_blend |
| predicted_ERA | - | 3.9604 | 3.9604 | form_only |
| predicted_H | 1.0000 | 1.3580 | 1.1668 | model_form_blend |
| predicted_HR | 0.0000 | 0.1500 | 0.0699 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1680 | 1.0783 | model_form_blend |
| predicted_WHIP | - | 1.3805 | 1.3805 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.20 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 17 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260622_TEX@MIA |
| game_type | full |
| mlbID | 596001 |
| playerID | 596001 |
| playerName | Jakob Junis |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-22 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.24 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 33.7 |
| sl_whiff_percent | 18.1 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 75.502672041 |
| sl_avg_hyper_speed | 93.001768776 |
| 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.350 | 0.000 | -0.350 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.050 | 0.000 | -1.050 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.200 | 1.000 | -0.200 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.400 | 2.000 | -1.400 | -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": "682608",
"player_name": "Peyton Gray",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 2.000 | 2.000 | 0.000 | 7.000 | 1.000 | 3.6000 | 0.4000 | 0.4000 | 0.4000 | 0.0000 | 1.4000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.100 | 4.000 | 6.000 | 0.000 | 13.000 | 2.000 | 3.4839 | 0.5806 | 0.3871 | 0.5806 | 0.0000 | 1.2581 | 0.1935 |
| season | 0.20 | 20 | 26.100 | 10.000 | 21.000 | 7.000 | 28.000 | 3.000 | 3.4177 | 1.0633 | 0.3797 | 0.7975 | 0.2658 | 1.0633 | 0.1139 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2100 |
| predicted_ER | 0.4600 |
| predicted_ERA | 3.9996 |
| predicted_H | 0.7770 |
| predicted_HR | 0.1690 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1570 |
| predicted_WHIP | 0.9550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2100 | 0.0931 | model_form_blend |
| predicted_ER | 0.0000 | 0.4600 | 0.2039 | model_form_blend |
| predicted_ERA | - | 3.9996 | 3.9996 | form_only |
| predicted_H | 0.0000 | 0.7770 | 0.3444 | model_form_blend |
| predicted_HR | 0.0000 | 0.1690 | 0.0749 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1570 | 0.5128 | model_form_blend |
| predicted_WHIP | - | 0.9550 | 0.9550 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.42 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260621_SD@TEX |
| game_type | full |
| mlbID | 682608 |
| playerID | 682608 |
| playerName | Peyton Gray |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-21 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.263 |
| sl_xwoba | 0.287 |
| sl_sweet_spot_percent | 30.7 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 49.5 |
| sl_avg_best_speed | 77.00685 |
| sl_avg_hyper_speed | 93.355568493 |
| Field | Value |
|---|---|
| Pitcher | Kevin Gausman |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3158 |
| ESPN Rank | 67 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0270 |
| Avg Velo | 89.2691 |
| Avg Spin | 1995.6635 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 4.0449 |
| Season WHIP | 1.1348 |
| Role Avg IP | 5.5620 |
| Recent Avg IP | 5 |
| Last Start IP | 2 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"opponent": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"edges": {
"quality_edge": 0.0332,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.0965,
"defense_strength": 0.0649,
"opponent_defense_weakness": -0.076,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0071,
"run_prevention": 0.9764,
"strikeout": 1.0087
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592332",
"profile": {
"available": true,
"pitcher_id": "592332",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 276.0,
"k_percent": 24.3,
"bb_percent": 5.5,
"woba": 0.296,
"xwoba": 0.293,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 36.3,
"avg_best_speed": 76.0302,
"avg_hyper_speed": 94.1344,
"whiff_percent": 28.1,
"swing_percent": 50.3
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.369,
"command_and_miss": 0.3954,
"regression_edge": 0.0857,
"xwoba_edge": 0.6143,
"barrel_edge": -0.1444,
"hard_hit_edge": 0.2857,
"whiff_edge": 0.3214,
"bb_edge": 0.9,
"pitch_design_score": -0.027
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592332",
"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": 89.26906709262376,
"release_spin_rate": 1995.663462806391,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.26906709262376,
"release_spin_rate": 1995.663462806391,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2691,
"release_spin_rate": 1995.6635,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.027,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1929,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3158,
"sample_weight": 1.0,
"run_prevention_factor": 0.9732,
"strikeout_factor": 1.022,
"walk_factor": 0.928,
"homer_factor": 0.9817,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592332",
"espn_id": 32667,
"player_name": "Kevin Gausman",
"team": "TOR",
"role": "pitcher",
"espn_rank": 67,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 67,
"gp_value": 16.0,
"gp_rank": 240,
"gs_value": 16.0,
"gs_rank": 5,
"qs_value": 8.0,
"qs_rank": 26,
"era_value": 4.0449,
"era_rank": 46.0,
"w_value": 4.0,
"w_rank": 79,
"l_value": 5.0,
"l_rank": 45,
"sv_value": 0.0,
"sv_rank": 178,
"hld_value": 0.0,
"hld_rank": 266,
"ip_value": 89.0,
"ip_rank": 28,
"h_value": 81.0,
"h_rank": 35,
"er_value": 40.0,
"er_rank": 37,
"hr_value": 11.0,
"hr_rank": 47,
"bb_value": 20.0,
"bb_rank": 130,
"k_value": 89.0,
"k_rank": 24,
"k_per_9_value": 9.0,
"k_per_9_rank": 23,
"whip_value": 1.1348,
"whip_rank": 24.0,
"war_value": 1.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9732,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9732,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.928,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9817,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.022,
"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.0,
"ER": 30,
"H": 54,
"BB": 14,
"SO": 51,
"HR": 8,
"ERA": 5.0,
"WHIP": 1.2592592592592593,
"K9": 8.5,
"HR9": 1.3333333333333333,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-19T00:00:00"
}{
"available": true,
"pitcher_id": "592332",
"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": 89.26906709262376,
"release_spin_rate": 1995.663462806391,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.26906709262376,
"release_spin_rate": 1995.663462806391,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2691,
"release_spin_rate": 1995.6635,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.027,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1929,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "592332",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.0,
"ER": 17.0,
"R": 17.0,
"H": 24.0,
"BB": 10.0,
"SO": 28.0,
"HR": 5.0,
"BF": 108.0,
"Pitches": 457.0
},
"per_game": {
"IP": 5.0,
"ER": 3.4,
"R": 3.4,
"H": 4.8,
"BB": 2.0,
"SO": 5.6,
"HR": 1.0,
"BF": 21.6,
"Pitches": 91.4
},
"rates": {
"ERA": 6.12,
"WHIP": 1.36,
"ER_per_IP": 0.68,
"H_per_IP": 0.96,
"BB_per_IP": 0.4,
"SO_per_IP": 1.12,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.0,
"ER": 30.0,
"R": 31.0,
"H": 54.0,
"BB": 14.0,
"SO": 51.0,
"HR": 8.0,
"BF": 228.0,
"Pitches": 938.0
},
"per_game": {
"IP": 5.1,
"ER": 3.0,
"R": 3.1,
"H": 5.4,
"BB": 1.4,
"SO": 5.1,
"HR": 0.8,
"BF": 22.8,
"Pitches": 93.8
},
"rates": {
"ERA": 5.0,
"WHIP": 1.2593,
"ER_per_IP": 0.55556,
"H_per_IP": 1.0,
"BB_per_IP": 0.25926,
"SO_per_IP": 0.94444,
"HR_per_IP": 0.14815
}
},
"season": {
"games": 16,
"totals": {
"IP": 89.0,
"ER": 40.0,
"R": 42.0,
"H": 81.0,
"BB": 20.0,
"SO": 89.0,
"HR": 11.0,
"BF": 366.0,
"Pitches": 1468.0
},
"per_game": {
"IP": 5.2,
"ER": 2.5,
"R": 2.625,
"H": 5.0625,
"BB": 1.25,
"SO": 5.5625,
"HR": 0.6875,
"BF": 22.875,
"Pitches": 91.75
},
"rates": {
"ERA": 4.0449,
"WHIP": 1.1348,
"ER_per_IP": 0.44944,
"H_per_IP": 0.91011,
"BB_per_IP": 0.22472,
"SO_per_IP": 1.0,
"HR_per_IP": 0.1236
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.997,
"predicted_H": 5.087,
"predicted_BB": 1.72,
"predicted_SO": 5.342,
"predicted_HR": 0.852,
"predicted_ERA": 5.1186,
"predicted_WHIP": 1.2916
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.997,
"final": 3.4489,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.087,
"final": 5.4984,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.72,
"final": 1.8462,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.342,
"final": 4.7373,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.852,
"final": 0.4681,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1186,
"final": 5.1186,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2916,
"final": 1.2916,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Louis Varland |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5802 |
| ESPN Rank | 19 |
| 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 | 0.8372 |
| Season WHIP | 0.9302 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"opponent": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"edges": {
"quality_edge": 0.0332,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.0965,
"defense_strength": 0.0649,
"opponent_defense_weakness": -0.076,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0071,
"run_prevention": 0.9764,
"strikeout": 1.0087
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686973",
"profile": {
"available": true,
"pitcher_id": "686973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 111.0,
"k_percent": 35.4,
"bb_percent": 7.3,
"woba": 0.217,
"xwoba": 0.22,
"sweet_spot_percent": 22.3,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 35.1,
"avg_best_speed": 74.8553,
"avg_hyper_speed": 93.1598,
"whiff_percent": 28.7,
"swing_percent": 51.6
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.8309,
"command_and_miss": 1.0489,
"regression_edge": -0.0857,
"xwoba_edge": 2.5,
"barrel_edge": 0.8778,
"hard_hit_edge": 0.4571,
"whiff_edge": 0.4071,
"bb_edge": 0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "686973",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5802,
"sample_weight": 0.45,
"run_prevention_factor": 0.9507,
"strikeout_factor": 1.04,
"walk_factor": 0.9838,
"homer_factor": 0.9264,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686973",
"espn_id": 4917888,
"player_name": "Louis Varland",
"team": "TOR",
"role": "pitcher",
"espn_rank": 19,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 19,
"gp_value": 38.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 0.8372,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 16.0,
"sv_rank": 7,
"hld_value": 5.0,
"hld_rank": 97,
"ip_value": 43.0,
"ip_rank": 162,
"h_value": 28.0,
"h_rank": 258,
"er_value": 4.0,
"er_rank": 540,
"hr_value": 1.0,
"hr_rank": 470,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 58.0,
"k_rank": 107,
"k_per_9_value": 12.139535,
"k_per_9_rank": 17,
"whip_value": 0.9302,
"whip_rank": null,
"war_value": 2.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9778,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9778,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9669,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.018,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.0,
"ER": 3,
"H": 5,
"BB": 3,
"SO": 16,
"HR": 1,
"ERA": 2.25,
"WHIP": 0.6666666666666666,
"K9": 12.0,
"HR9": 0.75,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-22T00:00:00"
}{
"available": false,
"pitcher_id": "686973",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.514,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.63,
"prior_weight": 0.37
},
"role": "pitcher",
"player_id": "686973",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 2.0,
"HR": 0.2,
"BF": 4.8,
"Pitches": 16.4
},
"rates": {
"ERA": 2.8421,
"WHIP": 0.7895,
"ER_per_IP": 0.31579,
"H_per_IP": 0.47368,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.57895,
"HR_per_IP": 0.15789
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 3.0,
"SO": 16.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.3,
"SO": 1.6,
"HR": 0.1,
"BF": 4.4,
"Pitches": 15.6
},
"rates": {
"ERA": 2.25,
"WHIP": 0.6667,
"ER_per_IP": 0.25,
"H_per_IP": 0.41667,
"BB_per_IP": 0.25,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.08333
}
},
"season": {
"games": 38,
"totals": {
"IP": 43.0,
"ER": 4.0,
"R": 9.0,
"H": 28.0,
"BB": 12.0,
"SO": 58.0,
"HR": 1.0,
"BF": 164.0,
"Pitches": 669.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1053,
"R": 0.2368,
"H": 0.7368,
"BB": 0.3158,
"SO": 1.5263,
"HR": 0.0263,
"BF": 4.3158,
"Pitches": 17.6053
},
"rates": {
"ERA": 0.8372,
"WHIP": 0.9302,
"ER_per_IP": 0.09302,
"H_per_IP": 0.65116,
"BB_per_IP": 0.27907,
"SO_per_IP": 1.34884,
"HR_per_IP": 0.02326
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.441,
"predicted_H": 0.861,
"predicted_BB": 0.404,
"predicted_SO": 1.63,
"predicted_HR": 0.155,
"predicted_ERA": 3.0711,
"predicted_WHIP": 0.98
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5063,
"form_weight": 0.4937,
"form_reliability": 0.63,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.514,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.63,
"prior_weight": 0.37
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.441,
"final": 0.2177,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.861,
"final": 0.9314,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.404,
"final": 0.1994,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.63,
"final": 0.8047,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.155,
"final": 0.0765,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0711,
"final": 3.0711,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.98,
"final": 0.98,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jeff Hoffman |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3982 |
| ESPN Rank | 619 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.8396 |
| Season WHIP | 1.5000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"opponent": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"edges": {
"quality_edge": 0.0332,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.0965,
"defense_strength": 0.0649,
"opponent_defense_weakness": -0.076,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0071,
"run_prevention": 0.9764,
"strikeout": 1.0087
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656546",
"profile": {
"available": true,
"pitcher_id": "656546",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 35.4,
"bb_percent": 8.7,
"woba": 0.335,
"xwoba": 0.276,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 27.9,
"avg_best_speed": 76.0471,
"avg_hyper_speed": 92.5184,
"whiff_percent": 38.6,
"swing_percent": 50.1
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.5949,
"command_and_miss": 1.4739,
"regression_edge": 1.6857,
"xwoba_edge": 1.1,
"barrel_edge": 0.0111,
"hard_hit_edge": 1.4857,
"whiff_edge": 1.8214,
"bb_edge": 0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656546",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3982,
"sample_weight": 0.45,
"run_prevention_factor": 0.9662,
"strikeout_factor": 1.0654,
"walk_factor": 0.9964,
"homer_factor": 0.958,
"woba_minus_xwoba": 0.059,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656546",
"espn_id": 33841,
"player_name": "Jeff Hoffman",
"team": "TOR",
"role": "pitcher",
"espn_rank": 619,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 619,
"gp_value": 38.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 4.8396,
"era_rank": null,
"w_value": 5.0,
"w_rank": 51,
"l_value": 5.0,
"l_rank": 45,
"sv_value": 5.0,
"sv_rank": 31,
"hld_value": 8.0,
"hld_rank": 49,
"ip_value": 35.1,
"ip_rank": 212,
"h_value": 39.0,
"h_rank": 167,
"er_value": 19.0,
"er_rank": 172,
"hr_value": 4.0,
"hr_rank": 225,
"bb_value": 14.0,
"bb_rank": 226,
"k_value": 57.0,
"k_rank": 111,
"k_per_9_value": 14.5188675,
"k_per_9_rank": 14,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9848,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9848,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9984,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9811,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0294,
"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": 12,
"HR": 1,
"ERA": 0.9310344827586208,
"WHIP": 0.8275862068965518,
"K9": 11.172413793103448,
"HR9": 0.9310344827586208,
"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-06-24T00:00:00"
}{
"available": false,
"pitcher_id": "656546",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.996,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5832,
"prior_weight": 0.4168
},
"role": "pitcher",
"player_id": "656546",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 1.0,
"H": 2.0,
"BB": 3.0,
"SO": 5.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.4,
"BB": 0.6,
"SO": 1.0,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.6,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 2.0,
"H": 4.0,
"BB": 4.0,
"SO": 12.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.1,
"BF": 3.8,
"Pitches": 15.2
},
"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.24138,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 38,
"totals": {
"IP": 35.1,
"ER": 19.0,
"R": 23.0,
"H": 39.0,
"BB": 14.0,
"SO": 57.0,
"HR": 4.0,
"BF": 161.0,
"Pitches": 647.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.6053,
"H": 1.0263,
"BB": 0.3684,
"SO": 1.5,
"HR": 0.1053,
"BF": 4.2368,
"Pitches": 17.0263
},
"rates": {
"ERA": 4.8396,
"WHIP": 1.5,
"ER_per_IP": 0.53774,
"H_per_IP": 1.10377,
"BB_per_IP": 0.39623,
"SO_per_IP": 1.61321,
"HR_per_IP": 0.11321
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.292,
"predicted_H": 0.722,
"predicted_BB": 0.438,
"predicted_SO": 1.099,
"predicted_HR": 0.095,
"predicted_ERA": 2.6288,
"predicted_WHIP": 1.1605
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5261,
"form_weight": 0.4739,
"form_reliability": 0.5832,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.996,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5832,
"prior_weight": 0.4168
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.292,
"final": 0.1384,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.722,
"final": 0.3422,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.438,
"final": 0.2076,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.099,
"final": 0.5208,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.095,
"final": 0.045,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6288,
"final": 2.6288,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1605,
"final": 1.1605,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tyler Rogers |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2699 |
| 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 | 2 |
| Season ERA | 1.9115 |
| Season WHIP | 1.2212 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"opponent": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"edges": {
"quality_edge": 0.0332,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.0965,
"defense_strength": 0.0649,
"opponent_defense_weakness": -0.076,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0071,
"run_prevention": 0.9764,
"strikeout": 1.0087
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "643511",
"profile": {
"available": true,
"pitcher_id": "643511",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 12.7,
"bb_percent": 7.6,
"woba": 0.254,
"xwoba": 0.257,
"sweet_spot_percent": 24.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 25.6,
"avg_best_speed": 72.2528,
"avg_hyper_speed": 92.1669,
"whiff_percent": 14.1,
"swing_percent": 48.9
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.6229,
"command_and_miss": -1.1554,
"regression_edge": -0.0857,
"xwoba_edge": 1.6429,
"barrel_edge": 1.5889,
"hard_hit_edge": 1.8143,
"whiff_edge": -1.6786,
"bb_edge": 0.375,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "643511",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2699,
"sample_weight": 0.45,
"run_prevention_factor": 0.9771,
"strikeout_factor": 0.9441,
"walk_factor": 0.9865,
"homer_factor": 0.888,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643511",
"espn_id": 34026,
"player_name": "Tyler Rogers",
"team": "TOR",
"role": "pitcher",
"espn_rank": 171,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 171,
"gp_value": 39.0,
"gp_rank": 5,
"gs_value": 0.0,
"gs_rank": 296,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 1.9115,
"era_rank": null,
"w_value": 1.0,
"w_rank": 298,
"l_value": 2.0,
"l_rank": 196,
"sv_value": 2.0,
"sv_rank": 57,
"hld_value": 17.0,
"hld_rank": 3,
"ip_value": 37.2,
"ip_rank": 191,
"h_value": 34.0,
"h_rank": 196,
"er_value": 8.0,
"er_rank": 417,
"hr_value": 0.0,
"hr_rank": 599,
"bb_value": 12.0,
"bb_rank": 266,
"k_value": 20.0,
"k_rank": 368,
"k_per_9_value": 4.7787614,
"k_per_9_rank": 52,
"whip_value": 1.2212,
"whip_rank": null,
"war_value": 0.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9897,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9897,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9939,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9496,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9748,
"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": 10.0,
"ER": 1,
"H": 13,
"BB": 3,
"SO": 4,
"HR": 0,
"ERA": 0.9,
"WHIP": 1.6,
"K9": 3.6,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "643511",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.458,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5986,
"prior_weight": 0.4014
},
"role": "pitcher",
"player_id": "643511",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 7.0,
"H": 10.0,
"BB": 2.0,
"SO": 0.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 93.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 1.4,
"H": 2.0,
"BB": 0.4,
"SO": 0.0,
"HR": 0.0,
"BF": 5.4,
"Pitches": 18.6
},
"rates": {
"ERA": 1.9286,
"WHIP": 2.5714,
"ER_per_IP": 0.21429,
"H_per_IP": 2.14286,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 7.0,
"H": 13.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 46.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.7,
"H": 1.3,
"BB": 0.3,
"SO": 0.4,
"HR": 0.0,
"BF": 4.6,
"Pitches": 16.3
},
"rates": {
"ERA": 0.9,
"WHIP": 1.6,
"ER_per_IP": 0.1,
"H_per_IP": 1.3,
"BB_per_IP": 0.3,
"SO_per_IP": 0.4,
"HR_per_IP": 0.0
}
},
"season": {
"games": 39,
"totals": {
"IP": 37.2,
"ER": 8.0,
"R": 15.0,
"H": 34.0,
"BB": 12.0,
"SO": 20.0,
"HR": 0.0,
"BF": 158.0,
"Pitches": 552.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2051,
"R": 0.3846,
"H": 0.8718,
"BB": 0.3077,
"SO": 0.5128,
"HR": 0.0,
"BF": 4.0513,
"Pitches": 14.1538
},
"rates": {
"ERA": 1.9115,
"WHIP": 1.2212,
"ER_per_IP": 0.21239,
"H_per_IP": 0.90265,
"BB_per_IP": 0.31858,
"SO_per_IP": 0.53097,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.305,
"predicted_H": 1.347,
"predicted_BB": 0.361,
"predicted_SO": 0.528,
"predicted_HR": 0.059,
"predicted_ERA": 2.7419,
"predicted_WHIP": 1.7078
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5196,
"form_weight": 0.4804,
"form_reliability": 0.5986,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.458,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5986,
"prior_weight": 0.4014
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.305,
"final": 0.1465,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.347,
"final": 0.6471,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.361,
"final": 0.1734,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.528,
"final": 1.2928,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.059,
"final": 0.0283,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7419,
"final": 2.7419,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7078,
"final": 1.7078,
"source": "form_only"
}
}
}{
"available": false,
"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 | Braydon Fisher |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0412 |
| ESPN Rank | 164 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.3488 |
| Season WHIP | 1.1395 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 87,
"wins": 42,
"losses": 45,
"win_pct": 0.4828,
"runs_scored": 360.0,
"runs_allowed": 368.0,
"run_differential": -8.0,
"run_differential_per_game": -0.092,
"avg_runs_scored": 4.1379,
"avg_runs_allowed": 4.2299,
"offense_index": 0.9187,
"defense_index": 1.0649,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 4.8,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.0259
},
"opponent": {
"team": "TEX",
"games": 86,
"wins": 42,
"losses": 44,
"win_pct": 0.4884,
"runs_scored": 350.0,
"runs_allowed": 360.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1163,
"avg_runs_scored": 4.0698,
"avg_runs_allowed": 4.186,
"offense_index": 0.9035,
"defense_index": 1.076,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 5.8,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.0591
},
"edges": {
"quality_edge": 0.0332,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.0965,
"defense_strength": 0.0649,
"opponent_defense_weakness": -0.076,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0071,
"run_prevention": 0.9764,
"strikeout": 1.0087
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680755",
"profile": {
"available": true,
"pitcher_id": "680755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 118.0,
"k_percent": 24.4,
"bb_percent": 11.6,
"woba": 0.284,
"xwoba": 0.303,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 38.0,
"avg_best_speed": 76.3807,
"avg_hyper_speed": 93.4743,
"whiff_percent": 27.6,
"swing_percent": 46.0
},
"league_medians": {
"pa": 67.5,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.3145,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.15,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.7784,
"avg_hyper_speed": 93.9491,
"whiff_percent": 25.85,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2194,
"command_and_miss": 0.0718,
"regression_edge": -0.5429,
"xwoba_edge": 0.3286,
"barrel_edge": -0.8778,
"hard_hit_edge": 0.0429,
"whiff_edge": 0.25,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "680755",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0412,
"sample_weight": 0.472,
"run_prevention_factor": 0.9965,
"strikeout_factor": 1.0093,
"walk_factor": 1.0236,
"homer_factor": 1.0277,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680755",
"espn_id": 41318,
"player_name": "Braydon Fisher",
"team": "TOR",
"role": "pitcher",
"espn_rank": 164,
"espn_total_ranked": 718,
"metrics": {
"espn_rank": 164,
"gp_value": 40.0,
"gp_rank": 3,
"gs_value": 5.0,
"gs_rank": 172,
"qs_value": 0.0,
"qs_rank": 179,
"era_value": 3.3488,
"era_rank": null,
"w_value": 3.0,
"w_rank": 120,
"l_value": 3.0,
"l_rank": 126,
"sv_value": 1.0,
"sv_rank": 93,
"hld_value": 8.0,
"hld_rank": 49,
"ip_value": 43.0,
"ip_rank": 162,
"h_value": 29.0,
"h_rank": 247,
"er_value": 16.0,
"er_rank": 216,
"hr_value": 5.0,
"hr_rank": 179,
"bb_value": 20.0,
"bb_rank": 130,
"k_value": 42.0,
"k_rank": 168,
"k_per_9_value": 8.790698,
"k_per_9_rank": 28,
"whip_value": 1.1395,
"whip_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9983,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9983,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0111,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0131,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0044,
"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": 7,
"H": 10,
"BB": 8,
"SO": 9,
"HR": 3,
"ERA": 6.096774193548388,
"WHIP": 1.741935483870968,
"K9": 7.838709677419356,
"HR9": 2.612903225806452,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-23T00:00:00"
}{
"available": false,
"pitcher_id": "680755",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.514,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.63,
"prior_weight": 0.37
},
"role": "pitcher",
"player_id": "680755",
"report_date": "20260625_T",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 5.0,
"R": 6.0,
"H": 4.0,
"BB": 5.0,
"SO": 3.0,
"HR": 2.0,
"BF": 28.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.1,
"ER": 1.0,
"R": 1.2,
"H": 0.8,
"BB": 1.0,
"SO": 0.6,
"HR": 0.4,
"BF": 5.6,
"Pitches": 19.4
},
"rates": {
"ERA": 7.1053,
"WHIP": 1.4211,
"ER_per_IP": 0.78947,
"H_per_IP": 0.63158,
"BB_per_IP": 0.78947,
"SO_per_IP": 0.47368,
"HR_per_IP": 0.31579
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 7.0,
"R": 8.0,
"H": 10.0,
"BB": 8.0,
"SO": 9.0,
"HR": 3.0,
"BF": 49.0,
"Pitches": 192.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.0,
"BB": 0.8,
"SO": 0.9,
"HR": 0.3,
"BF": 4.9,
"Pitches": 19.2
},
"rates": {
"ERA": 6.0968,
"WHIP": 1.7419,
"ER_per_IP": 0.67742,
"H_per_IP": 0.96774,
"BB_per_IP": 0.77419,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.29032
}
},
"season": {
"games": 40,
"totals": {
"IP": 43.0,
"ER": 16.0,
"R": 20.0,
"H": 29.0,
"BB": 20.0,
"SO": 42.0,
"HR": 5.0,
"BF": 172.0,
"Pitches": 685.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.725,
"BB": 0.5,
"SO": 1.05,
"HR": 0.125,
"BF": 4.3,
"Pitches": 17.125
},
"rates": {
"ERA": 3.3488,
"WHIP": 1.1395,
"ER_per_IP": 0.37209,
"H_per_IP": 0.67442,
"BB_per_IP": 0.46512,
"SO_per_IP": 0.97674,
"HR_per_IP": 0.11628
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.513,
"predicted_H": 0.709,
"predicted_BB": 0.497,
"predicted_SO": 0.678,
"predicted_HR": 0.188,
"predicted_ERA": 5.4444,
"predicted_WHIP": 1.4225
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5063,
"form_weight": 0.4937,
"form_reliability": 0.63,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.514,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.63,
"prior_weight": 0.37
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.513,
"final": 0.2533,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.709,
"final": 0.35,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.497,
"final": 0.7517,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.678,
"final": 1.3474,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.188,
"final": 0.0928,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4444,
"final": 5.4444,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4225,
"final": 1.4225,
"source": "form_only"
}
}
}{
"available": false,
"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.143 | 0.000 | 0.000 | Hitting_2B | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.870 | 3.000 | 4.000 | Hitting_AB | 3.709 | 4.000 | -0.709 | -1.000 |
| predicted_AVG | 0.244 | 0.333 | 0.250 | Hitting_AVG | 0.226 | 0.000 | 0.107 | 0.333 |
| predicted_BB | 0.416 | 1.000 | 0.000 | Hitting_BB | 0.441 | 0.000 | 0.559 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 0.838 | 0.000 | 0.162 | 1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_OBP | 0.350 | 0.500 | 0.250 | Hitting_OBP | 0.315 | 0.000 | 0.185 | 0.500 |
| predicted_R | 0.519 | 0.000 | 1.000 | Hitting_R | 0.514 | 0.000 | -0.514 | 0.000 |
| predicted_RBI | 0.750 | 0.000 | 1.000 | Hitting_RBI | 0.599 | 0.000 | -0.599 | 0.000 |
| predicted_SLG | 0.481 | 0.333 | 0.250 | Hitting_SLG | 0.436 | 0.000 | -0.102 | 0.333 |
| predicted_SO | 1.325 | 1.000 | 1.000 | Hitting_SO | 1.320 | 2.000 | -0.320 | -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.4160 -> 1.0000 (boost 0.5840, better) |
| Biggest Deboost | predicted_AB: 3.8700 -> 3.0000 (deboost -0.8700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_SLG: 0.4810 -> 0.5079 (boost 0.0269, better) | predicted_AB: 3.8700 -> 3.7485 (deboost -0.1215, worse) | Final model input calibrated with local 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.3569 -> 0.3303 (deboost -0.0266, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_AB: 3.7485 -> 4.0000 (boost 0.2515, better) | predicted_BB: 0.4413 -> 0.0000 (deboost -0.4413, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.244 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5487 -> 1.0000 (boost 0.4513, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4874 -> 0.2500 (deboost -0.2374, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | 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 |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4874 (boost 0.2374, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"position": "3B",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.0,
"predicted_AB": 3.87,
"predicted_AVG": 0.244,
"predicted_BB": 0.416,
"predicted_H": 0.94,
"predicted_HR": 0.23,
"predicted_OBP": 0.35,
"predicted_R": 0.519,
"predicted_RBI": 0.75,
"predicted_SLG": 0.481,
"predicted_SO": 1.325
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1621,
"predicted_3B": 0.0004,
"predicted_AB": 3.7485,
"predicted_AVG": 0.2551,
"predicted_BB": 0.4423,
"predicted_H": 0.9519,
"predicted_HBP": 0.088,
"predicted_HR": 0.2444,
"predicted_OBP": 0.3569,
"predicted_R": 0.5568,
"predicted_RBI": 0.7819,
"predicted_SLG": 0.5079,
"predicted_SO": 1.2485
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1621,
"delta": 0.0191,
"percent_delta": 0.1336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 3.7485,
"delta": -0.1215,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2551,
"delta": 0.0111,
"percent_delta": 0.0455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.4423,
"delta": 0.0263,
"percent_delta": 0.0632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9519,
"delta": 0.0119,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2444,
"delta": 0.0144,
"percent_delta": 0.0626,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3569,
"delta": 0.0069,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.5568,
"delta": 0.0378,
"percent_delta": 0.0728,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 0.7819,
"delta": 0.0319,
"percent_delta": 0.0425,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.5079,
"delta": 0.0269,
"percent_delta": 0.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.325,
"after": 1.2485,
"delta": -0.0765,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.5079,
"delta": 0.0269,
"percent_delta": 0.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.87,
"after": 3.7485,
"delta": -0.1215,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1621,
"predicted_3B": 0.0004,
"predicted_AB": 3.7485,
"predicted_AVG": 0.2514,
"predicted_BB": 0.4413,
"predicted_H": 0.9425,
"predicted_HBP": 0.088,
"predicted_HR": 0.2406,
"predicted_OBP": 0.3303,
"predicted_R": 0.5487,
"predicted_RBI": 0.7706,
"predicted_SLG": 0.4874,
"predicted_SO": 1.2514
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1621,
"after": 0.1621,
"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.7485,
"after": 3.7485,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2551,
"after": 0.2514,
"delta": -0.0037,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4423,
"after": 0.4413,
"delta": -0.001,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9519,
"after": 0.9425,
"delta": -0.0094,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.088,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2444,
"after": 0.2406,
"delta": -0.0038,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3569,
"after": 0.3303,
"delta": -0.0266,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5568,
"after": 0.5487,
"delta": -0.0081,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7819,
"after": 0.7706,
"delta": -0.0113,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5079,
"after": 0.4874,
"delta": -0.0205,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2485,
"after": 1.2514,
"delta": 0.0029,
"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_OBP",
"before": 0.3569,
"after": 0.3303,
"delta": -0.0266,
"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.87), rates preserved: AVG=0.244 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.1621,
"after": 0.0,
"delta": -0.1621,
"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.7485,
"after": 4.0,
"delta": 0.2515,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4413,
"after": 0.0,
"delta": -0.4413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9425,
"after": 1.0,
"delta": 0.0575,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.0,
"delta": -0.088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2406,
"after": 0.0,
"delta": -0.2406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7706,
"after": 1.0,
"delta": 0.2294,
"percent_delta": 0.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2514,
"after": 1.0,
"delta": -0.2514,
"percent_delta": -0.2009,
"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": 3.7485,
"after": 4.0,
"delta": 0.2515,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4413,
"after": 0.0,
"delta": -0.4413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5487,
"after": 1.0,
"delta": 0.4513,
"percent_delta": 0.8225,
"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.5487,
"after": 1.0,
"delta": 0.4513,
"percent_delta": 0.8225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2514,
"after": 0.25,
"delta": -0.0014,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3303,
"after": 0.25,
"delta": -0.0803,
"percent_delta": -0.2431,
"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.4874,
"after": 0.25,
"delta": -0.2374,
"percent_delta": -0.4871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4874,
"after": 0.25,
"delta": -0.2374,
"percent_delta": -0.4871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2514,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3303,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4874,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2514,
"delta": 0.0014,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3303,
"delta": 0.0803,
"percent_delta": 0.3211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4874,
"delta": 0.2374,
"percent_delta": 0.9496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4874,
"delta": 0.2374,
"percent_delta": 0.9496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 3.0,
"delta": -0.87,
"percent_delta": -0.2248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2514,
"delta": 0.0074,
"percent_delta": 0.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 1.0,
"delta": 0.584,
"percent_delta": 1.4038,
"direction": "boost",
"projection_effect": "better",
"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.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3303,
"delta": -0.0197,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.0,
"delta": -0.519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.4874,
"delta": 0.0064,
"percent_delta": 0.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.325,
"after": 1.0,
"delta": -0.325,
"percent_delta": -0.2453,
"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.416,
"after": 1.0,
"delta": 0.584,
"percent_delta": 1.4038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.87,
"after": 3.0,
"delta": -0.87,
"percent_delta": -0.2248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.000 | - |
| predicted_AB | 3.870 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.416 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.519 | - |
| predicted_RBI | 0.750 | - |
| predicted_SLG | 0.481 | - |
| predicted_SO | 1.325 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.748 | -0.122 |
| predicted_AVG | 0.255 | 0.011 |
| predicted_BB | 0.442 | 0.026 |
| predicted_H | 0.952 | 0.012 |
| predicted_HBP | 0.088 | - |
| predicted_HR | 0.244 | 0.014 |
| predicted_OBP | 0.357 | 0.007 |
| predicted_R | 0.557 | 0.038 |
| predicted_RBI | 0.782 | 0.032 |
| predicted_SLG | 0.508 | 0.027 |
| predicted_SO | 1.248 | -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.162 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.748 | 0.000 |
| predicted_AVG | 0.251 | -0.004 |
| predicted_BB | 0.441 | -0.001 |
| predicted_H | 0.943 | -0.009 |
| predicted_HBP | 0.088 | 0.000 |
| predicted_HR | 0.241 | -0.004 |
| predicted_OBP | 0.330 | -0.027 |
| predicted_R | 0.549 | -0.008 |
| predicted_RBI | 0.771 | -0.011 |
| predicted_SLG | 0.487 | -0.021 |
| predicted_SO | 1.251 | 0.003 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.244 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 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.162 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.252 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.441 |
| predicted_H | 1.000 | 0.057 |
| predicted_HR | 0.000 | -0.241 |
| predicted_OBP | 0.250 | -0.080 |
| predicted_R | 1.000 | 0.451 |
| predicted_RBI | 1.000 | 0.229 |
| predicted_SLG | 0.250 | -0.237 |
| predicted_SO | 1.000 | -0.251 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 1.000 | 0.000 | 2.000 | 7.000 | 4.000 | 3.000 | 4.000 | 0.3529 | 0.4762 | 0.7647 | 0.3529 | 0.1177 | 0.4118 | 0.1765 | 0.2353 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 3.000 | 0.000 | 3.000 | 9.000 | 7.000 | 6.000 | 11.000 | 0.2941 | 0.4146 | 0.6471 | 0.2941 | 0.0882 | 0.2647 | 0.1765 | 0.3235 |
| season | 0.60 | 77 | - | 282.000 | 67.000 | 11.000 | 0.000 | 17.000 | 49.000 | 40.000 | 32.000 | 102.000 | 0.2376 | 0.3219 | 0.4574 | 0.2376 | 0.0603 | 0.1738 | 0.1135 | 0.3617 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1880 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5840 |
| predicted_AVG | 0.2701 |
| predicted_BB | 0.4780 |
| predicted_H | 0.9680 |
| predicted_HBP | 0.0880 |
| predicted_HR | 0.2640 |
| predicted_OBP | 0.3663 |
| predicted_R | 0.6080 |
| predicted_RBI | 0.8250 |
| predicted_SLG | 0.5442 |
| predicted_SO | 1.1450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1880 | 0.1621 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8700 | 3.5840 | 3.7485 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2701 | 0.2551 | model_form_blend |
| predicted_BB | 0.4160 | 0.4780 | 0.4423 | model_form_blend |
| predicted_H | 0.9400 | 0.9680 | 0.9519 | model_form_blend |
| predicted_HBP | - | 0.0880 | 0.0880 | form_only |
| predicted_HR | 0.2300 | 0.2640 | 0.2444 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3663 | 0.3569 | model_form_blend |
| predicted_R | 0.5190 | 0.6080 | 0.5568 | model_form_blend |
| predicted_RBI | 0.7500 | 0.8250 | 0.7819 | model_form_blend |
| predicted_SLG | 0.4810 | 0.5442 | 0.5079 | model_form_blend |
| predicted_SO | 1.3250 | 1.1450 | 1.2485 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 247 |
| Season rows before report date | 247 |
| Report year | 2026 |
| Profile rows used | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.238 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 3B |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 672960 |
| playerID | 672960 |
| playerName | Kazuma Okamoto |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 31.9 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.34 |
| sl_xwoba | 0.331 |
| sl_xba | 0.222 |
| sl_xslg | 0.446 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 14.8 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 33.9 |
| 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.190 | 0.000 | 0.000 | Hitting_2B | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.450 | 5.000 | 4.000 | Hitting_AB | 4.049 | 4.000 | 0.951 | 1.000 |
| predicted_AVG | 0.231 | 0.000 | 0.250 | Hitting_AVG | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_BB | 0.466 | 0.000 | 0.000 | Hitting_BB | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 1.030 | 0.000 | 1.000 | Hitting_H | 0.879 | 0.000 | -0.879 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.322 | 0.000 | 0.250 | Hitting_OBP | 0.299 | 0.000 | -0.299 | 0.000 |
| predicted_R | 0.448 | 0.000 | 0.000 | Hitting_R | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.396 | 0.000 | -0.396 | 0.000 |
| predicted_SLG | 0.395 | 0.000 | 0.250 | Hitting_SLG | 0.380 | 0.000 | -0.380 | 0.000 |
| predicted_SO | 0.845 | 2.000 | 1.000 | Hitting_SO | 0.912 | 2.000 | 1.088 | 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_SO: 0.8450 -> 2.0000 (boost 1.1550, worse) |
| Biggest Deboost | predicted_H: 1.0300 -> 0.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 | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2310 -> 0.2379 (boost 0.0069, better) | predicted_AB: 4.4500 -> 4.2618 (deboost -0.1882, worse) | Final model input calibrated with local 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.3236 -> 0.3081 (deboost -0.0155, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.8763 -> 1.0000 (boost 0.1237, worse) | predicted_BB: 0.4482 -> 0.0000 (deboost -0.4482, worse) | AB rounded to 4 (raw=4.45), rates preserved: AVG=0.225 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4717 -> 0.0000 (deboost -0.4717, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2354 -> 0.2500 (boost 0.0146, better) | predicted_SLG: 0.3864 -> 0.2500 (deboost -0.1364, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3864 (boost 0.1364, better) | predicted_AVG: 0.2500 -> 0.2354 (deboost -0.0146, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543807",
"player_name": "George Springer",
"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.19,
"predicted_3B": 0.0,
"predicted_AB": 4.45,
"predicted_AVG": 0.231,
"predicted_BB": 0.466,
"predicted_H": 1.03,
"predicted_HR": 0.16,
"predicted_OBP": 0.322,
"predicted_R": 0.448,
"predicted_RBI": 0.45,
"predicted_SLG": 0.395,
"predicted_SO": 0.845
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1707,
"predicted_3B": 0.0008,
"predicted_AB": 4.2618,
"predicted_AVG": 0.2379,
"predicted_BB": 0.4492,
"predicted_H": 1.0132,
"predicted_HBP": 0.05,
"predicted_HR": 0.1596,
"predicted_OBP": 0.3236,
"predicted_R": 0.4786,
"predicted_RBI": 0.4328,
"predicted_SLG": 0.3984,
"predicted_SO": 0.8743
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.1707,
"delta": -0.0193,
"percent_delta": -0.1016,
"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.45,
"after": 4.2618,
"delta": -0.1882,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2379,
"delta": 0.0069,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.466,
"after": 0.4492,
"delta": -0.0168,
"percent_delta": -0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0132,
"delta": -0.0168,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1596,
"delta": -0.0004,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3236,
"delta": 0.0016,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.4786,
"delta": 0.0306,
"percent_delta": 0.0683,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4328,
"delta": -0.0172,
"percent_delta": -0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3984,
"delta": 0.0034,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.845,
"after": 0.8743,
"delta": 0.0293,
"percent_delta": 0.0347,
"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.231,
"after": 0.2379,
"delta": 0.0069,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.45,
"after": 4.2618,
"delta": -0.1882,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1707,
"predicted_3B": 0.0008,
"predicted_AB": 4.2618,
"predicted_AVG": 0.2354,
"predicted_BB": 0.4482,
"predicted_H": 1.0032,
"predicted_HBP": 0.05,
"predicted_HR": 0.1571,
"predicted_OBP": 0.3081,
"predicted_R": 0.4717,
"predicted_RBI": 0.4265,
"predicted_SLG": 0.3864,
"predicted_SO": 0.8763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1707,
"after": 0.1707,
"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.2618,
"after": 4.2618,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2379,
"after": 0.2354,
"delta": -0.0025,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4492,
"after": 0.4482,
"delta": -0.001,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0132,
"after": 1.0032,
"delta": -0.01,
"percent_delta": -0.0099,
"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.1596,
"after": 0.1571,
"delta": -0.0025,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3236,
"after": 0.3081,
"delta": -0.0155,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4786,
"after": 0.4717,
"delta": -0.0069,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4328,
"after": 0.4265,
"delta": -0.0063,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3984,
"after": 0.3864,
"delta": -0.012,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8743,
"after": 0.8763,
"delta": 0.002,
"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_OBP",
"before": 0.3236,
"after": 0.3081,
"delta": -0.0155,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.45), rates preserved: AVG=0.225 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1707,
"after": 0.0,
"delta": -0.1707,
"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.2618,
"after": 4.0,
"delta": -0.2618,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4482,
"after": 0.0,
"delta": -0.4482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0032,
"after": 1.0,
"delta": -0.0032,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1571,
"after": 0.0,
"delta": -0.1571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4265,
"after": 0.0,
"delta": -0.4265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8763,
"after": 1.0,
"delta": 0.1237,
"percent_delta": 0.1412,
"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.8763,
"after": 1.0,
"delta": 0.1237,
"percent_delta": 0.1412,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4482,
"after": 0.0,
"delta": -0.4482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4717,
"after": 0.0,
"delta": -0.4717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4717,
"after": 0.0,
"delta": -0.4717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2354,
"after": 0.25,
"delta": 0.0146,
"percent_delta": 0.062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3081,
"after": 0.25,
"delta": -0.0581,
"percent_delta": -0.1886,
"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.3864,
"after": 0.25,
"delta": -0.1364,
"percent_delta": -0.353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2354,
"after": 0.25,
"delta": 0.0146,
"percent_delta": 0.062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3864,
"after": 0.25,
"delta": -0.1364,
"percent_delta": -0.353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2354,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3081,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3864,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2354,
"delta": -0.0146,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3081,
"delta": 0.0581,
"percent_delta": 0.2326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3864,
"delta": 0.1364,
"percent_delta": 0.5456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3864,
"delta": 0.1364,
"percent_delta": 0.5456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2354,
"delta": -0.0146,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.45,
"after": 5.0,
"delta": 0.55,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2354,
"delta": 0.0044,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.466,
"after": 0.0,
"delta": -0.466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3081,
"delta": -0.0139,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.0,
"delta": -0.448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3864,
"delta": -0.0086,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.845,
"after": 2.0,
"delta": 1.155,
"percent_delta": 1.3669,
"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.845,
"after": 2.0,
"delta": 1.155,
"percent_delta": 1.3669,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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 | 4.450 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.466 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.448 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.845 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.262 | -0.188 |
| predicted_AVG | 0.238 | 0.007 |
| predicted_BB | 0.449 | -0.017 |
| predicted_H | 1.013 | -0.017 |
| predicted_HBP | 0.050 | - |
| predicted_HR | 0.160 | -0.000 |
| predicted_OBP | 0.324 | 0.002 |
| predicted_R | 0.479 | 0.031 |
| predicted_RBI | 0.433 | -0.017 |
| predicted_SLG | 0.398 | 0.003 |
| predicted_SO | 0.874 | 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.171 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.262 | 0.000 |
| predicted_AVG | 0.235 | -0.003 |
| predicted_BB | 0.448 | -0.001 |
| predicted_H | 1.003 | -0.010 |
| predicted_HBP | 0.050 | 0.000 |
| predicted_HR | 0.157 | -0.003 |
| predicted_OBP | 0.308 | -0.016 |
| predicted_R | 0.472 | -0.007 |
| predicted_RBI | 0.426 | -0.006 |
| predicted_SLG | 0.386 | -0.012 |
| predicted_SO | 0.876 | 0.002 |
AB rounded to 4 (raw=4.45), rates preserved: AVG=0.225 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.171 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.262 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 0.000 | -0.448 |
| predicted_H | 1.000 | -0.003 |
| predicted_HR | 0.000 | -0.157 |
| predicted_OBP | 0.250 | -0.058 |
| predicted_R | 0.000 | -0.472 |
| predicted_RBI | 0.000 | -0.426 |
| predicted_SLG | 0.250 | -0.136 |
| 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 | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 6.000 | 0.2727 | 0.3333 | 0.4091 | 0.2727 | 0.0454 | 0.0909 | 0.0909 | 0.2727 |
| last_10 | 0.20 | 10 | - | 41.000 | 12.000 | 1.000 | 0.000 | 2.000 | 5.000 | 5.000 | 4.000 | 9.000 | 0.2927 | 0.3617 | 0.4634 | 0.2927 | 0.0488 | 0.1220 | 0.0976 | 0.2195 |
| season | 0.60 | 58 | - | 224.000 | 50.000 | 11.000 | 0.000 | 8.000 | 21.000 | 26.000 | 27.000 | 49.000 | 0.2232 | 0.3137 | 0.3795 | 0.2232 | 0.0357 | 0.0938 | 0.1205 | 0.2188 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.0010 |
| predicted_AVG | 0.2474 |
| predicted_BB | 0.4260 |
| predicted_H | 0.9900 |
| predicted_HBP | 0.0500 |
| predicted_HR | 0.1590 |
| predicted_OBP | 0.3257 |
| predicted_R | 0.5210 |
| predicted_RBI | 0.4090 |
| predicted_SLG | 0.4030 |
| predicted_SO | 0.9150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.1440 | 0.1707 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.4500 | 4.0010 | 4.2618 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2474 | 0.2379 | model_form_blend |
| predicted_BB | 0.4660 | 0.4260 | 0.4492 | model_form_blend |
| predicted_H | 1.0300 | 0.9900 | 1.0132 | model_form_blend |
| predicted_HBP | - | 0.0500 | 0.0500 | form_only |
| predicted_HR | 0.1600 | 0.1590 | 0.1596 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3257 | 0.3236 | model_form_blend |
| predicted_R | 0.4480 | 0.5210 | 0.4786 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4090 | 0.4328 | model_form_blend |
| predicted_SLG | 0.3950 | 0.4030 | 0.3984 | model_form_blend |
| predicted_SO | 0.8450 | 0.9150 | 0.8743 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 182 |
| Season rows before report date | 182 |
| Report year | 2026 |
| Profile rows used | 58 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 543807 |
| playerID | 543807 |
| playerName | George Springer |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.31 |
| sl_xwoba | 0.312 |
| sl_xba | 0.229 |
| sl_xslg | 0.381 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 23.9 |
| 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.160 | 0.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.080 | 4.000 | 4.000 | Hitting_AB | 3.647 | 3.000 | 0.353 | 1.000 |
| predicted_AVG | 0.246 | 0.000 | 0.250 | Hitting_AVG | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_BB | 0.440 | 1.000 | 0.000 | Hitting_BB | 0.562 | 1.000 | 0.438 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 1.010 | 0.000 | 1.000 | Hitting_H | 1.052 | 0.000 | -1.052 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.322 | 0.200 | 0.250 | Hitting_OBP | 0.389 | 0.250 | -0.189 | -0.050 |
| predicted_R | 0.573 | 0.000 | 1.000 | Hitting_R | 0.618 | 0.000 | -0.618 | 0.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_SLG | 0.367 | 0.000 | 0.250 | Hitting_SLG | 0.372 | 0.000 | -0.372 | 0.000 |
| predicted_SO | 0.440 | 0.000 | 0.000 | Hitting_SO | 0.430 | 0.000 | -0.430 | 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.4400 -> 1.0000 (boost 0.5600, better) |
| Biggest Deboost | predicted_H: 1.0100 -> 0.0000 (deboost -1.0100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2460 -> 0.2540 (boost 0.0080, better) | predicted_AB: 4.0800 -> 3.9725 (deboost -0.1075, worse) | Final model input calibrated with local 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.3573 -> 0.3459 (deboost -0.0114, worse) | 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.4831 -> 0.0000 (deboost -0.4831, worse) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.246 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5811 -> 1.0000 (boost 0.4189, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3459 -> 0.2500 (deboost -0.0959, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3459 (boost 0.0959, better) | - | 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.16,
"predicted_3B": 0.0,
"predicted_AB": 4.08,
"predicted_AVG": 0.246,
"predicted_BB": 0.44,
"predicted_H": 1.01,
"predicted_HR": 0.09,
"predicted_OBP": 0.322,
"predicted_R": 0.573,
"predicted_RBI": 0.5,
"predicted_SLG": 0.367,
"predicted_SO": 0.44
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1447,
"predicted_3B": 0.0004,
"predicted_AB": 3.9725,
"predicted_AVG": 0.254,
"predicted_BB": 0.4069,
"predicted_H": 1.0117,
"predicted_HBP": 0.026,
"predicted_HR": 0.0768,
"predicted_OBP": 0.3233,
"predicted_R": 0.5896,
"predicted_RBI": 0.4902,
"predicted_SLG": 0.3573,
"predicted_SO": 0.4493
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1447,
"delta": -0.0153,
"percent_delta": -0.0956,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 3.9725,
"delta": -0.1075,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.254,
"delta": 0.008,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 0.4069,
"delta": -0.0331,
"percent_delta": -0.0752,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0117,
"delta": 0.0017,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0768,
"delta": -0.0132,
"percent_delta": -0.1467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3233,
"delta": 0.0013,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 0.5896,
"delta": 0.0166,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4902,
"delta": -0.0098,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3573,
"delta": -0.0097,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.44,
"after": 0.4493,
"delta": 0.0093,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_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.246,
"after": 0.254,
"delta": 0.008,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 3.9725,
"delta": -0.1075,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1447,
"predicted_3B": 0.0004,
"predicted_AB": 3.9725,
"predicted_AVG": 0.2522,
"predicted_BB": 0.406,
"predicted_H": 1.0017,
"predicted_HBP": 0.026,
"predicted_HR": 0.0756,
"predicted_OBP": 0.3215,
"predicted_R": 0.5811,
"predicted_RBI": 0.4831,
"predicted_SLG": 0.3459,
"predicted_SO": 0.4503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1447,
"after": 0.1447,
"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.9725,
"after": 3.9725,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2522,
"delta": -0.0018,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4069,
"after": 0.406,
"delta": -0.0009,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0117,
"after": 1.0017,
"delta": -0.01,
"percent_delta": -0.0099,
"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.0768,
"after": 0.0756,
"delta": -0.0012,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3233,
"after": 0.3215,
"delta": -0.0018,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5896,
"after": 0.5811,
"delta": -0.0085,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4902,
"after": 0.4831,
"delta": -0.0071,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3573,
"after": 0.3459,
"delta": -0.0114,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4493,
"after": 0.4503,
"delta": 0.001,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3573,
"after": 0.3459,
"delta": -0.0114,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.246 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.1447,
"after": 0.0,
"delta": -0.1447,
"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.9725,
"after": 4.0,
"delta": 0.0275,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0017,
"after": 1.0,
"delta": -0.0017,
"percent_delta": -0.0017,
"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.0756,
"after": 0.0,
"delta": -0.0756,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4831,
"after": 0.0,
"delta": -0.4831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4503,
"after": 0.0,
"delta": -0.4503,
"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.4831,
"after": 0.0,
"delta": -0.4831,
"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.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5811,
"after": 1.0,
"delta": 0.4189,
"percent_delta": 0.7209,
"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.5811,
"after": 1.0,
"delta": 0.4189,
"percent_delta": 0.7209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2522,
"after": 0.25,
"delta": -0.0022,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3215,
"after": 0.25,
"delta": -0.0715,
"percent_delta": -0.2224,
"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.3459,
"after": 0.25,
"delta": -0.0959,
"percent_delta": -0.2772,
"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.3459,
"after": 0.25,
"delta": -0.0959,
"percent_delta": -0.2772,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 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_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.2522,
"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.3215,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3459,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2522,
"delta": 0.0022,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3215,
"delta": 0.0715,
"percent_delta": 0.286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3459,
"delta": 0.0959,
"percent_delta": 0.3835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3459,
"delta": 0.0959,
"percent_delta": 0.3835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 4.0,
"delta": -0.08,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2522,
"delta": 0.0062,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"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.322,
"after": 0.3215,
"delta": -0.0005,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 0.0,
"delta": -0.573,
"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.367,
"after": 0.3459,
"delta": -0.0211,
"percent_delta": -0.0575,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"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.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.440 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.573 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.440 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.015 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.973 | -0.107 |
| predicted_AVG | 0.254 | 0.008 |
| predicted_BB | 0.407 | -0.033 |
| predicted_H | 1.012 | 0.002 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.077 | -0.013 |
| predicted_OBP | 0.323 | 0.001 |
| predicted_R | 0.590 | 0.017 |
| predicted_RBI | 0.490 | -0.010 |
| predicted_SLG | 0.357 | -0.010 |
| predicted_SO | 0.449 | 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.145 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.973 | 0.000 |
| predicted_AVG | 0.252 | -0.002 |
| predicted_BB | 0.406 | -0.001 |
| predicted_H | 1.002 | -0.010 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.076 | -0.001 |
| predicted_OBP | 0.322 | -0.002 |
| predicted_R | 0.581 | -0.009 |
| predicted_RBI | 0.483 | -0.007 |
| predicted_SLG | 0.346 | -0.011 |
| predicted_SO | 0.450 | 0.001 |
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.246 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, 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 | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.145 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.027 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 0.000 | -0.406 |
| predicted_H | 1.000 | -0.002 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.250 | -0.072 |
| predicted_R | 1.000 | 0.419 |
| predicted_RBI | 0.000 | -0.483 |
| predicted_SLG | 0.250 | -0.096 |
| predicted_SO | 0.000 | -0.450 |
Attached 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 | 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 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 1.000 | 2.000 | 0.2500 | 0.2727 | 0.2500 | 0.2500 | 0.0000 | 0.1000 | 0.0500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 1.000 | 0.000 | 1.000 | 7.000 | 6.000 | 3.000 | 4.000 | 0.2500 | 0.2955 | 0.3500 | 0.2500 | 0.0250 | 0.1750 | 0.0750 | 0.1000 |
| season | 0.60 | 75 | - | 278.000 | 77.000 | 12.000 | 0.000 | 4.000 | 32.000 | 43.000 | 33.000 | 33.000 | 0.2770 | 0.3542 | 0.3633 | 0.2770 | 0.0144 | 0.1151 | 0.1187 | 0.1187 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1240 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8270 |
| predicted_AVG | 0.2649 |
| predicted_BB | 0.3620 |
| predicted_H | 1.0140 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.3250 |
| predicted_R | 0.6120 |
| predicted_RBI | 0.4770 |
| predicted_SLG | 0.3442 |
| predicted_SO | 0.4620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1240 | 0.1447 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0800 | 3.8270 | 3.9725 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2649 | 0.2540 | model_form_blend |
| predicted_BB | 0.4400 | 0.3620 | 0.4069 | model_form_blend |
| predicted_H | 1.0100 | 1.0140 | 1.0117 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.0900 | 0.0590 | 0.0768 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3250 | 0.3233 | model_form_blend |
| predicted_R | 0.5730 | 0.6120 | 0.5896 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4770 | 0.4902 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3442 | 0.3573 | model_form_blend |
| predicted_SO | 0.4400 | 0.4620 | 0.4493 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 249 |
| Season rows before report date | 249 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.277 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1B |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 665489 |
| playerID | 665489 |
| playerName | Vladimir Guerrero Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 10.2 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.321 |
| sl_xwoba | 0.348 |
| sl_xba | 0.293 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 42.8 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 7.9 |
| sl_whiff_percent | 19.5 |
| 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.260 | 0.000 | 0.000 | Hitting_2B | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.400 | 5.000 | 4.000 | Hitting_AB | 3.988 | 1.000 | 1.012 | 4.000 |
| predicted_AVG | 0.231 | 0.000 | 0.250 | Hitting_AVG | 0.301 | 0.000 | -0.301 | 0.000 |
| predicted_BB | 0.130 | 0.000 | 0.000 | Hitting_BB | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 1.020 | 0.000 | 1.000 | Hitting_H | 1.198 | 0.000 | -1.198 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_OBP | 0.288 | 0.000 | 0.250 | Hitting_OBP | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_R | 0.455 | 0.000 | 0.000 | Hitting_R | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.397 | 0.000 | -0.397 | 0.000 |
| predicted_SLG | 0.355 | 0.000 | 0.250 | Hitting_SLG | 0.457 | 0.000 | -0.457 | 0.000 |
| predicted_SO | 0.416 | 1.000 | 0.000 | Hitting_SO | 0.360 | 0.000 | 0.640 | 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: 4.4000 -> 5.0000 (boost 0.6000, better) |
| Biggest Deboost | predicted_H: 1.0200 -> 0.0000 (deboost -1.0200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2310 -> 0.2366 (boost 0.0056, better) | predicted_AB: 4.4000 -> 4.0549 (deboost -0.3451, worse) | Final model input calibrated with local 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.2839 -> 0.2611 (deboost -0.0228, 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.9490 -> 1.0000 (boost 0.0510, better) | predicted_SO: 0.4399 -> 0.0000 (deboost -0.4399, better) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.216 HR/AB=0.016 |
| 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.4234 -> 0.0000 (deboost -0.4234, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2340 -> 0.2500 (boost 0.0160, better) | predicted_SLG: 0.3449 -> 0.2500 (deboost -0.0949, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3449 (boost 0.0949, better) | predicted_AVG: 0.2500 -> 0.2340 (deboost -0.0160, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676391",
"player_name": "Ernie Clement",
"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.26,
"predicted_3B": 0.013,
"predicted_AB": 4.4,
"predicted_AVG": 0.231,
"predicted_BB": 0.13,
"predicted_H": 1.02,
"predicted_HR": 0.08,
"predicted_OBP": 0.288,
"predicted_R": 0.455,
"predicted_RBI": 0.36,
"predicted_SLG": 0.355,
"predicted_SO": 0.416
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2206,
"predicted_3B": 0.0109,
"predicted_AB": 4.0549,
"predicted_AVG": 0.2366,
"predicted_BB": 0.1491,
"predicted_H": 0.9585,
"predicted_HBP": 0.003,
"predicted_HR": 0.0702,
"predicted_OBP": 0.2839,
"predicted_R": 0.4296,
"predicted_RBI": 0.3197,
"predicted_SLG": 0.35,
"predicted_SO": 0.4389
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.26,
"after": 0.2206,
"delta": -0.0394,
"percent_delta": -0.1515,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0549,
"delta": -0.3451,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2366,
"delta": 0.0056,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.13,
"after": 0.1491,
"delta": 0.0191,
"percent_delta": 0.1469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.9585,
"delta": -0.0615,
"percent_delta": -0.0603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0702,
"delta": -0.0098,
"percent_delta": -0.1225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2839,
"delta": -0.0041,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.4296,
"delta": -0.0254,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3197,
"delta": -0.0403,
"percent_delta": -0.1119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.35,
"delta": -0.005,
"percent_delta": -0.0141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.416,
"after": 0.4389,
"delta": 0.0229,
"percent_delta": 0.055,
"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.231,
"after": 0.2366,
"delta": 0.0056,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0549,
"delta": -0.3451,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 77
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2206,
"predicted_3B": 0.0109,
"predicted_AB": 4.0549,
"predicted_AVG": 0.234,
"predicted_BB": 0.1488,
"predicted_H": 0.949,
"predicted_HBP": 0.003,
"predicted_HR": 0.0691,
"predicted_OBP": 0.2611,
"predicted_R": 0.4234,
"predicted_RBI": 0.3151,
"predicted_SLG": 0.3449,
"predicted_SO": 0.4399
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2206,
"after": 0.2206,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0549,
"after": 4.0549,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2366,
"after": 0.234,
"delta": -0.0026,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1491,
"after": 0.1488,
"delta": -0.0003,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9585,
"after": 0.949,
"delta": -0.0095,
"percent_delta": -0.0099,
"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.0702,
"after": 0.0691,
"delta": -0.0011,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2839,
"after": 0.2611,
"delta": -0.0228,
"percent_delta": -0.0803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4296,
"after": 0.4234,
"delta": -0.0062,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3197,
"after": 0.3151,
"delta": -0.0046,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.3449,
"delta": -0.0051,
"percent_delta": -0.0146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4389,
"after": 0.4399,
"delta": 0.001,
"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_OBP",
"before": 0.2839,
"after": 0.2611,
"delta": -0.0228,
"percent_delta": -0.0803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.216 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2206,
"after": 0.0,
"delta": -0.2206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0549,
"after": 4.0,
"delta": -0.0549,
"percent_delta": -0.0135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1488,
"after": 0.0,
"delta": -0.1488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.949,
"after": 1.0,
"delta": 0.051,
"percent_delta": 0.0537,
"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.0691,
"after": 0.0,
"delta": -0.0691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3151,
"after": 0.0,
"delta": -0.3151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4399,
"after": 0.0,
"delta": -0.4399,
"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.949,
"after": 1.0,
"delta": 0.051,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4399,
"after": 0.0,
"delta": -0.4399,
"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.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 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.4234,
"after": 0.0,
"delta": -0.4234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4234,
"after": 0.0,
"delta": -0.4234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.25,
"delta": 0.016,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2611,
"after": 0.25,
"delta": -0.0111,
"percent_delta": -0.0425,
"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.3449,
"after": 0.25,
"delta": -0.0949,
"percent_delta": -0.2752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.25,
"delta": 0.016,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3449,
"after": 0.25,
"delta": -0.0949,
"percent_delta": -0.2752,
"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": 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": 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.234,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2611,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3449,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.234,
"delta": -0.016,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2611,
"delta": 0.0111,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3449,
"delta": 0.0949,
"percent_delta": 0.3798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3449,
"delta": 0.0949,
"percent_delta": 0.3798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.234,
"delta": -0.016,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 5.0,
"delta": 0.6,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.234,
"delta": 0.003,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2611,
"delta": -0.0269,
"percent_delta": -0.0934,
"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.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3449,
"delta": -0.0101,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.416,
"after": 1.0,
"delta": 0.584,
"percent_delta": 1.4038,
"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": 4.4,
"after": 5.0,
"delta": 0.6,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.260 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.130 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 0.416 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | -0.039 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 4.055 | -0.345 |
| predicted_AVG | 0.237 | 0.006 |
| predicted_BB | 0.149 | 0.019 |
| predicted_H | 0.959 | -0.061 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.070 | -0.010 |
| predicted_OBP | 0.284 | -0.004 |
| predicted_R | 0.430 | -0.025 |
| predicted_RBI | 0.320 | -0.040 |
| predicted_SLG | 0.350 | -0.005 |
| predicted_SO | 0.439 | 0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 4.055 | 0.000 |
| predicted_AVG | 0.234 | -0.003 |
| predicted_BB | 0.149 | -0.000 |
| predicted_H | 0.949 | -0.010 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.069 | -0.001 |
| predicted_OBP | 0.261 | -0.023 |
| predicted_R | 0.423 | -0.006 |
| predicted_RBI | 0.315 | -0.005 |
| predicted_SLG | 0.345 | -0.005 |
| predicted_SO | 0.440 | 0.001 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.216 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 | 0.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.221 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | -0.055 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 0.000 | -0.149 |
| predicted_H | 1.000 | 0.051 |
| predicted_HR | 0.000 | -0.069 |
| predicted_OBP | 0.250 | -0.011 |
| predicted_R | 0.000 | -0.423 |
| predicted_RBI | 0.000 | -0.315 |
| predicted_SLG | 0.250 | -0.095 |
| 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 | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.1429 | 0.2000 | 0.1429 | 0.1429 | 0.0000 | 0.0000 | 0.0714 | 0.1429 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 5.000 | 0.2000 | 0.2368 | 0.2286 | 0.2000 | 0.0000 | 0.0571 | 0.0571 | 0.1429 |
| season | 0.60 | 77 | - | 295.000 | 86.000 | 20.000 | 1.000 | 7.000 | 28.000 | 35.000 | 10.000 | 32.000 | 0.2915 | 0.3127 | 0.4373 | 0.2915 | 0.0237 | 0.0949 | 0.0339 | 0.1085 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1670 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.5860 |
| predicted_AVG | 0.2441 |
| predicted_BB | 0.1750 |
| predicted_H | 0.8750 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0570 |
| predicted_OBP | 0.2784 |
| predicted_R | 0.3950 |
| predicted_RBI | 0.2650 |
| predicted_SLG | 0.3432 |
| predicted_SO | 0.4700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2600 | 0.1670 | 0.2206 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.4000 | 3.5860 | 4.0549 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2441 | 0.2366 | model_form_blend |
| predicted_BB | 0.1300 | 0.1750 | 0.1491 | model_form_blend |
| predicted_H | 1.0200 | 0.8750 | 0.9585 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0800 | 0.0570 | 0.0702 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2784 | 0.2839 | model_form_blend |
| predicted_R | 0.4550 | 0.3950 | 0.4296 | model_form_blend |
| predicted_RBI | 0.3600 | 0.2650 | 0.3197 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3432 | 0.3500 | model_form_blend |
| predicted_SO | 0.4160 | 0.4700 | 0.4389 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 242 |
| Season rows before report date | 242 |
| Report year | 2026 |
| Profile rows used | 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 | 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.292 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-SS |
| gameID | 20260624_HOU@TOR |
| game_type | ph |
| mlbID | 676391 |
| note | Lined out for Giménez in the 8th. |
| playerID | 676391 |
| playerName | Ernie Clement |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 10.4 |
| sl_bb_percent | 3.3 |
| sl_woba | 0.326 |
| sl_xwoba | 0.268 |
| sl_xba | 0.25 |
| sl_xslg | 0.34 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 24.9 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 16.0 |
| 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.154 | 1.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.840 | 4.000 | 4.000 | Hitting_AB | 3.900 | 3.000 | 0.100 | 1.000 |
| predicted_AVG | 0.221 | 0.750 | 0.250 | Hitting_AVG | 0.171 | 0.000 | 0.579 | 0.750 |
| predicted_BB | 0.308 | 0.000 | 0.000 | Hitting_BB | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.850 | 3.000 | 1.000 | Hitting_H | 0.667 | 0.000 | 2.333 | 3.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_OBP | 0.275 | 0.750 | 0.250 | Hitting_OBP | 0.246 | 0.000 | 0.504 | 0.750 |
| predicted_R | 0.231 | 1.000 | 0.000 | Hitting_R | 0.433 | 0.000 | 0.567 | 1.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_SLG | 0.335 | 1.000 | 0.250 | Hitting_SLG | 0.368 | 0.000 | 0.632 | 1.000 |
| predicted_SO | 0.615 | 0.000 | 1.000 | Hitting_SO | 0.533 | 0.000 | -0.533 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.8500 -> 3.0000 (boost 2.1500, better) |
| Biggest Deboost | predicted_SO: 0.6150 -> 0.0000 (deboost -0.6150, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 3.8400 -> 3.7711 (deboost -0.0689, worse) | Final model input calibrated with local 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.3283 -> 0.3231 (deboost -0.0052, 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.6539 -> 1.0000 (boost 0.3461, worse) | predicted_RBI: 0.4714 -> 0.0000 (deboost -0.4714, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.211 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2421 -> 0.0000 (deboost -0.2421, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2152 -> 0.2500 (boost 0.0348, better) | predicted_SLG: 0.3231 -> 0.2500 (deboost -0.0731, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3231 (boost 0.0731, better) | predicted_AVG: 0.2500 -> 0.2152 (deboost -0.0348, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672386",
"player_name": "Alejandro Kirk",
"position": "C",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0,
"predicted_AB": 3.84,
"predicted_AVG": 0.221,
"predicted_BB": 0.308,
"predicted_H": 0.85,
"predicted_HR": 0.09,
"predicted_OBP": 0.275,
"predicted_R": 0.231,
"predicted_RBI": 0.48,
"predicted_SLG": 0.335,
"predicted_SO": 0.615
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1526,
"predicted_3B": 0.0017,
"predicted_AB": 3.7711,
"predicted_AVG": 0.217,
"predicted_BB": 0.2867,
"predicted_H": 0.8198,
"predicted_HBP": 0.012,
"predicted_HR": 0.0849,
"predicted_OBP": 0.2695,
"predicted_R": 0.2457,
"predicted_RBI": 0.4783,
"predicted_SLG": 0.3283,
"predicted_SO": 0.6524
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.1526,
"delta": -0.0014,
"percent_delta": -0.0091,
"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.84,
"after": 3.7711,
"delta": -0.0689,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.217,
"delta": -0.004,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.308,
"after": 0.2867,
"delta": -0.0213,
"percent_delta": -0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8198,
"delta": -0.0302,
"percent_delta": -0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0849,
"delta": -0.0051,
"percent_delta": -0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2695,
"delta": -0.0055,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.231,
"after": 0.2457,
"delta": 0.0147,
"percent_delta": 0.0636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4783,
"delta": -0.0017,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3283,
"delta": -0.0067,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.615,
"after": 0.6524,
"delta": 0.0374,
"percent_delta": 0.0608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7711,
"delta": -0.0689,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 13
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1526,
"predicted_3B": 0.0017,
"predicted_AB": 3.7711,
"predicted_AVG": 0.2152,
"predicted_BB": 0.286,
"predicted_H": 0.8117,
"predicted_HBP": 0.012,
"predicted_HR": 0.0836,
"predicted_OBP": 0.2706,
"predicted_R": 0.2421,
"predicted_RBI": 0.4714,
"predicted_SLG": 0.3231,
"predicted_SO": 0.6539
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1526,
"after": 0.1526,
"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.7711,
"after": 3.7711,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2152,
"delta": -0.0018,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2867,
"after": 0.286,
"delta": -0.0007,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8198,
"after": 0.8117,
"delta": -0.0081,
"percent_delta": -0.0099,
"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.0849,
"after": 0.0836,
"delta": -0.0013,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2695,
"after": 0.2706,
"delta": 0.0011,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2457,
"after": 0.2421,
"delta": -0.0036,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4783,
"after": 0.4714,
"delta": -0.0069,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3283,
"after": 0.3231,
"delta": -0.0052,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6524,
"after": 0.6539,
"delta": 0.0015,
"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_SLG",
"before": 0.3283,
"after": 0.3231,
"delta": -0.0052,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.211 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1526,
"after": 0.0,
"delta": -0.1526,
"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.7711,
"after": 4.0,
"delta": 0.2289,
"percent_delta": 0.0607,
"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": 0.8117,
"after": 1.0,
"delta": 0.1883,
"percent_delta": 0.232,
"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.0836,
"after": 0.0,
"delta": -0.0836,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4714,
"after": 0.0,
"delta": -0.4714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6539,
"after": 1.0,
"delta": 0.3461,
"percent_delta": 0.5293,
"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.6539,
"after": 1.0,
"delta": 0.3461,
"percent_delta": 0.5293,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4714,
"after": 0.0,
"delta": -0.4714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2421,
"after": 0.0,
"delta": -0.2421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2421,
"after": 0.0,
"delta": -0.2421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2152,
"after": 0.25,
"delta": 0.0348,
"percent_delta": 0.1617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2706,
"after": 0.25,
"delta": -0.0206,
"percent_delta": -0.0761,
"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.3231,
"after": 0.25,
"delta": -0.0731,
"percent_delta": -0.2262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2152,
"after": 0.25,
"delta": 0.0348,
"percent_delta": 0.1617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3231,
"after": 0.25,
"delta": -0.0731,
"percent_delta": -0.2262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2152,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2706,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3231,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2152,
"delta": -0.0348,
"percent_delta": -0.139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.25,
"after": 0.2706,
"delta": 0.0206,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3231,
"delta": 0.0731,
"percent_delta": 0.2923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3231,
"delta": 0.0731,
"percent_delta": 0.2923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2152,
"delta": -0.0348,
"percent_delta": -0.139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 1.0,
"delta": 0.846,
"percent_delta": 5.4935,
"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.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2152,
"delta": -0.0058,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"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.85,
"after": 3.0,
"delta": 2.15,
"percent_delta": 2.5294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2706,
"delta": -0.0044,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.231,
"after": 1.0,
"delta": 0.769,
"percent_delta": 3.329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3231,
"delta": -0.0119,
"percent_delta": -0.0355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.615,
"after": 0.0,
"delta": -0.615,
"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.85,
"after": 3.0,
"delta": 2.15,
"percent_delta": 2.5294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.615,
"after": 0.0,
"delta": -0.615,
"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.154 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.308 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.231 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.335 | - |
| predicted_SO | 0.615 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.771 | -0.069 |
| predicted_AVG | 0.217 | -0.004 |
| predicted_BB | 0.287 | -0.021 |
| predicted_H | 0.820 | -0.030 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.085 | -0.005 |
| predicted_OBP | 0.270 | -0.006 |
| predicted_R | 0.246 | 0.015 |
| predicted_RBI | 0.478 | -0.002 |
| predicted_SLG | 0.328 | -0.007 |
| predicted_SO | 0.652 | 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.153 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.771 | 0.000 |
| predicted_AVG | 0.215 | -0.002 |
| predicted_BB | 0.286 | -0.001 |
| predicted_H | 0.812 | -0.008 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.084 | -0.001 |
| predicted_OBP | 0.271 | 0.001 |
| predicted_R | 0.242 | -0.004 |
| predicted_RBI | 0.471 | -0.007 |
| predicted_SLG | 0.323 | -0.005 |
| predicted_SO | 0.654 | 0.002 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.211 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.153 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.229 |
| predicted_AVG | 0.250 | 0.035 |
| predicted_BB | 0.000 | -0.286 |
| predicted_H | 1.000 | 0.188 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.250 | -0.021 |
| predicted_R | 0.000 | -0.242 |
| predicted_RBI | 0.000 | -0.471 |
| predicted_SLG | 0.250 | -0.073 |
| predicted_SO | 1.000 | 0.346 |
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 | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.1250 | 0.1250 | 0.1250 | 0.1250 | 0.0000 | 0.1250 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 2.000 | 0.000 | 0.000 | 5.000 | 1.000 | 2.000 | 6.000 | 0.2286 | 0.2632 | 0.2857 | 0.2286 | 0.0000 | 0.1429 | 0.0571 | 0.1714 |
| season | 0.60 | 13 | - | 47.000 | 9.000 | 2.000 | 0.000 | 1.000 | 6.000 | 3.000 | 4.000 | 8.000 | 0.1915 | 0.2500 | 0.2979 | 0.1915 | 0.0213 | 0.1277 | 0.0851 | 0.1702 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1500 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.6390 |
| predicted_AVG | 0.2094 |
| predicted_BB | 0.2460 |
| predicted_H | 0.7620 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0750 |
| predicted_OBP | 0.2590 |
| predicted_R | 0.2740 |
| predicted_RBI | 0.4750 |
| predicted_SLG | 0.3155 |
| predicted_SO | 0.7240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1500 | 0.1526 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 3.8400 | 3.6390 | 3.7711 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2094 | 0.2170 | model_form_blend |
| predicted_BB | 0.3080 | 0.2460 | 0.2867 | model_form_blend |
| predicted_H | 0.8500 | 0.7620 | 0.8198 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0900 | 0.0750 | 0.0849 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2590 | 0.2695 | model_form_blend |
| predicted_R | 0.2310 | 0.2740 | 0.2457 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4750 | 0.4783 | model_form_blend |
| predicted_SLG | 0.3350 | 0.3155 | 0.3283 | model_form_blend |
| predicted_SO | 0.6150 | 0.7240 | 0.6524 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 13 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.191 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 672386 |
| playerID | 672386 |
| playerName | Alejandro Kirk |
| pos | C |
| started | True |
| startingPosition | C |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.245 |
| sl_xwoba | 0.247 |
| sl_xba | 0.214 |
| sl_xslg | 0.277 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 49.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.178 | 0.000 | 0.000 | Hitting_2B | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.200 | 4.000 | 3.000 | Hitting_AB | 3.387 | 3.000 | 0.613 | 1.000 |
| predicted_AVG | 0.259 | 0.250 | 0.333 | Hitting_AVG | 0.317 | 0.333 | -0.067 | -0.083 |
| predicted_BB | 0.133 | 0.000 | 0.000 | Hitting_BB | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 1.075 | 1.000 | -0.075 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.032 | 1.000 | -0.032 | -1.000 |
| predicted_OBP | 0.307 | 0.250 | 0.333 | Hitting_OBP | 0.360 | 0.333 | -0.110 | -0.083 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.333 | 1.000 | 0.667 | 0.000 |
| predicted_RBI | 0.370 | 1.000 | 0.000 | Hitting_RBI | 0.430 | 1.000 | 0.570 | 0.000 |
| predicted_SLG | 0.420 | 0.250 | 0.333 | Hitting_SLG | 0.419 | 1.333 | -0.169 | -1.083 |
| predicted_SO | 0.556 | 0.000 | 1.000 | Hitting_SO | 0.570 | 0.000 | -0.570 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 3.2000 -> 4.0000 (boost 0.8000, better) |
| Biggest Deboost | predicted_SO: 0.5560 -> 0.0000 (deboost -0.5560, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4200 -> 0.4288 (boost 0.0088, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3068 -> 0.2901 (deboost -0.0167, 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.5814 -> 1.0000 (boost 0.4186, worse) | predicted_RBI: 0.3488 -> 0.0000 (deboost -0.3488, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.262 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3266 -> 0.0000 (deboost -0.3266, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2615 -> 0.3330 (boost 0.0715, better) | predicted_SLG: 0.4236 -> 0.3330 (deboost -0.0906, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4236 (boost 0.0906, better) | predicted_AVG: 0.3330 -> 0.2615 (deboost -0.0715, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664770",
"player_name": "Nathan Lukes",
"position": "RF",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.178,
"predicted_3B": 0.0,
"predicted_AB": 3.2,
"predicted_AVG": 0.259,
"predicted_BB": 0.133,
"predicted_H": 0.83,
"predicted_HR": 0.11,
"predicted_OBP": 0.307,
"predicted_R": 0.333,
"predicted_RBI": 0.37,
"predicted_SLG": 0.42,
"predicted_SO": 0.556
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.182,
"predicted_3B": 0.0008,
"predicted_AB": 3.2322,
"predicted_AVG": 0.2638,
"predicted_BB": 0.1306,
"predicted_H": 0.8537,
"predicted_HBP": 0.051,
"predicted_HR": 0.1152,
"predicted_OBP": 0.3068,
"predicted_R": 0.3314,
"predicted_RBI": 0.3539,
"predicted_SLG": 0.4288,
"predicted_SO": 0.5801
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.182,
"delta": 0.004,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2,
"after": 3.2322,
"delta": 0.0322,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2638,
"delta": 0.0048,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.133,
"after": 0.1306,
"delta": -0.0024,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8537,
"delta": 0.0237,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1152,
"delta": 0.0052,
"percent_delta": 0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3068,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3314,
"delta": -0.0016,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3539,
"delta": -0.0161,
"percent_delta": -0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4288,
"delta": 0.0088,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.5801,
"delta": 0.0241,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4288,
"delta": 0.0088,
"percent_delta": 0.021,
"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": 45
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.182,
"predicted_3B": 0.0008,
"predicted_AB": 3.2322,
"predicted_AVG": 0.2615,
"predicted_BB": 0.1303,
"predicted_H": 0.8452,
"predicted_HBP": 0.051,
"predicted_HR": 0.1134,
"predicted_OBP": 0.2901,
"predicted_R": 0.3266,
"predicted_RBI": 0.3488,
"predicted_SLG": 0.4236,
"predicted_SO": 0.5814
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.182,
"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.2322,
"after": 3.2322,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2638,
"after": 0.2615,
"delta": -0.0023,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1306,
"after": 0.1303,
"delta": -0.0003,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8537,
"after": 0.8452,
"delta": -0.0085,
"percent_delta": -0.01,
"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.1152,
"after": 0.1134,
"delta": -0.0018,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3068,
"after": 0.2901,
"delta": -0.0167,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3314,
"after": 0.3266,
"delta": -0.0048,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3539,
"after": 0.3488,
"delta": -0.0051,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4288,
"after": 0.4236,
"delta": -0.0052,
"percent_delta": -0.0121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5801,
"after": 0.5814,
"delta": 0.0013,
"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_OBP",
"before": 0.3068,
"after": 0.2901,
"delta": -0.0167,
"percent_delta": -0.0544,
"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.262 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.182,
"after": 0.0,
"delta": -0.182,
"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.2322,
"after": 3.0,
"delta": -0.2322,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1303,
"after": 0.0,
"delta": -0.1303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8452,
"after": 1.0,
"delta": 0.1548,
"percent_delta": 0.1832,
"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.1134,
"after": 0.0,
"delta": -0.1134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3488,
"after": 0.0,
"delta": -0.3488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5814,
"after": 1.0,
"delta": 0.4186,
"percent_delta": 0.72,
"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.5814,
"after": 1.0,
"delta": 0.4186,
"percent_delta": 0.72,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3488,
"after": 0.0,
"delta": -0.3488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3266,
"after": 0.0,
"delta": -0.3266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3266,
"after": 0.0,
"delta": -0.3266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2615,
"after": 0.333,
"delta": 0.0715,
"percent_delta": 0.2734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2901,
"after": 0.333,
"delta": 0.0429,
"percent_delta": 0.1479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4236,
"after": 0.333,
"delta": -0.0906,
"percent_delta": -0.2139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2615,
"after": 0.333,
"delta": 0.0715,
"percent_delta": 0.2734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4236,
"after": 0.333,
"delta": -0.0906,
"percent_delta": -0.2139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2615,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2901,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4236,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2615,
"delta": -0.0715,
"percent_delta": -0.2147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2901,
"delta": -0.0429,
"percent_delta": -0.1288,
"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.4236,
"delta": 0.0906,
"percent_delta": 0.2719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4236,
"delta": 0.0906,
"percent_delta": 0.2719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2615,
"delta": -0.0715,
"percent_delta": -0.2147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2,
"after": 4.0,
"delta": 0.8,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2615,
"delta": 0.0025,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2901,
"delta": -0.0169,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4236,
"delta": 0.0036,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.2,
"after": 4.0,
"delta": 0.8,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"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.178 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.200 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.133 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.556 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.004 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.232 | 0.032 |
| predicted_AVG | 0.264 | 0.005 |
| predicted_BB | 0.131 | -0.002 |
| predicted_H | 0.854 | 0.024 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.115 | 0.005 |
| predicted_OBP | 0.307 | -0.000 |
| predicted_R | 0.331 | -0.002 |
| predicted_RBI | 0.354 | -0.016 |
| predicted_SLG | 0.429 | 0.009 |
| predicted_SO | 0.580 | 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.182 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.232 | 0.000 |
| predicted_AVG | 0.262 | -0.002 |
| predicted_BB | 0.130 | -0.000 |
| predicted_H | 0.845 | -0.009 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.113 | -0.002 |
| predicted_OBP | 0.290 | -0.017 |
| predicted_R | 0.327 | -0.005 |
| predicted_RBI | 0.349 | -0.005 |
| predicted_SLG | 0.424 | -0.005 |
| predicted_SO | 0.581 | 0.001 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.262 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.182 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.232 |
| predicted_AVG | 0.333 | 0.072 |
| predicted_BB | 0.000 | -0.130 |
| predicted_H | 1.000 | 0.155 |
| predicted_HR | 0.000 | -0.113 |
| predicted_OBP | 0.333 | 0.043 |
| predicted_R | 0.000 | -0.327 |
| predicted_RBI | 0.000 | -0.349 |
| predicted_SLG | 0.333 | -0.091 |
| predicted_SO | 1.000 | 0.419 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 3.000 | 0.2000 | 0.2000 | 0.4667 | 0.2000 | 0.0667 | 0.0667 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 2.000 | 0.000 | 2.000 | 3.000 | 3.000 | 1.000 | 6.000 | 0.2727 | 0.2941 | 0.5152 | 0.2727 | 0.0606 | 0.0909 | 0.0303 | 0.1818 |
| season | 0.60 | 45 | - | 143.000 | 43.000 | 8.000 | 0.000 | 3.000 | 15.000 | 15.000 | 6.000 | 25.000 | 0.3007 | 0.3442 | 0.4196 | 0.3007 | 0.0210 | 0.1049 | 0.0420 | 0.1748 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1880 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2800 |
| predicted_AVG | 0.2710 |
| predicted_BB | 0.1270 |
| predicted_H | 0.8890 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3066 |
| predicted_R | 0.3290 |
| predicted_RBI | 0.3300 |
| predicted_SLG | 0.4419 |
| predicted_SO | 0.6160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1780 | 0.1880 | 0.1820 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2000 | 3.2800 | 3.2322 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2710 | 0.2638 | model_form_blend |
| predicted_BB | 0.1330 | 0.1270 | 0.1306 | model_form_blend |
| predicted_H | 0.8300 | 0.8890 | 0.8537 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.1100 | 0.1230 | 0.1152 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3066 | 0.3068 | model_form_blend |
| predicted_R | 0.3330 | 0.3290 | 0.3314 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3300 | 0.3539 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4419 | 0.4288 | model_form_blend |
| predicted_SO | 0.5560 | 0.6160 | 0.5801 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 93 |
| Season rows before report date | 93 |
| Report year | 2026 |
| Profile rows used | 45 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.301 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 664770 |
| playerID | 664770 |
| playerName | Nathan Lukes |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.337 |
| sl_xwoba | 0.294 |
| sl_xba | 0.269 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 0.8 |
| sl_hard_hit_percent | 28.9 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 19.3 |
| 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.132 | 0.000 | 0.000 | Hitting_2B | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.417 | 3.000 | 1.583 | 1.000 |
| predicted_AVG | 0.255 | 0.750 | 0.333 | Hitting_AVG | 0.133 | 0.000 | 0.617 | 0.750 |
| predicted_BB | 0.421 | 0.000 | 0.000 | Hitting_BB | 0.553 | 0.000 | -0.553 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.510 | 3.000 | 1.000 | Hitting_H | 0.320 | 0.000 | 2.680 | 3.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_OBP | 0.276 | 0.750 | 0.333 | Hitting_OBP | 0.294 | 0.000 | 0.456 | 0.750 |
| predicted_R | 0.316 | 0.000 | 0.000 | Hitting_R | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_SLG | 0.356 | 0.750 | 0.333 | Hitting_SLG | 0.221 | 0.000 | 0.529 | 0.750 |
| predicted_SO | 0.947 | 0.000 | 1.000 | Hitting_SO | 0.981 | 1.000 | -0.981 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.5100 -> 3.0000 (boost 2.4900, better) |
| Biggest Deboost | predicted_SO: 0.9470 -> 0.0000 (deboost -0.9470, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AB: 2.5000 -> 2.6264 (boost 0.1264, better) | predicted_BB: 0.4210 -> 0.3694 (deboost -0.0516, worse) | Final model input calibrated with local 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.2700 -> 0.2933 (boost 0.0233, better) | predicted_AVG: 0.2279 -> 0.1941 (deboost -0.0338, 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.5099 -> 1.0000 (boost 0.4901, better) | predicted_BB: 0.3686 -> 0.0000 (deboost -0.3686, worse) | AB rounded to 3 (raw=2.63), rates preserved: AVG=0.194 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3157 -> 0.0000 (deboost -0.3157, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1941 -> 0.3330 (boost 0.1389, better) | predicted_SLG: 0.3540 -> 0.3330 (deboost -0.0210, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3540 (boost 0.0210, better) | predicted_AVG: 0.3330 -> 0.1941 (deboost -0.1389, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676914",
"player_name": "Davis Schneider",
"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.132,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.255,
"predicted_BB": 0.421,
"predicted_H": 0.51,
"predicted_HR": 0.09,
"predicted_OBP": 0.276,
"predicted_R": 0.316,
"predicted_RBI": 0.29,
"predicted_SLG": 0.356,
"predicted_SO": 0.947
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1444,
"predicted_3B": 0.0008,
"predicted_AB": 2.6264,
"predicted_AVG": 0.2279,
"predicted_BB": 0.3694,
"predicted_H": 0.515,
"predicted_HBP": 0.005,
"predicted_HR": 0.0927,
"predicted_OBP": 0.27,
"predicted_R": 0.3203,
"predicted_RBI": 0.2881,
"predicted_SLG": 0.3528,
"predicted_SO": 0.9016
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1444,
"delta": 0.0124,
"percent_delta": 0.0939,
"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.6264,
"delta": 0.1264,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2279,
"delta": -0.0271,
"percent_delta": -0.1063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.421,
"after": 0.3694,
"delta": -0.0516,
"percent_delta": -0.1226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.51,
"after": 0.515,
"delta": 0.005,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0927,
"delta": 0.0027,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.27,
"delta": -0.006,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.3203,
"delta": 0.0043,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2881,
"delta": -0.0019,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3528,
"delta": -0.0032,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.947,
"after": 0.9016,
"delta": -0.0454,
"percent_delta": -0.0479,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6264,
"delta": 0.1264,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.421,
"after": 0.3694,
"delta": -0.0516,
"percent_delta": -0.1226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1444,
"predicted_3B": 0.0008,
"predicted_AB": 2.6264,
"predicted_AVG": 0.1941,
"predicted_BB": 0.3686,
"predicted_H": 0.5099,
"predicted_HBP": 0.005,
"predicted_HR": 0.0912,
"predicted_OBP": 0.2933,
"predicted_R": 0.3157,
"predicted_RBI": 0.2839,
"predicted_SLG": 0.354,
"predicted_SO": 0.9037
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6264,
"after": 2.6264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2279,
"after": 0.1941,
"delta": -0.0338,
"percent_delta": -0.1483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3694,
"after": 0.3686,
"delta": -0.0008,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.515,
"after": 0.5099,
"delta": -0.0051,
"percent_delta": -0.0099,
"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.0927,
"after": 0.0912,
"delta": -0.0015,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2933,
"delta": 0.0233,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3203,
"after": 0.3157,
"delta": -0.0046,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2881,
"after": 0.2839,
"delta": -0.0042,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3528,
"after": 0.354,
"delta": 0.0012,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9016,
"after": 0.9037,
"delta": 0.0021,
"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_OBP",
"before": 0.27,
"after": 0.2933,
"delta": 0.0233,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2279,
"after": 0.1941,
"delta": -0.0338,
"percent_delta": -0.1483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.63), rates preserved: AVG=0.194 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.1444,
"after": 0.0,
"delta": -0.1444,
"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.6264,
"after": 3.0,
"delta": 0.3736,
"percent_delta": 0.1422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3686,
"after": 0.0,
"delta": -0.3686,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5099,
"after": 1.0,
"delta": 0.4901,
"percent_delta": 0.9612,
"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.0912,
"after": 0.0,
"delta": -0.0912,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2839,
"after": 0.0,
"delta": -0.2839,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9037,
"after": 1.0,
"delta": 0.0963,
"percent_delta": 0.1066,
"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.5099,
"after": 1.0,
"delta": 0.4901,
"percent_delta": 0.9612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3686,
"after": 0.0,
"delta": -0.3686,
"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.429)",
"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.3157,
"after": 0.0,
"delta": -0.3157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3157,
"after": 0.0,
"delta": -0.3157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1941,
"after": 0.333,
"delta": 0.1389,
"percent_delta": 0.7156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0397,
"percent_delta": 0.1354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.333,
"delta": -0.021,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1941,
"after": 0.333,
"delta": 0.1389,
"percent_delta": 0.7156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.333,
"delta": -0.021,
"percent_delta": -0.0593,
"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": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1941,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2933,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.354,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1941,
"delta": -0.1389,
"percent_delta": -0.417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2933,
"delta": -0.0397,
"percent_delta": -0.1192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.354,
"delta": 0.021,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.354,
"delta": 0.021,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1941,
"delta": -0.1389,
"percent_delta": -0.417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.1941,
"delta": -0.0609,
"percent_delta": -0.2388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.51,
"after": 3.0,
"delta": 2.49,
"percent_delta": 4.8824,
"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.276,
"after": 0.2933,
"delta": 0.0173,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.354,
"delta": -0.002,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.947,
"after": 0.0,
"delta": -0.947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.51,
"after": 3.0,
"delta": 2.49,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.947,
"after": 0.0,
"delta": -0.947,
"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.132 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.421 | - |
| predicted_H | 0.510 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.276 | - |
| predicted_R | 0.316 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.356 | - |
| predicted_SO | 0.947 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.012 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.626 | 0.126 |
| predicted_AVG | 0.228 | -0.027 |
| predicted_BB | 0.369 | -0.052 |
| predicted_H | 0.515 | 0.005 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.093 | 0.003 |
| predicted_OBP | 0.270 | -0.006 |
| predicted_R | 0.320 | 0.004 |
| predicted_RBI | 0.288 | -0.002 |
| predicted_SLG | 0.353 | -0.003 |
| predicted_SO | 0.902 | -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.144 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.626 | 0.000 |
| predicted_AVG | 0.194 | -0.034 |
| predicted_BB | 0.369 | -0.001 |
| predicted_H | 0.510 | -0.005 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.091 | -0.002 |
| predicted_OBP | 0.293 | 0.023 |
| predicted_R | 0.316 | -0.005 |
| predicted_RBI | 0.284 | -0.004 |
| predicted_SLG | 0.354 | 0.001 |
| predicted_SO | 0.904 | 0.002 |
AB rounded to 3 (raw=2.63), rates preserved: AVG=0.194 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.144 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.374 |
| predicted_AVG | 0.333 | 0.139 |
| predicted_BB | 0.000 | -0.369 |
| predicted_H | 1.000 | 0.490 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.333 | 0.040 |
| predicted_R | 0.000 | -0.316 |
| predicted_RBI | 0.000 | -0.284 |
| predicted_SLG | 0.333 | -0.021 |
| predicted_SO | 1.000 | 0.096 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 0.1333 | 0.1333 | 0.2000 | 0.1333 | 0.0000 | 0.0000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 26.000 | 6.000 | 2.000 | 0.000 | 2.000 | 3.000 | 3.000 | 1.000 | 6.000 | 0.2308 | 0.2593 | 0.5385 | 0.2308 | 0.0769 | 0.1154 | 0.0385 | 0.2308 |
| season | 0.60 | 40 | - | 95.000 | 15.000 | 5.000 | 0.000 | 3.000 | 11.000 | 12.000 | 16.000 | 36.000 | 0.1579 | 0.2793 | 0.3053 | 0.1579 | 0.0316 | 0.1158 | 0.1684 | 0.3790 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.8260 |
| predicted_AVG | 0.1852 |
| predicted_BB | 0.2880 |
| predicted_H | 0.5230 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.2604 |
| predicted_R | 0.3270 |
| predicted_RBI | 0.2850 |
| predicted_SLG | 0.3477 |
| predicted_SO | 0.8300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.1640 | 0.1444 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.8260 | 2.6264 | model_form_blend |
| predicted_AVG | 0.2550 | 0.1852 | 0.2279 | model_form_blend |
| predicted_BB | 0.4210 | 0.2880 | 0.3694 | model_form_blend |
| predicted_H | 0.5100 | 0.5230 | 0.5150 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0900 | 0.0970 | 0.0927 | model_form_blend |
| predicted_OBP | 0.2760 | 0.2604 | 0.2700 | model_form_blend |
| predicted_R | 0.3160 | 0.3270 | 0.3203 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2850 | 0.2881 | model_form_blend |
| predicted_SLG | 0.3560 | 0.3477 | 0.3528 | model_form_blend |
| predicted_SO | 0.9470 | 0.8300 | 0.9016 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 103 |
| Season rows before report date | 103 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.158 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | LF |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 676914 |
| playerID | 676914 |
| playerName | Davis Schneider |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 31.6 |
| sl_bb_percent | 15.8 |
| sl_woba | 0.277 |
| sl_xwoba | 0.278 |
| sl_xba | 0.16 |
| sl_xslg | 0.305 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 46.7 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 30.5 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 39.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.101 | 1.000 | 0.000 | Hitting_2B | 0.089 | 0.000 | 0.911 | 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.293 | 1.000 | 1.707 | 3.000 |
| predicted_AVG | 0.273 | 0.500 | 0.333 | Hitting_AVG | 0.248 | 0.000 | 0.252 | 0.500 |
| predicted_BB | 0.222 | 0.000 | 0.000 | Hitting_BB | 0.285 | 0.000 | -0.285 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.190 | 2.000 | 1.000 | Hitting_H | 0.569 | 0.000 | 1.431 | 2.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_OBP | 0.285 | 0.500 | 0.333 | Hitting_OBP | 0.326 | 0.000 | 0.174 | 0.500 |
| predicted_R | 0.423 | 1.000 | 0.000 | Hitting_R | 0.455 | 0.000 | 0.545 | 1.000 |
| predicted_RBI | 0.100 | 2.000 | 0.000 | Hitting_RBI | 0.171 | 0.000 | 1.829 | 2.000 |
| predicted_SLG | 0.338 | 0.750 | 0.333 | Hitting_SLG | 0.362 | 0.000 | 0.388 | 0.750 |
| predicted_SO | 0.423 | 1.000 | 0.000 | Hitting_SO | 0.366 | 0.000 | 0.634 | 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.1000 -> 2.0000 (boost 1.9000, better) |
| Biggest Deboost | predicted_BB: 0.2220 -> 0.0000 (deboost -0.2220, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.1900 -> 0.3727 (boost 0.1827, better) | predicted_AVG: 0.2730 -> 0.2606 (deboost -0.0124, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3380 -> 0.2204 (deboost -0.1176, 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: 2.5747 -> 3.0000 (boost 0.4253, better) | predicted_SO: 0.4192 -> 0.0000 (deboost -0.4192, better) | AB rounded to 3 (raw=2.57), rates preserved: AVG=0.143 HR/AB=0.010 |
| 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.600) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4137 -> 0.0000 (deboost -0.4137, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1433 -> 0.3330 (boost 0.1897, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 6 | 0 | 5 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1433 (deboost -0.1897, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664702",
"player_name": "Myles Straw",
"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.101,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.273,
"predicted_BB": 0.222,
"predicted_H": 0.19,
"predicted_HR": 0.02,
"predicted_OBP": 0.285,
"predicted_R": 0.423,
"predicted_RBI": 0.1,
"predicted_SLG": 0.338,
"predicted_SO": 0.423
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1169,
"predicted_3B": 0.0008,
"predicted_AB": 2.5747,
"predicted_AVG": 0.2606,
"predicted_BB": 0.2395,
"predicted_H": 0.3727,
"predicted_HBP": 0.004,
"predicted_HR": 0.0271,
"predicted_OBP": 0.2952,
"predicted_R": 0.4198,
"predicted_RBI": 0.1238,
"predicted_SLG": 0.338,
"predicted_SO": 0.4182
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 0.1169,
"delta": 0.0159,
"percent_delta": 0.1574,
"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.5747,
"delta": 0.0747,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2606,
"delta": -0.0124,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.2395,
"delta": 0.0175,
"percent_delta": 0.0788,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.3727,
"delta": 0.1827,
"percent_delta": 0.9616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0271,
"delta": 0.0071,
"percent_delta": 0.355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2952,
"delta": 0.0102,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.423,
"after": 0.4198,
"delta": -0.0032,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.1238,
"delta": 0.0238,
"percent_delta": 0.238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.338,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 0.4182,
"delta": -0.0048,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.19,
"after": 0.3727,
"delta": 0.1827,
"percent_delta": 0.9616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2606,
"delta": -0.0124,
"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": 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.1169,
"predicted_3B": 0.0008,
"predicted_AB": 2.5747,
"predicted_AVG": 0.1433,
"predicted_BB": 0.2389,
"predicted_H": 0.369,
"predicted_HBP": 0.004,
"predicted_HR": 0.0267,
"predicted_OBP": 0.2161,
"predicted_R": 0.4137,
"predicted_RBI": 0.122,
"predicted_SLG": 0.2204,
"predicted_SO": 0.4192
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1169,
"after": 0.1169,
"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.5747,
"after": 2.5747,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2606,
"after": 0.1433,
"delta": -0.1173,
"percent_delta": -0.4501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2395,
"after": 0.2389,
"delta": -0.0006,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3727,
"after": 0.369,
"delta": -0.0037,
"percent_delta": -0.0099,
"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.0271,
"after": 0.0267,
"delta": -0.0004,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2952,
"after": 0.2161,
"delta": -0.0791,
"percent_delta": -0.268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4198,
"after": 0.4137,
"delta": -0.0061,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1238,
"after": 0.122,
"delta": -0.0018,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.2204,
"delta": -0.1176,
"percent_delta": -0.3479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4182,
"after": 0.4192,
"delta": 0.001,
"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.338,
"after": 0.2204,
"delta": -0.1176,
"percent_delta": -0.3479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.57), rates preserved: AVG=0.143 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1169,
"after": 0.0,
"delta": -0.1169,
"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.5747,
"after": 3.0,
"delta": 0.4253,
"percent_delta": 0.1652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2389,
"after": 0.0,
"delta": -0.2389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.369,
"after": 0.0,
"delta": -0.369,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0267,
"after": 0.0,
"delta": -0.0267,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4192,
"after": 0.0,
"delta": -0.4192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5747,
"after": 3.0,
"delta": 0.4253,
"percent_delta": 0.1652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4192,
"after": 0.0,
"delta": -0.4192,
"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=5.0, weight=0.057, BvP AVG=0.600)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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_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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4137,
"after": 0.0,
"delta": -0.4137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4137,
"after": 0.0,
"delta": -0.4137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1433,
"after": 0.333,
"delta": 0.1897,
"percent_delta": 1.3238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2161,
"after": 0.333,
"delta": 0.1169,
"percent_delta": 0.541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2204,
"after": 0.333,
"delta": 0.1126,
"percent_delta": 0.5109,
"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.1433,
"after": 0.333,
"delta": 0.1897,
"percent_delta": 1.3238,
"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": 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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 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.1433,
"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.2161,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2204,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1433,
"delta": -0.1897,
"percent_delta": -0.5696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.2161,
"delta": -0.1169,
"percent_delta": -0.3511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2204,
"delta": -0.1126,
"percent_delta": -0.3381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1433,
"delta": -0.1897,
"percent_delta": -0.5696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 1.0,
"delta": 0.899,
"percent_delta": 8.901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.1433,
"delta": -0.1297,
"percent_delta": -0.4751,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 2.0,
"delta": 1.81,
"percent_delta": 9.5263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2161,
"delta": -0.0689,
"percent_delta": -0.2418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.423,
"after": 1.0,
"delta": 0.577,
"percent_delta": 1.3641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.2204,
"delta": -0.1176,
"percent_delta": -0.3479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 1.0,
"delta": 0.577,
"percent_delta": 1.3641,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.101 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.222 | - |
| predicted_H | 0.190 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.423 | - |
| predicted_RBI | 0.100 | - |
| predicted_SLG | 0.338 | - |
| predicted_SO | 0.423 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.117 | 0.016 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.575 | 0.075 |
| predicted_AVG | 0.261 | -0.012 |
| predicted_BB | 0.239 | 0.017 |
| predicted_H | 0.373 | 0.183 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.027 | 0.007 |
| predicted_OBP | 0.295 | 0.010 |
| predicted_R | 0.420 | -0.003 |
| predicted_RBI | 0.124 | 0.024 |
| predicted_SLG | 0.338 | 0.000 |
| predicted_SO | 0.418 | -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.117 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.575 | 0.000 |
| predicted_AVG | 0.143 | -0.117 |
| predicted_BB | 0.239 | -0.001 |
| predicted_H | 0.369 | -0.004 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.027 | -0.000 |
| predicted_OBP | 0.216 | -0.079 |
| predicted_R | 0.414 | -0.006 |
| predicted_RBI | 0.122 | -0.002 |
| predicted_SLG | 0.220 | -0.118 |
| predicted_SO | 0.419 | 0.001 |
AB rounded to 3 (raw=2.57), rates preserved: AVG=0.143 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600)
| Metric | Value | 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 | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.117 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.425 |
| predicted_AVG | 0.333 | 0.190 |
| predicted_BB | 0.000 | -0.239 |
| predicted_H | 1.000 | 0.631 |
| predicted_HR | 0.000 | -0.027 |
| predicted_OBP | 0.333 | 0.117 |
| predicted_R | 0.000 | -0.414 |
| predicted_RBI | 0.000 | -0.122 |
| predicted_SLG | 0.333 | 0.113 |
| predicted_SO | 0.000 | -0.419 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 0.2143 | 0.3125 | 0.2857 | 0.2143 | 0.0000 | 0.0000 | 0.1429 | 0.0714 |
| last_10 | 0.20 | 10 | - | 27.000 | 7.000 | 2.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 3.000 | 0.2593 | 0.3333 | 0.3333 | 0.2593 | 0.0000 | 0.0000 | 0.1111 | 0.1111 |
| season | 0.60 | 56 | - | 124.000 | 30.000 | 5.000 | 0.000 | 2.000 | 9.000 | 21.000 | 11.000 | 21.000 | 0.2419 | 0.3015 | 0.3306 | 0.2419 | 0.0161 | 0.0726 | 0.0887 | 0.1694 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1410 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.6880 |
| predicted_AVG | 0.2418 |
| predicted_BB | 0.2660 |
| predicted_H | 0.6500 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0380 |
| predicted_OBP | 0.3106 |
| predicted_R | 0.4150 |
| predicted_RBI | 0.1600 |
| predicted_SLG | 0.3380 |
| predicted_SO | 0.4110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1010 | 0.1410 | 0.1169 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.6880 | 2.5747 | model_form_blend |
| predicted_AVG | 0.2730 | 0.2418 | 0.2606 | model_form_blend |
| predicted_BB | 0.2220 | 0.2660 | 0.2395 | model_form_blend |
| predicted_H | 0.1900 | 0.6500 | 0.3727 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0200 | 0.0380 | 0.0271 | model_form_blend |
| predicted_OBP | 0.2850 | 0.3106 | 0.2952 | model_form_blend |
| predicted_R | 0.4230 | 0.4150 | 0.4198 | model_form_blend |
| predicted_RBI | 0.1000 | 0.1600 | 0.1238 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3380 | 0.3380 | model_form_blend |
| predicted_SO | 0.4230 | 0.4110 | 0.4182 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 123 |
| Season rows before report date | 123 |
| Report year | 2026 |
| Profile rows used | 56 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 |
| gameID | 20260624_HOU@TOR |
| game_type | ph |
| mlbID | 664702 |
| note | Grounded out for Lukes in the 9th. |
| playerID | 664702 |
| playerName | Myles Straw |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 14.9 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.288 |
| sl_xwoba | 0.305 |
| sl_xba | 0.262 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 25.2 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 12.9 |
| sl_swing_percent | 37.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.500 | 4.000 | 4.000 | Hitting_AB | 3.500 | 2.000 | 0.500 | 2.000 |
| predicted_AVG | 0.260 | 0.000 | 0.250 | Hitting_AVG | 0.429 | 0.500 | -0.429 | -0.500 |
| predicted_BB | 0.500 | 0.000 | 1.000 | Hitting_BB | 0.500 | 1.000 | -0.500 | -1.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 | 1.500 | 1.000 | -1.500 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_OBP | 0.340 | 0.000 | 0.400 | Hitting_OBP | 0.500 | 0.667 | -0.500 | -0.667 |
| predicted_R | 0.500 | 0.000 | 0.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.458 | 0.000 | 0.250 | Hitting_SLG | 0.857 | 0.500 | -0.857 | -0.500 |
| predicted_SO | 0.500 | 2.000 | 1.000 | Hitting_SO | 0.500 | 0.000 | 1.500 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.5000 -> 2.0000 (boost 1.5000, 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 | 5 | 5 | 0 | 4 | 1 | predicted_AB: 3.5000 -> 3.5629 (boost 0.0629, 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.4681 -> 0.3998 (deboost -0.0683, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 5 | 1 | 4 | 2 | predicted_BB: 0.4645 -> 1.0000 (boost 0.5355, better) | predicted_HR: 0.1696 -> 0.0000 (deboost -0.1696, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.247 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4929 -> 0.0000 (deboost -0.4929, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3334 -> 0.4000 (boost 0.0666, better) | predicted_SLG: 0.3998 -> 0.2500 (deboost -0.1498, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3998 (boost 0.1498, better) | predicted_OBP: 0.4000 -> 0.3334 (deboost -0.0666, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "649966",
"player_name": "Luis Urías",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 3.5,
"predicted_AVG": 0.26,
"predicted_BB": 0.5,
"predicted_H": 0.83,
"predicted_HR": 0.16,
"predicted_OBP": 0.34,
"predicted_R": 0.5,
"predicted_RBI": 0.49,
"predicted_SLG": 0.458,
"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.032,
"predicted_3B": 0.0026,
"predicted_AB": 3.5629,
"predicted_AVG": 0.2661,
"predicted_BB": 0.4656,
"predicted_H": 0.8872,
"predicted_HBP": 0.027,
"predicted_HR": 0.1723,
"predicted_OBP": 0.3427,
"predicted_R": 0.5002,
"predicted_RBI": 0.5187,
"predicted_SLG": 0.4681,
"predicted_SO": 0.56
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.032,
"delta": 0.032,
"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": 3.5,
"after": 3.5629,
"delta": 0.0629,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2661,
"delta": 0.0061,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4656,
"delta": -0.0344,
"percent_delta": -0.0688,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8872,
"delta": 0.0572,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1723,
"delta": 0.0123,
"percent_delta": 0.0769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3427,
"delta": 0.0027,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5002,
"delta": 0.0002,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.5187,
"delta": 0.0287,
"percent_delta": 0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4681,
"delta": 0.0101,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.56,
"delta": 0.06,
"percent_delta": 0.12,
"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.5,
"after": 3.5629,
"delta": 0.0629,
"percent_delta": 0.018,
"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": 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.032,
"predicted_3B": 0.0026,
"predicted_AB": 3.5629,
"predicted_AVG": 0.2465,
"predicted_BB": 0.4645,
"predicted_H": 0.8784,
"predicted_HBP": 0.027,
"predicted_HR": 0.1696,
"predicted_OBP": 0.3334,
"predicted_R": 0.4929,
"predicted_RBI": 0.5112,
"predicted_SLG": 0.3998,
"predicted_SO": 0.5613
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.032,
"after": 0.032,
"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": 3.5629,
"after": 3.5629,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2661,
"after": 0.2465,
"delta": -0.0196,
"percent_delta": -0.0737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4656,
"after": 0.4645,
"delta": -0.0011,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8872,
"after": 0.8784,
"delta": -0.0088,
"percent_delta": -0.0099,
"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.1723,
"after": 0.1696,
"delta": -0.0027,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3427,
"after": 0.3334,
"delta": -0.0093,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5002,
"after": 0.4929,
"delta": -0.0073,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5187,
"after": 0.5112,
"delta": -0.0075,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4681,
"after": 0.3998,
"delta": -0.0683,
"percent_delta": -0.1459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.56,
"after": 0.5613,
"delta": 0.0013,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4681,
"after": 0.3998,
"delta": -0.0683,
"percent_delta": -0.1459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.247 HR/AB=0.048",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"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": 3.5629,
"after": 4.0,
"delta": 0.4371,
"percent_delta": 0.1227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4645,
"after": 1.0,
"delta": 0.5355,
"percent_delta": 1.1529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8784,
"after": 1.0,
"delta": 0.1216,
"percent_delta": 0.1384,
"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.1696,
"after": 0.0,
"delta": -0.1696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5112,
"after": 1.0,
"delta": 0.4888,
"percent_delta": 0.9562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5613,
"after": 1.0,
"delta": 0.4387,
"percent_delta": 0.7816,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4645,
"after": 1.0,
"delta": 0.5355,
"percent_delta": 1.1529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1696,
"after": 0.0,
"delta": -0.1696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4929,
"after": 0.0,
"delta": -0.4929,
"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.4929,
"after": 0.0,
"delta": -0.4929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2465,
"after": 0.25,
"delta": 0.0035,
"percent_delta": 0.0142,
"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.3334,
"after": 0.4,
"delta": 0.0666,
"percent_delta": 0.1998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.3998,
"after": 0.25,
"delta": -0.1498,
"percent_delta": -0.3747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3334,
"after": 0.4,
"delta": 0.0666,
"percent_delta": 0.1998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3998,
"after": 0.25,
"delta": -0.1498,
"percent_delta": -0.3747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2465,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3334,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3998,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2465,
"delta": -0.0035,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3334,
"delta": -0.0666,
"percent_delta": -0.1664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3998,
"delta": 0.1498,
"percent_delta": 0.5991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3998,
"delta": 0.1498,
"percent_delta": 0.5991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3334,
"delta": -0.0666,
"percent_delta": -0.1664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2465,
"delta": -0.0135,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.34,
"after": 0.3334,
"delta": -0.0066,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.3998,
"delta": -0.0582,
"percent_delta": -0.1271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"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.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.458 | - |
| 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.032 | 0.032 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 3.563 | 0.063 |
| predicted_AVG | 0.266 | 0.006 |
| predicted_BB | 0.466 | -0.034 |
| predicted_H | 0.887 | 0.057 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.172 | 0.012 |
| predicted_OBP | 0.343 | 0.003 |
| predicted_R | 0.500 | 0.000 |
| predicted_RBI | 0.519 | 0.029 |
| predicted_SLG | 0.468 | 0.010 |
| predicted_SO | 0.560 | 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.032 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 3.563 | 0.000 |
| predicted_AVG | 0.246 | -0.020 |
| predicted_BB | 0.465 | -0.001 |
| predicted_H | 0.878 | -0.009 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.170 | -0.003 |
| predicted_OBP | 0.333 | -0.009 |
| predicted_R | 0.493 | -0.007 |
| predicted_RBI | 0.511 | -0.008 |
| predicted_SLG | 0.400 | -0.068 |
| predicted_SO | 0.561 | 0.001 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.247 HR/AB=0.048
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.032 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 4.000 | 0.437 |
| predicted_AVG | 0.250 | 0.004 |
| predicted_BB | 1.000 | 0.535 |
| predicted_H | 1.000 | 0.122 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.400 | 0.067 |
| predicted_R | 0.000 | -0.493 |
| predicted_RBI | 1.000 | 0.489 |
| predicted_SLG | 0.250 | -0.150 |
| predicted_SO | 1.000 | 0.439 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 2 | - | 7.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 1.000 | 0.4286 | 0.5000 | 0.8571 | 0.4286 | 0.1429 | 0.2857 | 0.1429 | 0.1429 |
| last_10 | 0.20 | 2 | - | 7.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 1.000 | 0.4286 | 0.5000 | 0.8571 | 0.4286 | 0.1429 | 0.2857 | 0.1429 | 0.1429 |
| season | 0.60 | 2 | - | 7.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 1.000 | 0.4286 | 0.5000 | 0.8571 | 0.4286 | 0.1429 | 0.2857 | 0.1429 | 0.1429 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7870 |
| predicted_AVG | 0.2880 |
| predicted_BB | 0.3430 |
| predicted_H | 1.0910 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.2160 |
| predicted_OBP | 0.3525 |
| predicted_R | 0.5010 |
| predicted_RBI | 0.6210 |
| predicted_SLG | 0.5042 |
| predicted_SO | 0.7740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1460 | 0.0320 | model_form_blend |
| predicted_3B | 0.0000 | 0.0120 | 0.0026 | model_form_blend |
| predicted_AB | 3.5000 | 3.7870 | 3.5629 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2880 | 0.2661 | model_form_blend |
| predicted_BB | 0.5000 | 0.3430 | 0.4656 | model_form_blend |
| predicted_H | 0.8300 | 1.0910 | 0.8872 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.1600 | 0.2160 | 0.1723 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3525 | 0.3427 | model_form_blend |
| predicted_R | 0.5000 | 0.5010 | 0.5002 | model_form_blend |
| predicted_RBI | 0.4900 | 0.6210 | 0.5187 | model_form_blend |
| predicted_SLG | 0.4580 | 0.5042 | 0.4681 | model_form_blend |
| predicted_SO | 0.5000 | 0.7740 | 0.5600 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.429 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 2B |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 649966 |
| playerID | 649966 |
| playerName | Luis Urías |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.567 |
| sl_xwoba | 0.26 |
| sl_xba | 0.161 |
| sl_xslg | 0.303 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 16.7 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 15.0 |
| sl_swing_percent | 55.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.250 | 4.000 | 0.750 | -2.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.500 | 7.000 | 1.500 | -3.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.062 | 7.000 | 0.938 | -1.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.431 | 2.000 | -0.331 | 3.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.562 | 3.000 | -0.562 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "592332",
"player_name": "Kevin Gausman",
"position": "Starter",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 25.000 | 17.000 | 24.000 | 10.000 | 28.000 | 5.000 | 6.1200 | 1.3600 | 0.6800 | 0.9600 | 0.4000 | 1.1200 | 0.2000 |
| last_10 | 0.35 | 10 | 54.000 | 30.000 | 54.000 | 14.000 | 51.000 | 8.000 | 5.0000 | 1.2593 | 0.5556 | 1.0000 | 0.2593 | 0.9444 | 0.1482 |
| season | 0.20 | 16 | 89.000 | 40.000 | 81.000 | 20.000 | 89.000 | 11.000 | 4.0449 | 1.1348 | 0.4494 | 0.9101 | 0.2247 | 1.0000 | 0.1236 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7200 |
| predicted_ER | 2.9970 |
| predicted_ERA | 5.1186 |
| predicted_H | 5.0870 |
| predicted_HR | 0.8520 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.3420 |
| predicted_WHIP | 1.2916 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.7200 | 1.8462 | model_form_blend |
| predicted_ER | 4.0000 | 2.9970 | 3.4489 | model_form_blend |
| predicted_ERA | - | 5.1186 | 5.1186 | form_only |
| predicted_H | 6.0000 | 5.0870 | 5.4984 | model_form_blend |
| predicted_HR | 0.0000 | 0.8520 | 0.4681 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 5.3420 | 4.7373 | model_form_blend |
| predicted_WHIP | - | 1.2916 | 1.2916 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 5 |
| HR | 0 |
| BF | 24 |
| Pitches | 94 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 17 |
| Pitching_ER | 7 |
| Pitching_ERA | 4.04 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 68 |
| Pitching_R | 7 |
| Pitching_SO | 3 |
| Pitching_Strikes | 35 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260619_TOR@CHC |
| game_type | full |
| mlbID | 592332 |
| playerID | 592332 |
| playerName | Kevin Gausman |
| pos | P |
| started | True |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-19 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.296 |
| sl_xwoba | 0.293 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 36.3 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 50.3 |
| sl_avg_best_speed | 76.030161508 |
| sl_avg_hyper_speed | 94.134396151 |
| 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.105 | 0.000 | -0.105 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.737 | 0.000 | 0.263 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.039 | 1.000 | 0.061 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.526 | 1.000 | -1.526 | -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": "686973",
"player_name": "Louis Varland",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.100 | 2.000 | 3.000 | 2.000 | 10.000 | 1.000 | 2.8421 | 0.7895 | 0.3158 | 0.4737 | 0.3158 | 1.5790 | 0.1579 |
| last_10 | 0.35 | 10 | 12.000 | 3.000 | 5.000 | 3.000 | 16.000 | 1.000 | 2.2500 | 0.6667 | 0.2500 | 0.4167 | 0.2500 | 1.3333 | 0.0833 |
| season | 0.20 | 38 | 43.000 | 4.000 | 28.000 | 12.000 | 58.000 | 1.000 | 0.8372 | 0.9302 | 0.0930 | 0.6512 | 0.2791 | 1.3488 | 0.0233 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4040 |
| predicted_ER | 0.4410 |
| predicted_ERA | 3.0711 |
| predicted_H | 0.8610 |
| predicted_HR | 0.1550 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.6300 |
| predicted_WHIP | 0.9800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4040 | 0.1994 | model_form_blend |
| predicted_ER | 0.0000 | 0.4410 | 0.2177 | model_form_blend |
| predicted_ERA | - | 3.0711 | 3.0711 | form_only |
| predicted_H | 1.0000 | 0.8610 | 0.9314 | model_form_blend |
| predicted_HR | 0.0000 | 0.1550 | 0.0765 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.6300 | 0.8047 | model_form_blend |
| predicted_WHIP | - | 0.9800 | 0.9800 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 38 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 9 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.84 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260622_HOU@TOR |
| game_type | full |
| mlbID | 686973 |
| playerID | 686973 |
| playerName | Louis Varland |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-22 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.217 |
| sl_xwoba | 0.22 |
| sl_sweet_spot_percent | 22.3 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 35.1 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 51.6 |
| sl_avg_best_speed | 74.855279362 |
| sl_avg_hyper_speed | 93.159819255 |
| 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.368 | 1.000 | -0.368 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.026 | 1.000 | -1.026 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.832 | 1.100 | 0.168 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.500 | 2.000 | -1.500 | -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": "656546",
"player_name": "Jeff Hoffman",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 3.000 | 5.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.4000 | 0.6000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 4.000 | 4.000 | 12.000 | 1.000 | 0.9310 | 0.8276 | 0.1035 | 0.4138 | 0.4138 | 1.2414 | 0.1035 |
| season | 0.20 | 38 | 35.100 | 19.000 | 39.000 | 14.000 | 57.000 | 4.000 | 4.8396 | 1.5000 | 0.5377 | 1.1038 | 0.3962 | 1.6132 | 0.1132 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4380 |
| predicted_ER | 0.2920 |
| predicted_ERA | 2.6288 |
| predicted_H | 0.7220 |
| predicted_HR | 0.0950 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0990 |
| predicted_WHIP | 1.1605 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4380 | 0.2076 | model_form_blend |
| predicted_ER | 0.0000 | 0.2920 | 0.1384 | model_form_blend |
| predicted_ERA | - | 2.6288 | 2.6288 | form_only |
| predicted_H | 0.0000 | 0.7220 | 0.3422 | model_form_blend |
| predicted_HR | 0.0000 | 0.0950 | 0.0450 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0990 | 0.5208 | model_form_blend |
| predicted_WHIP | - | 1.1605 | 1.1605 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 38 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.84 |
| 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.1 |
| Pitching_Pitches | 13 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260624_HOU@TOR |
| game_type | full |
| mlbID | 656546 |
| playerID | 656546 |
| playerName | Jeff Hoffman |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-24 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.335 |
| sl_xwoba | 0.276 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 27.9 |
| sl_whiff_percent | 38.6 |
| sl_swing_percent | 50.1 |
| sl_avg_best_speed | 76.047090714 |
| sl_avg_hyper_speed | 92.518387262 |
| 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.308 | 0.000 | -0.308 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.205 | 1.000 | -0.205 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.872 | 3.000 | -0.872 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.882 | 1.000 | 0.118 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.513 | 0.000 | 1.487 | 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": "643511",
"player_name": "Tyler Rogers",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 10.000 | 2.000 | 0.000 | 0.000 | 1.9286 | 2.5714 | 0.2143 | 2.1429 | 0.4286 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 13.000 | 3.000 | 4.000 | 0.000 | 0.9000 | 1.6000 | 0.1000 | 1.3000 | 0.3000 | 0.4000 | 0.0000 |
| season | 0.20 | 39 | 37.200 | 8.000 | 34.000 | 12.000 | 20.000 | 0.000 | 1.9115 | 1.2212 | 0.2124 | 0.9026 | 0.3186 | 0.5310 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3610 |
| predicted_ER | 0.3050 |
| predicted_ERA | 2.7419 |
| predicted_H | 1.3470 |
| predicted_HR | 0.0590 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.5280 |
| predicted_WHIP | 1.7078 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3610 | 0.1734 | model_form_blend |
| predicted_ER | 0.0000 | 0.3050 | 0.1465 | model_form_blend |
| predicted_ERA | - | 2.7419 | 2.7419 | form_only |
| predicted_H | 0.0000 | 1.3470 | 0.6471 | model_form_blend |
| predicted_HR | 0.0000 | 0.0590 | 0.0283 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.5280 | 1.2928 | model_form_blend |
| predicted_WHIP | - | 1.7078 | 1.7078 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 39 |
| Season rows before report date | 39 |
| Report year | 2026 |
| Profile rows used | 39 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.91 |
| Pitching_Flyouts | 1 |
| 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 | 18 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260623_HOU@TOR |
| game_type | full |
| mlbID | 643511 |
| playerID | 643511 |
| playerName | Tyler Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-23 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.254 |
| sl_xwoba | 0.257 |
| sl_sweet_spot_percent | 24.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 25.6 |
| sl_whiff_percent | 14.1 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 72.252844754 |
| sl_avg_hyper_speed | 92.166887869 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.400 | 2.000 | -0.400 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.725 | 1.000 | -0.725 | -1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.918 | 2.000 | -0.818 | -1.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.050 | 2.000 | -0.050 | -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": "680755",
"player_name": "Braydon Fisher",
"position": "Middle Reliever",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.100 | 5.000 | 4.000 | 5.000 | 3.000 | 2.000 | 7.1053 | 1.4211 | 0.7895 | 0.6316 | 0.7895 | 0.4737 | 0.3158 |
| last_10 | 0.35 | 10 | 10.100 | 7.000 | 10.000 | 8.000 | 9.000 | 3.000 | 6.0968 | 1.7419 | 0.6774 | 0.9677 | 0.7742 | 0.8710 | 0.2903 |
| season | 0.20 | 40 | 43.000 | 16.000 | 29.000 | 20.000 | 42.000 | 5.000 | 3.3488 | 1.1395 | 0.3721 | 0.6744 | 0.4651 | 0.9767 | 0.1163 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4970 |
| predicted_ER | 0.5130 |
| predicted_ERA | 5.4444 |
| predicted_H | 0.7090 |
| predicted_HR | 0.1880 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6780 |
| predicted_WHIP | 1.4225 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4970 | 0.7517 | model_form_blend |
| predicted_ER | 0.0000 | 0.5130 | 0.2533 | model_form_blend |
| predicted_ERA | - | 5.4444 | 5.4444 | form_only |
| predicted_H | 0.0000 | 0.7090 | 0.3500 | model_form_blend |
| predicted_HR | 0.0000 | 0.1880 | 0.0928 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.6780 | 1.3474 | model_form_blend |
| predicted_WHIP | - | 1.4225 | 1.4225 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 40 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| 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 | 8 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.35 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 26 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20260623_HOU@TOR |
| game_type | full |
| mlbID | 680755 |
| playerID | 680755 |
| playerName | Braydon Fisher |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-06-23 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.284 |
| sl_xwoba | 0.303 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 38.0 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 46.0 |
| sl_avg_best_speed | 76.38072963 |
| sl_avg_hyper_speed | 93.474333271 |