Player-by-player trace from JSON pipeline. Metric-by-metric comparison without wide horizontal table dependency.
Windows shown explicitly: newly generated team recent form targets the latest 10 games; each game below shows the window actually stored in its artifact. Player historical helpers = 75 games; balancing rates = 162 games.
Savant layers shown explicitly: hitter Statcast quality, pitcher Statcast quality, and pitch movement from embedded data/all_players_stats.csv features.
Color guide: Red = final above baseline, Blue = final below baseline, Green = no difference.
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CLE 5 - 4 CHW | CLE | 0.505 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CLE 5 - 4 CHW | CLE | - | organic_simulation_realized_target | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5065; empirical=0.5499; weight=0.4500; final=0.5260 |
| P1 | H2H margin as base feature | available | home net=5; abs=5; home delta=0.0288; away delta=-0.0288 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=2.2500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=0.2685; recent edge=-0.0400; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.4000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5050 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_simulation_realized_target |
| 10. Score evolution rendered | 8 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.712 | 5.141 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 4 | 0.5050 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| 4 | kpi_layer | 5 | 4 | - | Savant KPI blend computed and withheld; baseline kept |
| 5 | embedded_savant_run_environment | 5 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 6 | fundamental_edge_target_review | 5 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 7 | capped_target | 5 | 4 | - | Capped at max 12 realistic runs |
| 8 | simulation_result | 5 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6923115964562919,
"base_low_score_probability": 0.42806742453939634,
"low_score_signal_threshold": 0.5080674245393964,
"low_score_signal_strength": 0.2642441719168956,
"confidence": 0.9,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.6172956800000005
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.4,
"low_score_model_expected_total_runs": 6.4,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 571,
"near_bucket_sample_size": 571,
"medium_bucket_sample_size": 793,
"wide_bucket_sample_size": 897,
"global_sample_size": 1139,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5499,
"bayesian_hit_rate": 0.5484,
"prior_strength": 18.0,
"raw_pick_probability": 0.5,
"raw_pick_probability_unclamped": 0.4241,
"score_probability_conflict": true,
"margin_implied_home_probability": 0.4953,
"margin_implied_pick_probability": 0.5047,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5021,
"score_implied_floor_pick_probability": 0.5046,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.575938,
"uncapped_away_win_probability": 0.424062,
"calibrated_pick_probability": 0.505,
"predicted_side": "away",
"reliability": 0.96944,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.980136
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.506495,
"sample_size": 571,
"empirical_hit_rate": 0.5499,
"empirical_weight": 0.45,
"empirical_max_weight": 0.45,
"empirical_sample_scale": 200.0,
"blended_confidence": 0.526027,
"published_confidence": 0.505,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": 5.0,
"absolute_net_margin": 5.0,
"home_average_margin": 1.0,
"home_run_delta": 0.0288,
"away_run_delta": -0.0288,
"evidence": [
{
"game_id": null,
"home_margin": -3.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": 4.0
},
{
"game_id": null,
"home_margin": 2.0
},
{
"game_id": null,
"home_margin": 3.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": false,
"home": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185185185185185,
"runs_scored": 776,
"runs_allowed": 720,
"run_differential": 56,
"run_differential_per_game": 0.345679012345679,
"available": true
},
"away": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5246913580246914,
"runs_scored": 678,
"runs_allowed": 667,
"run_differential": 11,
"run_differential_per_game": 0.06790123456790123,
"available": true
},
"run_differential_edge_per_game": 0.2778,
"win_pct_edge": -0.0062,
"quality_edge": 0.1605,
"season_quality_edge": 0.2685,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.2685,
"recent_quality_edge": -0.04,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": 0.1605
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.02104144036995725
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.02021519902748303
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.02008076628165565
},
{
"home_runs": 4,
"away_runs": 5,
"probability": 0.01967980397901703
},
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.01951169966886091
}
],
"home_distribution": {
"0": 0.062047030815691795,
"1": 0.09133807824158416,
"2": 0.11978568715517415,
"3": 0.13995234508474366,
"4": 0.14567251698748013,
"5": 0.13508193125053283,
"6": 0.1115935492546071,
"7": 0.08213024396284029,
"8": 0.053850448884133796,
"9": 0.0314555827554185,
"10": 0.016369233199743146,
"11": 0.007588940168275316,
"12": 0.003134412239775193
},
"away_distribution": {
"0": 0.060592352614690516,
"1": 0.08928173969288443,
"2": 0.11742419497162294,
"3": 0.13784869443411552,
"4": 0.14444344619764937,
"5": 0.13509620336077818,
"6": 0.11278168145877458,
"7": 0.08403962477505829,
"8": 0.055895875457698856,
"9": 0.03318375581463857,
"10": 0.017584152181858034,
"11": 0.008317014274801904,
"12": 0.003511264765428741
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 2.25,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.56,
"winner_flipped": false,
"reasons": [
"local prediction memory shows 2 straight prior same-side picks",
"a prior same-side pick already missed against the actual result"
],
"signals": {
"predicted_team": "CLE",
"opponent_team": "CHW",
"h2h_net_margin": 0,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-16",
"predicted_team_runs": 6,
"opponent_runs": 3,
"margin_for_predicted_team": 3,
"winner": "CLE"
},
{
"date": "2026-09-15",
"predicted_team_runs": 7,
"opponent_runs": 6,
"margin_for_predicted_team": 1,
"winner": "CLE"
},
{
"date": "2026-09-14",
"predicted_team_runs": 3,
"opponent_runs": 7,
"margin_for_predicted_team": -4,
"winner": "CHW"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 14,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 2,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20261007",
"away": "CLE",
"home": "CHW",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CLE",
"actual_margin": 6,
"raw_pick_probability": 0.535129,
"artifact": "20261007_CLE@CHW.json",
"verification": "pregame_official_final"
},
{
"date": "20261005",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CHW",
"actual_margin": 1,
"raw_pick_probability": 0.5185,
"artifact": "20261005_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20261003",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "CHW",
"actual_margin": 3,
"raw_pick_probability": 0.5229980000000001,
"artifact": "20261003_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20260916",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CLE",
"actual_margin": 3,
"raw_pick_probability": 0.556513,
"artifact": "20260916_CHW@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20260915",
"away": "CHW",
"home": "CLE",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "CLE",
"actual_margin": 1,
"raw_pick_probability": 0.544573,
"artifact": "20260915_CHW@CLE.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "CLE",
"guardrail_opponent_team": "CHW",
"output_pre_simulation_winner": "CLE",
"output_opponent_team": "CHW",
"simulation_score_winner": "CLE",
"final_score_winner": "CLE",
"pre_simulation_winner": "CLE",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"flip_authority": "caps_confidence_and_shifts_runs_only"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185185185185185,
"runs_scored": 776,
"runs_allowed": 720,
"run_differential": 56,
"run_differential_per_game": 0.345679012345679,
"available": true
},
"away": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5246913580246914,
"runs_scored": 678,
"runs_allowed": 667,
"run_differential": 11,
"run_differential_per_game": 0.06790123456790123,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.0645,
"final_margin": -0.0645,
"margin_cap": 1.5,
"season_quality_edge": 0.1605,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.526027,
"final_confidence": 0.505,
"calibrated_pick_probability": 0.505,
"shrinkage_weight": 0.980136,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.0645,
"calibration_sample_size": 571,
"calibration_empirical_hit_rate": 0.5499,
"calibration_bayesian_hit_rate": 0.5484,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1605,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 5,
"home_runs": 4
},
"margin": -1,
"probability_before": 0.495,
"margin_implied_home_probability": 0.427612,
"shrinkage_weight": 0.980136,
"side_flipped": false,
"applied": false,
"magnitude_pull_suppressed": true,
"probability_after": 0.495,
"aligned_pick_probability": 0.505
},
"starter_experience": {
"applied": false,
"min_starter_games": 21,
"shrink_factor": 1.0
}
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "CLE 5 - 4 CHW",
"winner": "CLE"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "CLE 5 - 4 CHW",
"winner": "CLE"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0005,
"recent_form_edge_home_minus_away": 0.03,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 5,
"home_runs": 4,
"winner": "CLE",
"model_winner": "CLE",
"simulation_winner": "CLE",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "CLE",
"published_winner_draw_share": 0.3333,
"draw_majority_team": "CHW",
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1605,
"winner": "CLE",
"score_reviewed": {
"away_runs": 5,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 4,
"confidence": 0.505,
"home_win_probability": 0.495,
"away_win_probability": 0.505,
"predicted_score_text": "CLE 5 - 4 CHW",
"uncapped_home_win_probability": 0.495,
"uncapped_away_win_probability": 0.505,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.505,
"discount_factor": 0.7225,
"published_confidence": 0.505,
"guardrail_confidence_cap": 0.56,
"guardrail_cap_enforced": false,
"guardrail_soft_ceiling_applied": false,
"confidence_before_ceiling": 0.505,
"applied_discounts": [
{
"reason": "projected_margin_is_one_run",
"factor": 0.85
},
{
"reason": "matchup_recency_guardrail",
"factor": 0.85
}
]
},
"score_probability_reconciliation": {
"policy": "published_probability_follows_published_score_v1",
"incoming_home_win_probability": 0.457441,
"incoming_favoured_side": "away",
"score_winner_side": "away",
"published_home_win_probability": 0.495,
"probability_side_reverted_by_score": false,
"note": "The probability and the projected score agree on the winner."
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 4,
"predicted_score_text": "CLE 5 - 4 CHW",
"confidence": 0.505,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "CLE 5 - 4 CHW",
"winner": "CLE"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "CLE 5 - 4 CHW",
"winner": "CLE"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0005,
"recent_form_edge_home_minus_away": 0.03,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 5,
"home_runs": 4,
"winner": "CLE",
"model_winner": "CLE",
"simulation_winner": "CLE",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "CLE",
"published_winner_draw_share": 0.3333,
"draw_majority_team": "CHW",
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1605,
"winner": "CLE",
"score_reviewed": {
"away_runs": 5,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}
}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 CLE | True | 1.0133 | 1.0133 | 1 | 9 | 0 |
| Home CHW | True | 1.0271 | 1.0271 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Steven Kwan | - | 1.0007 | 0.0095 | neutral | 0.3280 | 0.2770 | 0.3430 | 0.40 | 10.50 | 83.90 | 12.80 | 8.20 | 9.70 | 13.30 | -0.1714 |
| 3B | José Ramírez | - | 1.0359 | 0.4788 | neutral | 0.3250 | 0.2660 | 0.3910 | 4.10 | 38.80 | 88.60 | 19 | 15.30 | 12.70 | 11 | 0.6857 |
| RF | Chase DeLauter | - | 1.0602 | 0.8032 | neutral | 0.3460 | 0.2770 | 0.4270 | 6.30 | 46.30 | 91.40 | 11.80 | 15 | 14.70 | 10.70 | -0.3714 |
| DH | Jo Adell | - | 1.0538 | 0.7179 | neutral | 0.3290 | 0.2570 | 0.4440 | 8.90 | 44.90 | 90.40 | 16.20 | 28.20 | 23.80 | 5.20 | 0.6286 |
| 1B | Nathaniel Lowe | - | 1.0555 | 0.7399 | neutral | 0.3350 | 0.2680 | 0.4370 | 8.40 | 41.40 | 89.60 | 14.60 | 22 | 23.10 | 8.90 | 0.1714 |
| LF | Angel Martínez | - | 0.9984 | -0.0218 | neutral | 0.2990 | 0.2510 | 0.4010 | 7.20 | 35.50 | 87.50 | 14.80 | 20.70 | 21.90 | 3.10 | -0.7714 |
| 2B | Travis Bazzana | - | 0.9817 | -0.2433 | neutral | 0.2990 | 0.2240 | 0.3470 | 5.20 | 36.20 | 87.60 | 15.70 | 23.20 | 20.70 | 10.80 | -0.8286 |
| C | Austin Hedges | - | 0.9548 | -0.6020 | negative_batter_regression | 0.2800 | 0.2240 | 0.3140 | 4.50 | 32.40 | 85.80 | 12.40 | 24.10 | 18.20 | 10.10 | -0.9429 |
| SS | Brayan Rocchio | - | 0.9791 | -0.2783 | neutral | 0.2940 | 0.2460 | 0.3500 | 2.90 | 30 | 87 | 13.80 | 22.10 | 14.40 | 6.40 | -0.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Chase Meidroth | - | 0.9823 | -0.2365 | negative_batter_regression | 0.3010 | 0.2390 | 0.3480 | 4.60 | 34.60 | 87.20 | 8.50 | 19.70 | 21.90 | 9.50 | -1.0857 |
| LF | Randal Grichuk | - | 1.0625 | 0.8328 | negative_batter_regression | 0.3350 | 0.2780 | 0.4780 | 11.20 | 49.80 | 91.30 | 17.10 | 24 | 21.80 | 3.90 | -1 |
| 3B | Miguel Vargas | - | 1.1095 | 1.4598 | neutral | 0.3780 | 0.2630 | 0.4960 | 13 | 43.80 | 90.10 | 20.50 | 21 | 17.90 | 14.30 | 0.4286 |
| 1B | Munetaka Murakami | - | 1.0835 | 1.1131 | neutral | 0.3510 | 0.2040 | 0.4690 | 20.50 | 56.80 | 93.90 | 16.10 | 42.30 | 35.40 | 16.60 | -0.1429 |
| DH | Tommy Pham | - | 1.0205 | 0.2733 | positive_batter_regression | 0.3170 | 0.2360 | 0.3540 | 5.30 | 52.60 | 93.60 | 12.70 | 34.50 | 31.40 | 14.30 | 2 |
| CF | Brenton Doyle | - | 0.9413 | -0.7821 | negative_batter_regression | 0.2450 | 0.2030 | 0.3070 | 6.70 | 35.50 | 89.10 | 8.60 | 32.50 | 32.70 | 5.40 | -1 |
| C | Kyle Teel | - | 1.0131 | 0.1752 | neutral | 0.3210 | 0.2110 | 0.3750 | 11.40 | 47.10 | 85.70 | 13.60 | 35.60 | 35.40 | 13.20 | 0.1143 |
| RF | Braden Montgomery | - | 1.0305 | 0.4073 | neutral | 0.3250 | 0.2550 | 0.3920 | 4.40 | 40.90 | 88.90 | 3 | 30.10 | 19.70 | 10.40 | 0.7714 |
| SS | Colson Montgomery | - | 1.0009 | 0.0126 | neutral | 0.2940 | 0.1990 | 0.3880 | 12 | 40.90 | 88.60 | 23.60 | 37.40 | 35.60 | 8.50 | -0.1714 |
{
"home": {
"applied": true,
"offense_factor": 1.0271,
"raw_average_factor": 1.0271,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "805367",
"player_name": "Chase Meidroth",
"offense_factor": 0.9823,
"quality_score": -0.2365,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "805367",
"espn_rank": null
},
"metrics": {
"pa": 597.0,
"k_percent": 21.9,
"bb_percent": 9.5,
"woba": 0.339,
"xwoba": 0.301,
"xba": 0.239,
"xslg": 0.348,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 34.6,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 8.5,
"whiff_percent": 19.7,
"swing_percent": 42.0
},
"components": {
"expected_quality": -0.0983,
"regression_edge": -1.0857,
"xwoba_edge": 0.0571,
"xba_edge": 0.0857,
"xslg_edge": -0.2143,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.4286,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "545341",
"player_name": "Randal Grichuk",
"offense_factor": 1.0625,
"quality_score": 0.8328,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "545341",
"espn_rank": null
},
"metrics": {
"pa": 246.0,
"k_percent": 21.8,
"bb_percent": 3.9,
"woba": 0.37,
"xwoba": 0.335,
"xba": 0.278,
"xslg": 0.478,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 49.8,
"exit_velocity_avg": 91.3,
"launch_angle_avg": 17.1,
"whiff_percent": 24.0,
"swing_percent": 53.0
},
"components": {
"expected_quality": 1.1312,
"regression_edge": -1.0,
"xwoba_edge": 1.0286,
"xba_edge": 1.2,
"xslg_edge": 1.6429,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.7429,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "678246",
"player_name": "Miguel Vargas",
"offense_factor": 1.1095,
"quality_score": 1.4598,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "678246",
"espn_rank": null
},
"metrics": {
"pa": 651.0,
"k_percent": 17.9,
"bb_percent": 14.3,
"woba": 0.363,
"xwoba": 0.378,
"xba": 0.263,
"xslg": 0.496,
"sweet_spot_percent": 39.4,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 20.5,
"whiff_percent": 21.0,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.6277,
"regression_edge": 0.4286,
"xwoba_edge": 2.2571,
"xba_edge": 0.7714,
"xslg_edge": 1.9,
"barrel_edge": 1.4222,
"hard_hit_edge": 0.8857,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 1.0167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"offense_factor": 1.0835,
"quality_score": 1.1131,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "808959",
"espn_rank": null
},
"metrics": {
"pa": 491.0,
"k_percent": 35.4,
"bb_percent": 16.6,
"woba": 0.356,
"xwoba": 0.351,
"xba": 0.204,
"xslg": 0.469,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 20.5,
"hard_hit_percent": 56.8,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 16.1,
"whiff_percent": 42.3,
"swing_percent": 40.7
},
"components": {
"expected_quality": 1.3175,
"regression_edge": -0.1429,
"xwoba_edge": 1.4857,
"xba_edge": -0.9143,
"xslg_edge": 1.5143,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.2,
"sweet_spot_edge": -0.4667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "502054",
"player_name": "Tommy Pham",
"offense_factor": 1.0205,
"quality_score": 0.2733,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": false,
"player_id": "502054",
"espn_rank": null
},
"metrics": {
"pa": 21.0,
"k_percent": 31.4,
"bb_percent": 14.3,
"woba": 0.209,
"xwoba": 0.317,
"xba": 0.236,
"xslg": 0.354,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 52.6,
"exit_velocity_avg": 93.6,
"launch_angle_avg": 12.7,
"whiff_percent": 34.5,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.3805,
"regression_edge": 2.0,
"xwoba_edge": 0.5143,
"xba_edge": 0.0,
"xslg_edge": -0.1286,
"barrel_edge": -0.2889,
"hard_hit_edge": 2.1429,
"exit_velocity_edge": 2.08,
"sweet_spot_edge": -1.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "686668",
"player_name": "Brenton Doyle",
"offense_factor": 0.9413,
"quality_score": -0.7821,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "686668",
"espn_rank": null
},
"metrics": {
"pa": 192.0,
"k_percent": 32.7,
"bb_percent": 5.4,
"woba": 0.28,
"xwoba": 0.245,
"xba": 0.203,
"xslg": 0.307,
"sweet_spot_percent": 26.8,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 35.5,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 8.6,
"whiff_percent": 32.5,
"swing_percent": 54.5
},
"components": {
"expected_quality": -0.8792,
"regression_edge": -1.0,
"xwoba_edge": -1.5429,
"xba_edge": -0.9429,
"xslg_edge": -0.8,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.3,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -1.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "691019",
"player_name": "Kyle Teel",
"offense_factor": 1.0131,
"quality_score": 0.1752,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "691019",
"espn_rank": null
},
"metrics": {
"pa": 106.0,
"k_percent": 35.4,
"bb_percent": 13.2,
"woba": 0.317,
"xwoba": 0.321,
"xba": 0.211,
"xslg": 0.375,
"sweet_spot_percent": 41.4,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 13.6,
"whiff_percent": 35.6,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.4042,
"regression_edge": 0.1143,
"xwoba_edge": 0.6286,
"xba_edge": -0.7143,
"xslg_edge": 0.1714,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.3571,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 1.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "695731",
"player_name": "Braden Montgomery",
"offense_factor": 1.0305,
"quality_score": 0.4073,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "695731",
"espn_rank": null
},
"metrics": {
"pa": 332.0,
"k_percent": 19.7,
"bb_percent": 10.4,
"woba": 0.298,
"xwoba": 0.325,
"xba": 0.255,
"xslg": 0.392,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 3.0,
"whiff_percent": 30.1,
"swing_percent": 50.4
},
"components": {
"expected_quality": 0.348,
"regression_edge": 0.7714,
"xwoba_edge": 0.7429,
"xba_edge": 0.5429,
"xslg_edge": 0.4143,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.4714,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.85,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "695657",
"player_name": "Colson Montgomery",
"offense_factor": 1.0009,
"quality_score": 0.0126,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "695657",
"espn_rank": null
},
"metrics": {
"pa": 588.0,
"k_percent": 35.6,
"bb_percent": 8.5,
"woba": 0.3,
"xwoba": 0.294,
"xba": 0.199,
"xslg": 0.388,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 23.6,
"whiff_percent": 37.4,
"swing_percent": 51.5
},
"components": {
"expected_quality": 0.0426,
"regression_edge": -0.1714,
"xwoba_edge": -0.1429,
"xba_edge": -1.0571,
"xslg_edge": 0.3571,
"barrel_edge": 1.2,
"hard_hit_edge": 0.4714,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0133,
"raw_average_factor": 1.0133,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "680757",
"player_name": "Steven Kwan",
"offense_factor": 1.0007,
"quality_score": 0.0095,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "680757",
"espn_rank": null
},
"metrics": {
"pa": 580.0,
"k_percent": 9.7,
"bb_percent": 13.3,
"woba": 0.334,
"xwoba": 0.328,
"xba": 0.277,
"xslg": 0.343,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 0.4,
"hard_hit_percent": 10.5,
"exit_velocity_avg": 83.9,
"launch_angle_avg": 12.8,
"whiff_percent": 8.2,
"swing_percent": 35.7
},
"components": {
"expected_quality": 0.039,
"regression_edge": -0.1714,
"xwoba_edge": 0.8286,
"xba_edge": 1.1714,
"xslg_edge": -0.2857,
"barrel_edge": -1.3778,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.8,
"sweet_spot_edge": 1.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "608070",
"player_name": "José Ramírez",
"offense_factor": 1.0359,
"quality_score": 0.4788,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "608070",
"espn_rank": null
},
"metrics": {
"pa": 486.0,
"k_percent": 12.7,
"bb_percent": 11.0,
"woba": 0.301,
"xwoba": 0.325,
"xba": 0.266,
"xslg": 0.391,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 19.0,
"whiff_percent": 15.3,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.4451,
"regression_edge": 0.6857,
"xwoba_edge": 0.7429,
"xba_edge": 0.8571,
"xslg_edge": 0.4,
"barrel_edge": -0.5556,
"hard_hit_edge": 0.1714,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "800050",
"player_name": "Chase DeLauter",
"offense_factor": 1.0602,
"quality_score": 0.8032,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "800050",
"espn_rank": null
},
"metrics": {
"pa": 511.0,
"k_percent": 14.7,
"bb_percent": 10.7,
"woba": 0.359,
"xwoba": 0.346,
"xba": 0.277,
"xslg": 0.427,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 11.8,
"whiff_percent": 15.0,
"swing_percent": 42.3
},
"components": {
"expected_quality": 0.9944,
"regression_edge": -0.3714,
"xwoba_edge": 1.3429,
"xba_edge": 1.1714,
"xslg_edge": 0.9143,
"barrel_edge": -0.0667,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "666176",
"player_name": "Jo Adell",
"offense_factor": 1.0538,
"quality_score": 0.7179,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "666176",
"espn_rank": null
},
"metrics": {
"pa": 605.0,
"k_percent": 23.8,
"bb_percent": 5.2,
"woba": 0.307,
"xwoba": 0.329,
"xba": 0.257,
"xslg": 0.444,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 16.2,
"whiff_percent": 28.2,
"swing_percent": 53.2
},
"components": {
"expected_quality": 0.7325,
"regression_edge": 0.6286,
"xwoba_edge": 0.8571,
"xba_edge": 0.6,
"xslg_edge": 1.1571,
"barrel_edge": 0.5111,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"offense_factor": 1.0555,
"quality_score": 0.7399,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663993",
"espn_rank": null
},
"metrics": {
"pa": 391.0,
"k_percent": 23.1,
"bb_percent": 8.9,
"woba": 0.329,
"xwoba": 0.335,
"xba": 0.268,
"xslg": 0.437,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 41.4,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 14.6,
"whiff_percent": 22.0,
"swing_percent": 46.1
},
"components": {
"expected_quality": 0.8325,
"regression_edge": 0.1714,
"xwoba_edge": 1.0286,
"xba_edge": 0.9143,
"xslg_edge": 1.0571,
"barrel_edge": 0.4,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "682657",
"player_name": "Angel Martínez",
"offense_factor": 0.9984,
"quality_score": -0.0218,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "682657",
"espn_rank": null
},
"metrics": {
"pa": 374.0,
"k_percent": 21.9,
"bb_percent": 3.1,
"woba": 0.326,
"xwoba": 0.299,
"xba": 0.251,
"xslg": 0.401,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 35.5,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 14.8,
"whiff_percent": 20.7,
"swing_percent": 54.3
},
"components": {
"expected_quality": 0.1002,
"regression_edge": -0.7714,
"xwoba_edge": 0.0,
"xba_edge": 0.4286,
"xslg_edge": 0.5429,
"barrel_edge": 0.1333,
"hard_hit_edge": -0.3,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "683953",
"player_name": "Travis Bazzana",
"offense_factor": 0.9817,
"quality_score": -0.2433,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "683953",
"espn_rank": null
},
"metrics": {
"pa": 473.0,
"k_percent": 20.7,
"bb_percent": 10.8,
"woba": 0.328,
"xwoba": 0.299,
"xba": 0.224,
"xslg": 0.347,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 15.7,
"whiff_percent": 23.2,
"swing_percent": 45.9
},
"components": {
"expected_quality": -0.1481,
"regression_edge": -0.8286,
"xwoba_edge": 0.0,
"xba_edge": -0.3429,
"xslg_edge": -0.2286,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.2,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "595978",
"player_name": "Austin Hedges",
"offense_factor": 0.9548,
"quality_score": -0.602,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "595978",
"espn_rank": null
},
"metrics": {
"pa": 228.0,
"k_percent": 18.2,
"bb_percent": 10.1,
"woba": 0.313,
"xwoba": 0.28,
"xba": 0.224,
"xslg": 0.314,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 32.4,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 12.4,
"whiff_percent": 24.1,
"swing_percent": 44.5
},
"components": {
"expected_quality": -0.5465,
"regression_edge": -0.9429,
"xwoba_edge": -0.5429,
"xba_edge": -0.3429,
"xslg_edge": -0.7,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.7429,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -1.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"offense_factor": 0.9791,
"quality_score": -0.2783,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "677587",
"espn_rank": null
},
"metrics": {
"pa": 548.0,
"k_percent": 14.4,
"bb_percent": 6.4,
"woba": 0.311,
"xwoba": 0.294,
"xba": 0.246,
"xslg": 0.35,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 30.0,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 13.8,
"whiff_percent": 22.1,
"swing_percent": 50.0
},
"components": {
"expected_quality": -0.2445,
"regression_edge": -0.4857,
"xwoba_edge": -0.1429,
"xba_edge": 0.2857,
"xslg_edge": -0.1857,
"barrel_edge": -0.8222,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.2667,
"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 CLE | Parker Messick | True | - | 0.5409 | 1 | 0.9540 | 1.0229 | 0.9480 | 0.9086 | neutral | 0.2750 | 0.2740 | 25.80 | 6.60 | 25.50 | 5 | 34.30 |
| Home CHW | Hagen Smith | True | - | 0.4816 | 0.4500 | 0.9591 | 1.0674 | 1.0477 | 0.9210 | negative_pitcher_regression | 0.2430 | 0.2110 | 37.30 | 14.50 | 36.20 | 1.90 | 34 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CLE | Parker Messick | True | None | 94 | 90.12 | 2107 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0142 |
| Home CHW | Hagen Smith | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9907 |
| home_runs_vs_away_pitcher | 0.9748 |
| home_pitcher_starter_only_factor | 0.9816 |
| away_pitcher_starter_only_factor | 0.9540 |
| home_pitcher_workload_share | 0.5556 |
| away_pitcher_workload_share | 0.6667 |
| home_pitcher_quality_edge | -0.0930 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "696146",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 90.0,
"k_percent": 37.3,
"bb_percent": 14.5,
"woba": 0.211,
"xwoba": 0.243,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 1.9,
"hard_hit_percent": 34.0,
"avg_best_speed": 75.8598,
"avg_hyper_speed": 93.4182,
"whiff_percent": 36.2,
"swing_percent": 42.4
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.4885,
"command_and_miss": 1.2621,
"regression_edge": -0.9143,
"xwoba_edge": 1.9714,
"barrel_edge": 1.1778,
"hard_hit_edge": 0.5571,
"whiff_edge": 1.5714,
"bb_edge": -1.325,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "696146",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4816,
"sample_weight": 0.45,
"run_prevention_factor": 0.9591,
"strikeout_factor": 1.0674,
"walk_factor": 1.0477,
"homer_factor": 0.921,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "696146",
"espn_rank": null
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "800048",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 705.0,
"k_percent": 25.8,
"bb_percent": 6.6,
"woba": 0.274,
"xwoba": 0.275,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 34.3,
"avg_best_speed": 76.3542,
"avg_hyper_speed": 93.484,
"whiff_percent": 25.5,
"swing_percent": 48.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7912,
"command_and_miss": 0.3829,
"regression_edge": -0.0286,
"xwoba_edge": 1.0571,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.5143,
"whiff_edge": 0.0429,
"bb_edge": 0.65,
"pitch_design_score": 0.0142
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "800048",
"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": 90.117481056101,
"release_spin_rate": 2107.0953611307837,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.117481056101,
"release_spin_rate": 2107.0953611307837,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1175,
"release_spin_rate": 2107.0954,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0142,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1013,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5409,
"sample_weight": 1.0,
"run_prevention_factor": 0.954,
"strikeout_factor": 1.0229,
"walk_factor": 0.948,
"homer_factor": 0.9086,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "800048",
"espn_rank": null
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9907,
"home_runs_vs_away_pitcher": 0.9748,
"home_pitcher_starter_only_factor": 0.9816,
"away_pitcher_starter_only_factor": 0.954,
"home_pitcher_workload_share": 0.5556,
"away_pitcher_workload_share": 0.6667,
"home_pitcher_quality_edge": -0.093
},
"score_before": {
"away_runs": 4.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 3.9628,
"home_runs": 3.8994,
"home_win_probability": 0.4929
},
"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 CLE | 8-2 | 0.800 | 5.30 | 3.20 | 21 | 1L | hot | strong |
| Home CHW | 7-3 | 0.700 | 6.50 | 4.30 | 22 | 1W | hot | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CLE | 85-77 | 0.525 | 11 | 0.068 | True |
| Home CHW | 84-78 | 0.519 | 56 | 0.346 | True |
| Signal | - | - | 0.278 | 0.161 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-16 | CHW @ CLE | 3 - 6 | CLE | 3 | blowout |
| 2026-09-15 | CHW @ CLE | 6 - 7 | CLE | 1 | close |
| 2026-09-14 | CHW @ CLE | 7 - 3 | CHW | 4 | blowout |
| 2026-08-09 | CLE @ CHW | 3 - 5 | CHW | 2 | close |
| 2026-08-08 | CLE @ CHW | 3 - 6 | CHW | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CLE | - | - | 5 | - | - | - | - |
| Game target CHW | - | - | 4 | - | - | - | - |
| Player finalized CLE | 34 | 6 | 5 | 2 | 5 | 5 | 8 |
| Player finalized CHW | 36 | 8 | 4 | 1 | 3 | 4 | 10 |
| Player model fractional CLE | 33.23 | 6.55 | 4.15 | 0.89 | 4.12 | 4.29 | 7.38 |
| Player model fractional CHW | 30.36 | 6.25 | 4.58 | 1.17 | 4.04 | 3.13 | 10.28 |
| Simulation box CLE | 34 | 6 | 5 | 2 | 5 | 5 | 8 |
| Simulation box CHW | 36 | 8 | 4 | 1 | 3 | 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 CLE | Starter | Parker Messick | 5 | 3 | 4 | 5 | 3 | 3.06 | 1.23 | True |
| Away CLE | Middle Reliever (High Leverage) | Tim Herrin | 1 | 0 | 1 | 1 | 0 | 2.92 | 1.28 | True |
| Away CLE | Setup Man | Erik Sabrowski | 1 | 0 | 2 | 1 | 0 | 4.33 | 1.24 | True |
| Away CLE | Closer | Cade Smith | 2 | 0 | 3 | 1 | 1 | 1.38 | 0.51 | True |
| Home CHW | Starter | Hagen Smith | 2.20 | 0 | 3 | 1 | 1 | 3.01 | 1.23 | True |
| Home CHW | Middle Reliever (High Leverage) | Jordan Hicks | 1 | 1 | 2 | 1 | 0 | 5.08 | 1.49 | True |
| Home CHW | Middle Reliever (High Leverage) | Bryan Hudson | 1 | 1 | 1 | 1 | 2 | 3.44 | 1.27 | True |
| Home CHW | Setup Man | Anthony Kay | 2 | 2 | 1 | 2 | 2 | 4.24 | 1.44 | True |
| Home CHW | Closer | Grant Taylor | 2.10 | 1 | 1 | 1 | 0 | 2.02 | 0.93 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CLE | pitcher | Setup Man | Erik Sabrowski | better | 4 | 0 | 4 | 4 | 0 | predicted_ER | -3.0000 | deboost | better |
| home | CHW | pitcher | Starter | Hagen Smith | better | 3 | 0 | 3 | 2 | 1 | predicted_IP | -2.8000 | deboost | worse |
| home | CHW | batter | LF | Randal Grichuk | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | 2.5000 | boost | better |
| away | CLE | pitcher | Starter | Parker Messick | worse | 6 | 4 | 2 | 0 | 6 | predicted_ER | 2.0000 | boost | worse |
| away | CLE | pitcher | Closer | Cade Smith | better | 4 | 3 | 1 | 3 | 1 | predicted_SO | 2.0000 | boost | better |
| home | CHW | pitcher | Middle Reliever (High Leverage) | Bryan Hudson | worse | 4 | 4 | 0 | 0 | 4 | predicted_BB | 2.0000 | boost | worse |
| home | CHW | pitcher | Setup Man | Anthony Kay | worse | 4 | 4 | 0 | 1 | 3 | predicted_BB | 2.0000 | boost | worse |
| away | CLE | batter | 1B | Nathaniel Lowe | better | 11 | 8 | 3 | 7 | 4 | predicted_R | 1.6970 | boost | better |
| away | CLE | batter | LF | Angel Martínez | better | 11 | 8 | 3 | 9 | 2 | predicted_RBI | 1.5500 | boost | better |
| home | CHW | batter | DH | Tommy Pham | better | 9 | 6 | 3 | 5 | 4 | predicted_AB | 1.5000 | boost | better |
| away | CLE | batter | SS | Brayan Rocchio | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.4410 | boost | worse |
| home | CHW | pitcher | Closer | Grant Taylor | boosted | 2 | 2 | 0 | 1 | 1 | predicted_IP | 1.4333 | boost | better |
| away | CLE | batter | CF | Steven Kwan | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | 1.3580 | boost | better |
| home | CHW | batter | 1B | Munetaka Murakami | worse | 11 | 6 | 5 | 5 | 6 | predicted_BB | 1.2950 | boost | better |
| home | CHW | batter | RF | Braden Montgomery | worse | 12 | 5 | 7 | 4 | 8 | predicted_SO | 1.1750 | boost | worse |
| home | CHW | batter | CF | Brenton Doyle | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | 1.1580 | boost | better |
| away | CLE | batter | 3B | José Ramírez | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -1.0600 | deboost | worse |
| away | CLE | pitcher | Middle Reliever (High Leverage) | Tim Herrin | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | CHW | pitcher | Middle Reliever (High Leverage) | Jordan Hicks | better | 4 | 1 | 3 | 4 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | CLE | batter | RF | Chase DeLauter | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | 0.8600 | boost | better |
| home | CHW | batter | SS | Colson Montgomery | worse | 12 | 2 | 10 | 1 | 11 | predicted_H | -0.8100 | deboost | worse |
| away | CLE | batter | 2B | Travis Bazzana | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | -0.7400 | deboost | worse |
| away | CLE | batter | C | Austin Hedges | worse | 11 | 3 | 8 | 2 | 9 | predicted_BB | 0.6530 | boost | better |
| home | CHW | batter | 2B | Chase Meidroth | worse | 11 | 3 | 8 | 2 | 9 | predicted_RBI | -0.6400 | deboost | worse |
| away | CLE | batter | DH | Jo Adell | worse | 11 | 4 | 7 | 4 | 7 | predicted_RBI | -0.6020 | deboost | worse |
| home | CHW | batter | C | Kyle Teel | worse | 11 | 3 | 8 | 4 | 7 | predicted_R | -0.5350 | deboost | worse |
| home | CHW | batter | 3B | Miguel Vargas | worse | 10 | 4 | 6 | 3 | 7 | predicted_RBI | -0.5100 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Parker Messick |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5409 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0142 |
| Avg Velo | 90.1175 |
| Avg Spin | 2107.0954 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 4 |
| Season ERA | 2.5962 |
| Season WHIP | 1.0699 |
| Role Avg IP | 5.7780 |
| Recent Avg IP | 4.7330 |
| Last Start IP | 4.1000 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0673,
"opponent_offense_edge": 0.0675,
"defense_strength": 0.0898,
"opponent_defense_weakness": -0.0096,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0002,
"run_prevention": 1.0015,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "800048",
"profile": {
"available": true,
"pitcher_id": "800048",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 705.0,
"k_percent": 25.8,
"bb_percent": 6.6,
"woba": 0.274,
"xwoba": 0.275,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 34.3,
"avg_best_speed": 76.3542,
"avg_hyper_speed": 93.484,
"whiff_percent": 25.5,
"swing_percent": 48.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7912,
"command_and_miss": 0.3829,
"regression_edge": -0.0286,
"xwoba_edge": 1.0571,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.5143,
"whiff_edge": 0.0429,
"bb_edge": 0.65,
"pitch_design_score": 0.0142
},
"quality_score": 0.5409,
"sample_weight": 1.0,
"run_prevention_factor": 0.954,
"strikeout_factor": 1.0229,
"walk_factor": 0.948,
"homer_factor": 0.9086,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "800048",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.954,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.954,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.948,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9086,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0229,
"adjusted": 6
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 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": 16,
"H": 49,
"BB": 13,
"SO": 63,
"HR": 5,
"ERA": 2.666666666666667,
"WHIP": 1.1481481481481484,
"K9": 10.500000000000002,
"HR9": 0.8333333333333335,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "800048",
"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": 90.117481056101,
"release_spin_rate": 2107.0953611307837,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.117481056101,
"release_spin_rate": 2107.0953611307837,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1175,
"release_spin_rate": 2107.0954,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0142,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1013,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 33.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8684,
"prior_weight": 0.1316
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "800048",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.2,
"ER": 8.0,
"R": 8.0,
"H": 25.0,
"BB": 6.0,
"SO": 26.0,
"HR": 2.0,
"BF": 102.0,
"Pitches": 428.0
},
"per_game": {
"IP": 4.2,
"ER": 1.6,
"R": 1.6,
"H": 5.0,
"BB": 1.2,
"SO": 5.2,
"HR": 0.4,
"BF": 20.4,
"Pitches": 85.6
},
"rates": {
"ERA": 3.0423,
"WHIP": 1.3099,
"ER_per_IP": 0.33803,
"H_per_IP": 1.05634,
"BB_per_IP": 0.25352,
"SO_per_IP": 1.09859,
"HR_per_IP": 0.08451
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.0,
"ER": 16.0,
"R": 16.0,
"H": 49.0,
"BB": 13.0,
"SO": 63.0,
"HR": 5.0,
"BF": 223.0,
"Pitches": 930.0
},
"per_game": {
"IP": 5.1,
"ER": 1.6,
"R": 1.6,
"H": 4.9,
"BB": 1.3,
"SO": 6.3,
"HR": 0.5,
"BF": 22.3,
"Pitches": 93.0
},
"rates": {
"ERA": 2.6667,
"WHIP": 1.1481,
"ER_per_IP": 0.2963,
"H_per_IP": 0.90741,
"BB_per_IP": 0.24074,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.09259
}
},
"season": {
"games": 33,
"totals": {
"IP": 190.2,
"ER": 55.0,
"R": 59.0,
"H": 153.0,
"BB": 51.0,
"SO": 199.0,
"HR": 18.0,
"BF": 765.0,
"Pitches": 3035.0
},
"per_game": {
"IP": 5.2,
"ER": 1.6667,
"R": 1.7879,
"H": 4.6364,
"BB": 1.5455,
"SO": 6.0303,
"HR": 0.5455,
"BF": 23.1818,
"Pitches": 91.9697
},
"rates": {
"ERA": 2.5962,
"WHIP": 1.0699,
"ER_per_IP": 0.28846,
"H_per_IP": 0.80245,
"BB_per_IP": 0.26748,
"SO_per_IP": 1.04371,
"HR_per_IP": 0.09441
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 1.773,
"predicted_H": 4.997,
"predicted_BB": 1.403,
"predicted_SO": 5.678,
"predicted_HR": 0.506,
"predicted_ERA": 3.0585,
"predicted_WHIP": 1.2263
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4056,
"form_weight": 0.5944,
"form_reliability": 0.8684,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 33.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8684,
"prior_weight": 0.1316
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 5.1,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.773,
"final": 1.4595,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.997,
"final": 4.5926,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.403,
"final": 1.6451,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.678,
"final": 5.403,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.506,
"final": 0.3008,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0585,
"final": 3.0585,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2263,
"final": 1.2263,
"source": "form_only"
}
}
}{
"available": false,
"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 | Tim Herrin |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1186 |
| ESPN Rank | - |
| 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.9148 |
| Season WHIP | 1.2614 |
| Role Avg IP | 0.8500 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0673,
"opponent_offense_edge": 0.0675,
"defense_strength": 0.0898,
"opponent_defense_weakness": -0.0096,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0002,
"run_prevention": 1.0015,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682120",
"profile": {
"available": true,
"pitcher_id": "682120",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 22.5,
"bb_percent": 11.7,
"woba": 0.308,
"xwoba": 0.304,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 37.3,
"avg_best_speed": 75.5108,
"avg_hyper_speed": 93.7782,
"whiff_percent": 30.7,
"swing_percent": 46.8
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.1431,
"command_and_miss": 0.1757,
"regression_edge": 0.1143,
"xwoba_edge": 0.2286,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.0857,
"whiff_edge": 0.7857,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"quality_score": 0.1186,
"sample_weight": 0.864,
"run_prevention_factor": 0.9899,
"strikeout_factor": 1.0291,
"walk_factor": 1.0432,
"homer_factor": 1.0111,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "682120",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9913,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0373,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0096,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0251,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 2,
"H": 9,
"BB": 3,
"SO": 13,
"HR": 0,
"ERA": 2.0,
"WHIP": 1.3333333333333333,
"K9": 13.0,
"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-10-07T00:00:00"
}{
"available": false,
"pitcher_id": "682120",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.114,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7078,
"prior_weight": 0.2922
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "682120",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 69,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 3.4,
"Pitches": 17.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.1538,
"ER_per_IP": 0.23077,
"H_per_IP": 1.15385,
"BB_per_IP": 0.0,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 2.0,
"R": 4.0,
"H": 9.0,
"BB": 3.0,
"SO": 13.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 184.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.9,
"BB": 0.3,
"SO": 1.3,
"HR": 0.0,
"BF": 3.8,
"Pitches": 18.4
},
"rates": {
"ERA": 2.0,
"WHIP": 1.3333,
"ER_per_IP": 0.22222,
"H_per_IP": 1.0,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.44444,
"HR_per_IP": 0.0
}
},
"season": {
"games": 69,
"totals": {
"IP": 58.2,
"ER": 19.0,
"R": 22.0,
"H": 46.0,
"BB": 28.0,
"SO": 58.0,
"HR": 5.0,
"BF": 246.0,
"Pitches": 1015.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2754,
"R": 0.3188,
"H": 0.6667,
"BB": 0.4058,
"SO": 0.8406,
"HR": 0.0725,
"BF": 3.5652,
"Pitches": 14.7101
},
"rates": {
"ERA": 2.9148,
"WHIP": 1.2614,
"ER_per_IP": 0.32386,
"H_per_IP": 0.78409,
"BB_per_IP": 0.47727,
"SO_per_IP": 0.98864,
"HR_per_IP": 0.08523
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.324,
"predicted_H": 1.014,
"predicted_BB": 0.261,
"predicted_SO": 1.285,
"predicted_HR": 0.055,
"predicted_ERA": 2.9201,
"predicted_WHIP": 1.2752
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4735,
"form_weight": 0.5265,
"form_reliability": 0.7078,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.114,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7078,
"prior_weight": 0.2922
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.324,
"final": 0.1706,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.014,
"final": 1.0074,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.261,
"final": 0.1374,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.285,
"final": 1.6235,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.029,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9201,
"final": 2.9201,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2752,
"final": 1.2752,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Erik Sabrowski |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5594 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0383 |
| Avg Velo | 90.5485 |
| Avg Spin | 2569.9294 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.8421 |
| Season WHIP | 1.0855 |
| Role Avg IP | 0.8440 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0673,
"opponent_offense_edge": 0.0675,
"defense_strength": 0.0898,
"opponent_defense_weakness": -0.0096,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0002,
"run_prevention": 1.0015,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681870",
"profile": {
"available": true,
"pitcher_id": "681870",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 180.0,
"k_percent": 37.4,
"bb_percent": 15.3,
"woba": 0.258,
"xwoba": 0.251,
"sweet_spot_percent": 39.4,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 34.0,
"avg_best_speed": 79.9885,
"avg_hyper_speed": 93.7378,
"whiff_percent": 30.8,
"swing_percent": 46.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9012,
"command_and_miss": 0.9586,
"regression_edge": 0.2,
"xwoba_edge": 1.7429,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.5571,
"whiff_edge": 0.8,
"bb_edge": -1.525,
"pitch_design_score": 0.0383
},
"quality_score": 0.5594,
"sample_weight": 0.72,
"run_prevention_factor": 0.9525,
"strikeout_factor": 1.086,
"walk_factor": 1.0878,
"homer_factor": 0.9373,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "681870",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9658,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9658,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0632,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9549,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0619,
"adjusted": 3
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 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": 3,
"BB": 7,
"SO": 12,
"HR": 0,
"ERA": 3.8571428571428568,
"WHIP": 1.0714285714285714,
"K9": 11.571428571428571,
"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-10-05T00:00:00"
}{
"available": true,
"pitcher_id": "681870",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.54853071894294,
"release_spin_rate": 2569.9294048098436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.54853071894294,
"release_spin_rate": 2569.9294048098436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5485,
"release_spin_rate": 2569.9294,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0383,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2738,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.462,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6766,
"prior_weight": 0.3234
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "681870",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 4.0,
"SO": 8.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 0.8,
"SO": 1.6,
"HR": 0.0,
"BF": 4.4,
"Pitches": 16.4
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.3125,
"ER_per_IP": 0.5625,
"H_per_IP": 0.5625,
"BB_per_IP": 0.75,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 7.0,
"SO": 12.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 143.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.3,
"BB": 0.7,
"SO": 1.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.3
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.0714,
"ER_per_IP": 0.42857,
"H_per_IP": 0.32143,
"BB_per_IP": 0.75,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"season": {
"games": 60,
"totals": {
"IP": 50.2,
"ER": 16.0,
"R": 18.0,
"H": 26.0,
"BB": 29.0,
"SO": 78.0,
"HR": 3.0,
"BF": 207.0,
"Pitches": 832.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2667,
"R": 0.3,
"H": 0.4333,
"BB": 0.4833,
"SO": 1.3,
"HR": 0.05,
"BF": 3.45,
"Pitches": 13.8667
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.0855,
"ER_per_IP": 0.31579,
"H_per_IP": 0.51316,
"BB_per_IP": 0.57237,
"SO_per_IP": 1.53947,
"HR_per_IP": 0.05921
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.482,
"predicted_H": 0.635,
"predicted_BB": 0.606,
"predicted_SO": 1.272,
"predicted_HR": 0.056,
"predicted_ERA": 4.3341,
"predicted_WHIP": 1.2417
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4866,
"form_weight": 0.5134,
"form_reliability": 0.6766,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.462,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6766,
"prior_weight": 0.3234
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.482,
"final": 1.7074,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.635,
"final": 1.2993,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.606,
"final": 0.7977,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.272,
"final": 1.6263,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.056,
"final": 1.002,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3341,
"final": 4.3341,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2417,
"final": 1.2417,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Cade Smith |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6961 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 1.8462 |
| Season WHIP | 0.9103 |
| Role Avg IP | 1.0830 |
| Recent Avg IP | 1.1330 |
| Last Start IP | 0 |
{
"team": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"opponent": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0062,
"offense_edge": -0.0673,
"opponent_offense_edge": 0.0675,
"defense_strength": 0.0898,
"opponent_defense_weakness": -0.0096,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0002,
"run_prevention": 1.0015,
"strikeout": 0.9948
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "671922",
"profile": {
"available": true,
"pitcher_id": "671922",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 267.0,
"k_percent": 36.3,
"bb_percent": 7.8,
"woba": 0.241,
"xwoba": 0.261,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 42.8,
"avg_best_speed": 82.0536,
"avg_hyper_speed": 94.6537,
"whiff_percent": 34.5,
"swing_percent": 49.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6728,
"command_and_miss": 1.4479,
"regression_edge": -0.5714,
"xwoba_edge": 1.4571,
"barrel_edge": -0.3333,
"hard_hit_edge": -0.7,
"whiff_edge": 1.3286,
"bb_edge": 0.35,
"pitch_design_score": 0.0
},
"quality_score": 0.6961,
"sample_weight": 1.0,
"run_prevention_factor": 0.9408,
"strikeout_factor": 1.1343,
"walk_factor": 0.972,
"homer_factor": 1.011,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "671922",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9408,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9408,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.972,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.011,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.1343,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 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": 0,
"H": 1,
"BB": 1,
"SO": 18,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.16666666666666666,
"K9": 13.5,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-07T00:00:00"
}{
"available": false,
"pitcher_id": "671922",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.107,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7631,
"prior_weight": 0.2369
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "671922",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 72,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 9.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 56.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 1.8,
"HR": 0.0,
"BF": 3.4,
"Pitches": 11.2
},
"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": 1.58824,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 18.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 137.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.1,
"BB": 0.1,
"SO": 1.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 13.7
},
"rates": {
"ERA": 0.0,
"WHIP": 0.1667,
"ER_per_IP": 0.0,
"H_per_IP": 0.08333,
"BB_per_IP": 0.08333,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 72,
"totals": {
"IP": 78.0,
"ER": 16.0,
"R": 20.0,
"H": 48.0,
"BB": 23.0,
"SO": 113.0,
"HR": 5.0,
"BF": 307.0,
"Pitches": 1274.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2222,
"R": 0.2778,
"H": 0.6667,
"BB": 0.3194,
"SO": 1.5694,
"HR": 0.0694,
"BF": 4.2639,
"Pitches": 17.6944
},
"rates": {
"ERA": 1.8462,
"WHIP": 0.9103,
"ER_per_IP": 0.20513,
"H_per_IP": 0.61538,
"BB_per_IP": 0.29487,
"SO_per_IP": 1.44872,
"HR_per_IP": 0.0641
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.167,
"predicted_H": 0.381,
"predicted_BB": 0.171,
"predicted_SO": 1.512,
"predicted_HR": 0.049,
"predicted_ERA": 1.3767,
"predicted_WHIP": 0.5068
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4501,
"form_weight": 0.5499,
"form_reliability": 0.7631,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.107,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7631,
"prior_weight": 0.2369
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.167,
"final": 0.0918,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.381,
"final": 1.1097,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.171,
"final": 0.094,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.512,
"final": 1.2816,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.049,
"final": 0.0269,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.3767,
"final": 1.3767,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.5068,
"final": 0.5068,
"source": "form_only"
}
}
}{
"available": false,
"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.142 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.642 | 5.000 | 5.000 | Hitting_AB | 3.726 | 6.000 | 1.274 | -1.000 |
| predicted_AVG | 0.280 | 0.000 | 0.000 | Hitting_AVG | 0.284 | 0.167 | -0.284 | -0.167 |
| predicted_BB | 0.561 | 0.000 | 0.000 | Hitting_BB | 0.589 | 0.000 | -0.589 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 1.020 | 0.000 | 0.000 | Hitting_H | 1.059 | 1.000 | -1.059 | -1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_OBP | 0.376 | 0.000 | 0.000 | Hitting_OBP | 0.383 | 0.167 | -0.383 | -0.167 |
| predicted_R | 0.541 | 0.000 | 0.000 | Hitting_R | 0.606 | 1.000 | -0.606 | -1.000 |
| predicted_RBI | 0.223 | 0.000 | 0.000 | Hitting_RBI | 0.240 | 1.000 | -0.240 | -1.000 |
| predicted_SLG | 0.347 | 0.000 | 0.000 | Hitting_SLG | 0.351 | 0.167 | -0.351 | -0.167 |
| predicted_SO | 0.392 | 0.000 | 0.000 | Hitting_SO | 0.424 | 1.000 | -0.424 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.6420 -> 5.0000 (boost 1.3580, 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 | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.6420 -> 3.7049 (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 | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 5 | 2 | 3 | 3 | 2 | predicted_BB: 0.5762 -> 1.0000 (boost 0.4238, better) | predicted_SO: 0.3798 -> 0.0000 (deboost -0.3798, better) | AB rounded to 4 (raw=3.70), rates preserved: AVG=0.238 HR/AB=0.005 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5540 -> 1.0000 (boost 0.4460, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_SO: 0.0000 -> 0.5560 (boost 0.5560, worse) | predicted_BB: 1.0000 -> 0.6369 (deboost -0.3631, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 2 | 7 | 3 | 6 | predicted_BB: 0.6369 -> 1.0000 (boost 0.3631, better) | predicted_SO: 0.5560 -> 0.0000 (deboost -0.5560, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 4 | 1 | 3 | 1 | 3 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3090 -> 0.3330 (boost 0.0240, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "CF",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.142,
"predicted_3B": 0.02,
"predicted_AB": 3.642,
"predicted_AVG": 0.28,
"predicted_BB": 0.561,
"predicted_H": 1.02,
"predicted_HR": 0.02,
"predicted_OBP": 0.376,
"predicted_R": 0.541,
"predicted_RBI": 0.223,
"predicted_SLG": 0.347,
"predicted_SO": 0.392
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1206,
"predicted_3B": 0.0405,
"predicted_AB": 3.7049,
"predicted_AVG": 0.2807,
"predicted_BB": 0.5776,
"predicted_H": 1.0401,
"predicted_HBP": 0.014,
"predicted_HR": 0.0191,
"predicted_OBP": 0.378,
"predicted_R": 0.5576,
"predicted_RBI": 0.2483,
"predicted_SLG": 0.3508,
"predicted_SO": 0.3789
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.642,
"after": 3.7049,
"delta": 0.0629,
"percent_delta": 0.0173,
"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_AB",
"before": 3.642,
"after": 3.7049,
"delta": 0.0629,
"percent_delta": 0.0173,
"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": 148
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1206,
"predicted_3B": 0.0405,
"predicted_AB": 3.7049,
"predicted_AVG": 0.2796,
"predicted_BB": 0.5762,
"predicted_H": 1.0357,
"predicted_HBP": 0.014,
"predicted_HR": 0.0189,
"predicted_OBP": 0.3765,
"predicted_R": 0.554,
"predicted_RBI": 0.2467,
"predicted_SLG": 0.3493,
"predicted_SO": 0.3798
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.70), rates preserved: AVG=0.238 HR/AB=0.005",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1206,
"after": 0.0,
"delta": -0.1206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7049,
"after": 4.0,
"delta": 0.2951,
"percent_delta": 0.0797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5762,
"after": 1.0,
"delta": 0.4238,
"percent_delta": 0.7355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2467,
"after": 0.0,
"delta": -0.2467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3798,
"after": 0.0,
"delta": -0.3798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5762,
"after": 1.0,
"delta": 0.4238,
"percent_delta": 0.7355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3798,
"after": 0.0,
"delta": -0.3798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.554,
"after": 1.0,
"delta": 0.446,
"percent_delta": 0.8051,
"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_R",
"before": 0.554,
"after": 1.0,
"delta": 0.446,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1597,
"predicted_3B": 0.0177,
"predicted_BB": 0.6369,
"predicted_H": 0.8611,
"predicted_HR": 0.0528,
"predicted_RBI": 0.3174,
"predicted_SO": 0.556
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1597,
"delta": 0.1597,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.6369,
"delta": -0.3631,
"percent_delta": -0.3631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8611,
"delta": -0.1389,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0528,
"delta": 0.0528,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3174,
"delta": 0.3174,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.556,
"delta": 0.556,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.556,
"delta": 0.556,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.6369,
"delta": -0.3631,
"percent_delta": -0.3631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.219,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.309,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1597,
"after": 0.0,
"delta": -0.1597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2796,
"after": 0.219,
"delta": -0.0606,
"percent_delta": -0.2167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6369,
"after": 1.0,
"delta": 0.3631,
"percent_delta": 0.5701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8611,
"after": 1.0,
"delta": 0.1389,
"percent_delta": 0.1613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0528,
"after": 0.0,
"delta": -0.0528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3765,
"after": 0.333,
"delta": -0.0435,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3174,
"after": 0.0,
"delta": -0.3174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3493,
"after": 0.309,
"delta": -0.0403,
"percent_delta": -0.1154,
"direction": "deboost",
"projection_effect": "worse",
"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": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6369,
"after": 1.0,
"delta": 0.3631,
"percent_delta": 0.5701,
"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
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.219,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.309,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.242,
"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.342,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.242,
"delta": 0.023,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.342,
"delta": 0.009,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.333,
"delta": 0.024,
"percent_delta": 0.0777,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.333,
"delta": 0.024,
"percent_delta": 0.0777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.142,
"after": 0.0,
"delta": -0.142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.642,
"after": 5.0,
"delta": 1.358,
"percent_delta": 0.3729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.28,
"after": 0.242,
"delta": -0.038,
"percent_delta": -0.1357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.561,
"after": 0.0,
"delta": -0.561,
"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_OBP",
"before": 0.376,
"after": 0.342,
"delta": -0.034,
"percent_delta": -0.0904,
"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.223,
"after": 0.0,
"delta": -0.223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.333,
"delta": -0.014,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.642,
"after": 5.0,
"delta": 1.358,
"percent_delta": 0.3729,
"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.142 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.642 | - |
| predicted_AVG | 0.280 | - |
| predicted_BB | 0.561 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.376 | - |
| predicted_R | 0.541 | - |
| predicted_RBI | 0.223 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.392 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.021 |
| predicted_3B | 0.041 | 0.021 |
| predicted_AB | 3.705 | 0.063 |
| predicted_AVG | 0.281 | 0.001 |
| predicted_BB | 0.578 | 0.017 |
| predicted_H | 1.040 | 0.020 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.019 | -0.001 |
| predicted_OBP | 0.378 | 0.002 |
| predicted_R | 0.558 | 0.017 |
| predicted_RBI | 0.248 | 0.025 |
| predicted_SLG | 0.351 | 0.004 |
| predicted_SO | 0.379 | -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.121 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 3.705 | 0.000 |
| predicted_AVG | 0.280 | -0.001 |
| predicted_BB | 0.576 | -0.001 |
| predicted_H | 1.036 | -0.004 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.019 | -0.000 |
| predicted_OBP | 0.377 | -0.002 |
| predicted_R | 0.554 | -0.004 |
| predicted_RBI | 0.247 | -0.002 |
| predicted_SLG | 0.349 | -0.002 |
| predicted_SO | 0.380 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.70), rates preserved: AVG=0.238 HR/AB=0.005
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.160 | 0.160 |
| 3B | 0.018 | 0.018 |
| BB | 0.637 | -0.363 |
| H | 0.861 | -0.139 |
| HR | 0.053 | 0.053 |
| RBI | 0.317 | 0.317 |
| SO | 0.556 | 0.556 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.160 |
| 3B | 0.000 | -0.018 |
| AB | 4.000 | 0.000 |
| AVG | 0.219 | - |
| BB | 1.000 | 0.363 |
| H | 1.000 | 0.139 |
| HR | 0.000 | -0.053 |
| OBP | 0.333 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.317 |
| SLG | 0.309 | - |
| SO | 0.000 | -0.556 |
Player 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.041 |
| predicted_AB | 4.000 | 0.295 |
| predicted_AVG | 0.219 | -0.061 |
| predicted_BB | 1.000 | 0.424 |
| predicted_H | 1.000 | -0.036 |
| predicted_HR | 0.000 | -0.019 |
| predicted_OBP | 0.333 | -0.043 |
| predicted_R | 1.000 | 0.446 |
| predicted_RBI | 0.000 | -0.247 |
| predicted_SLG | 0.309 | -0.040 |
| predicted_SO | 0.000 | -0.380 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| 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 |
| SF | 0.000 | 0.000 |
| SO | 0.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 | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 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 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 1.000 | 0.2500 | 0.3750 | 0.3500 | 0.2500 | 0.0000 | 0.1000 | 0.2000 | 0.0500 |
| last_10 | 0.20 | 10 | - | 40.000 | 13.000 | 0.000 | 1.000 | 0.000 | 3.000 | 5.000 | 6.000 | 3.000 | 0.3250 | 0.4130 | 0.3750 | 0.3250 | 0.0000 | 0.0750 | 0.1500 | 0.0750 |
| season | 0.60 | 148 | - | 539.000 | 151.000 | 21.000 | 3.000 | 3.000 | 33.000 | 80.000 | 83.000 | 58.000 | 0.2801 | 0.3774 | 0.3469 | 0.2802 | 0.0056 | 0.0612 | 0.1540 | 0.1076 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0670 |
| predicted_AB | 3.7860 |
| predicted_AVG | 0.2815 |
| predicted_BB | 0.5990 |
| predicted_H | 1.0660 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0180 |
| predicted_OBP | 0.3805 |
| predicted_R | 0.5790 |
| predicted_RBI | 0.2810 |
| predicted_SLG | 0.3556 |
| predicted_SO | 0.3620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1420 | 0.0930 | 0.1206 | model_form_blend |
| predicted_3B | 0.0200 | 0.0670 | 0.0405 | model_form_blend |
| predicted_AB | 3.6420 | 3.7860 | 3.7049 | model_form_blend |
| predicted_AVG | 0.2800 | 0.2815 | 0.2807 | model_form_blend |
| predicted_BB | 0.5610 | 0.5990 | 0.5776 | model_form_blend |
| predicted_H | 1.0200 | 1.0660 | 1.0401 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0200 | 0.0180 | 0.0191 | model_form_blend |
| predicted_OBP | 0.3760 | 0.3805 | 0.3780 | model_form_blend |
| predicted_R | 0.5410 | 0.5790 | 0.5576 | model_form_blend |
| predicted_RBI | 0.2230 | 0.2810 | 0.2483 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3556 | 0.3508 | model_form_blend |
| predicted_SO | 0.3920 | 0.3620 | 0.3789 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 609 |
| Season rows before report date | 609 |
| Report year | 2026 |
| Profile rows used | 148 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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.167 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF-LF |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 680757 |
| playerID | 680757 |
| playerName | Steven Kwan |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 9.7 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.334 |
| sl_xwoba | 0.328 |
| sl_xba | 0.277 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 0.4 |
| sl_hard_hit_percent | 10.5 |
| sl_exit_velocity_avg | 83.9 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 8.2 |
| sl_swing_percent | 35.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.226 | 0.000 | 0.000 | Hitting_2B | 0.240 | 1.000 | -0.240 | -1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.002 | 1.000 | -0.002 | -1.000 |
| predicted_AB | 4.590 | 4.000 | 4.000 | Hitting_AB | 3.828 | 4.000 | 0.172 | 0.000 |
| predicted_AVG | 0.231 | 0.000 | 0.000 | Hitting_AVG | 0.235 | 0.500 | -0.235 | -0.500 |
| predicted_BB | 0.500 | 1.000 | 1.000 | Hitting_BB | 0.518 | 1.000 | 0.482 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 1.060 | 0.000 | 0.000 | Hitting_H | 0.898 | 2.000 | -0.898 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.331 | 0.200 | 0.200 | Hitting_OBP | 0.327 | 0.600 | -0.127 | -0.400 |
| predicted_R | 0.581 | 0.000 | 0.000 | Hitting_R | 0.584 | 2.000 | -0.584 | -2.000 |
| predicted_RBI | 0.590 | 0.000 | 0.000 | Hitting_RBI | 0.469 | 2.000 | -0.469 | -2.000 |
| predicted_SLG | 0.396 | 0.000 | 0.000 | Hitting_SLG | 0.377 | 1.250 | -0.377 | -1.250 |
| predicted_SO | 0.573 | 1.000 | 1.000 | Hitting_SO | 0.570 | 0.000 | 0.430 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_BB: 0.5000 -> 1.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_R: 0.5810 -> 0.6562 (boost 0.0752, better) | predicted_AB: 4.5900 -> 4.2544 (deboost -0.3356, worse) | Final model input calibrated with local 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.3811 -> 0.3445 (deboost -0.0366, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_BB: 0.5261 -> 1.0000 (boost 0.4739, better) | predicted_RBI: 0.5496 -> 0.0000 (deboost -0.5496, worse) | AB rounded to 4 (raw=4.59), rates preserved: AVG=0.179 HR/AB=0.016 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6520 -> 1.0000 (boost 0.3480, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4646 (boost 0.4646, better) | predicted_BB: 1.0000 -> 0.6580 (deboost -0.3420, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 7 | 4 | 3 | 3 | 4 | predicted_2B: 0.2096 -> 1.0000 (boost 0.7904, better) | predicted_RBI: 0.4646 -> 0.0000 (deboost -0.4646, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Market blend not applied: no props for this hitter |
| 12 | play_by_play_realization | 3 | 0 | 3 | 0 | 3 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "608070",
"player_name": "José Ramírez",
"position": "3B",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.226,
"predicted_3B": 0.008,
"predicted_AB": 4.59,
"predicted_AVG": 0.231,
"predicted_BB": 0.5,
"predicted_H": 1.06,
"predicted_HR": 0.08,
"predicted_OBP": 0.331,
"predicted_R": 0.581,
"predicted_RBI": 0.59,
"predicted_SLG": 0.396,
"predicted_SO": 0.573
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2208,
"predicted_3B": 0.0315,
"predicted_AB": 4.2544,
"predicted_AVG": 0.2281,
"predicted_BB": 0.5274,
"predicted_H": 0.9713,
"predicted_HBP": 0.016,
"predicted_HR": 0.0722,
"predicted_OBP": 0.3264,
"predicted_R": 0.6562,
"predicted_RBI": 0.5531,
"predicted_SLG": 0.3811,
"predicted_SO": 0.5756
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.59,
"after": 4.2544,
"delta": -0.3356,
"percent_delta": -0.0731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.9713,
"delta": -0.0887,
"percent_delta": -0.0837,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.581,
"after": 0.6562,
"delta": 0.0752,
"percent_delta": 0.1294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3811,
"delta": -0.0149,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.581,
"after": 0.6562,
"delta": 0.0752,
"percent_delta": 0.1294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.59,
"after": 4.2544,
"delta": -0.3356,
"percent_delta": -0.0731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 124
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2208,
"predicted_3B": 0.0315,
"predicted_AB": 4.2544,
"predicted_AVG": 0.2273,
"predicted_BB": 0.5261,
"predicted_H": 0.9672,
"predicted_HBP": 0.016,
"predicted_HR": 0.0716,
"predicted_OBP": 0.3124,
"predicted_R": 0.652,
"predicted_RBI": 0.5496,
"predicted_SLG": 0.3445,
"predicted_SO": 0.577
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3264,
"after": 0.3124,
"delta": -0.014,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3811,
"after": 0.3445,
"delta": -0.0366,
"percent_delta": -0.096,
"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_SLG",
"before": 0.3811,
"after": 0.3445,
"delta": -0.0366,
"percent_delta": -0.096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.59), rates preserved: AVG=0.179 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.2208,
"after": 0.0,
"delta": -0.2208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2544,
"after": 4.0,
"delta": -0.2544,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5261,
"after": 1.0,
"delta": 0.4739,
"percent_delta": 0.9008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0716,
"after": 0.0,
"delta": -0.0716,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5496,
"after": 0.0,
"delta": -0.5496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.577,
"after": 1.0,
"delta": 0.423,
"percent_delta": 0.7331,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5261,
"after": 1.0,
"delta": 0.4739,
"percent_delta": 0.9008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5496,
"after": 0.0,
"delta": -0.5496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.652,
"after": 1.0,
"delta": 0.348,
"percent_delta": 0.5337,
"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_R",
"before": 0.652,
"after": 1.0,
"delta": 0.348,
"percent_delta": 0.5337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.2096,
"predicted_3B": 0.0119,
"predicted_BB": 0.658,
"predicted_H": 0.7834,
"predicted_HR": 0.1142,
"predicted_RBI": 0.4646,
"predicted_SO": 0.7166
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2096,
"delta": 0.2096,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.658,
"delta": -0.342,
"percent_delta": -0.342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7834,
"delta": -0.2166,
"percent_delta": -0.2166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1142,
"delta": 0.1142,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4646,
"delta": 0.4646,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7166,
"delta": -0.2834,
"percent_delta": -0.2834,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4646,
"delta": 0.4646,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.658,
"delta": -0.342,
"percent_delta": -0.342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.197,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.316,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.341,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2096,
"after": 1.0,
"delta": 0.7904,
"percent_delta": 3.771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2273,
"after": 0.197,
"delta": -0.0303,
"percent_delta": -0.1333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.658,
"after": 1.0,
"delta": 0.342,
"percent_delta": 0.5198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7834,
"after": 1.0,
"delta": 0.2166,
"percent_delta": 0.2765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1142,
"after": 0.0,
"delta": -0.1142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4646,
"after": 0.0,
"delta": -0.4646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7166,
"after": 1.0,
"delta": 0.2834,
"percent_delta": 0.3955,
"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_2B",
"before": 0.2096,
"after": 1.0,
"delta": 0.7904,
"percent_delta": 3.771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4646,
"after": 0.0,
"delta": -0.4646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.197,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.316,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.341,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Market blend not applied: no props for this hitter",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.197,
"predicted_BB": 1.0,
"predicted_CS": 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.341,
"predicted_SO": 1.0,
"predicted_TB": 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
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.59,
"after": 4.0,
"delta": -0.59,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.197,
"delta": -0.034,
"percent_delta": -0.1472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.331,
"after": 0.316,
"delta": -0.015,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.581,
"after": 0.0,
"delta": -0.581,
"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.396,
"after": 0.341,
"delta": -0.055,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.573,
"after": 1.0,
"delta": 0.427,
"percent_delta": 0.7452,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.590 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.581 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.573 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.005 |
| predicted_3B | 0.032 | 0.024 |
| predicted_AB | 4.254 | -0.336 |
| predicted_AVG | 0.228 | -0.003 |
| predicted_BB | 0.527 | 0.027 |
| predicted_H | 0.971 | -0.089 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.072 | -0.008 |
| predicted_OBP | 0.326 | -0.005 |
| predicted_R | 0.656 | 0.075 |
| predicted_RBI | 0.553 | -0.037 |
| predicted_SLG | 0.381 | -0.015 |
| predicted_SO | 0.576 | 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.221 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 4.254 | 0.000 |
| predicted_AVG | 0.227 | -0.001 |
| predicted_BB | 0.526 | -0.001 |
| predicted_H | 0.967 | -0.004 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.072 | -0.001 |
| predicted_OBP | 0.312 | -0.014 |
| predicted_R | 0.652 | -0.004 |
| predicted_RBI | 0.550 | -0.004 |
| predicted_SLG | 0.344 | -0.037 |
| predicted_SO | 0.577 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.59), rates preserved: AVG=0.179 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 | - |
Enforced H<=AB, HR<=H, safety nets, 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.210 | 0.210 |
| 3B | 0.012 | 0.012 |
| BB | 0.658 | -0.342 |
| H | 0.783 | -0.217 |
| HR | 0.114 | 0.114 |
| RBI | 0.465 | 0.465 |
| SO | 0.717 | -0.283 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.790 |
| 3B | 0.000 | -0.012 |
| AB | 4.000 | 0.000 |
| AVG | 0.197 | - |
| BB | 1.000 | 0.342 |
| H | 1.000 | 0.217 |
| HR | 0.000 | -0.114 |
| OBP | 0.316 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.465 |
| SLG | 0.341 | - |
| SO | 1.000 | 0.283 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.779 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | -0.254 |
| predicted_AVG | 0.197 | -0.030 |
| predicted_BB | 1.000 | 0.474 |
| predicted_H | 1.000 | 0.033 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.316 | 0.004 |
| predicted_R | 1.000 | 0.348 |
| predicted_RBI | 0.000 | -0.550 |
| predicted_SLG | 0.341 | -0.003 |
| predicted_SO | 1.000 | 0.423 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Market blend not applied: no props for this hitter
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| 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 |
| SF | 0.000 | 0.000 |
| 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 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 1.000 | 1.000 | 0.000 | 4.000 | 6.000 | 4.000 | 3.000 | 0.1579 | 0.2917 | 0.3158 | 0.1579 | 0.0000 | 0.2105 | 0.2105 | 0.1579 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 2.000 | 1.000 | 0.000 | 4.000 | 9.000 | 6.000 | 5.000 | 0.2564 | 0.3478 | 0.3590 | 0.2564 | 0.0000 | 0.1026 | 0.1538 | 0.1282 |
| season | 0.60 | 124 | - | 471.000 | 110.000 | 28.000 | 1.000 | 12.000 | 55.000 | 72.000 | 62.000 | 71.000 | 0.2335 | 0.3223 | 0.3737 | 0.2336 | 0.0255 | 0.1168 | 0.1316 | 0.1507 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2140 |
| predicted_3B | 0.0620 |
| predicted_AB | 3.8180 |
| predicted_AVG | 0.2243 |
| predicted_BB | 0.5630 |
| predicted_H | 0.8560 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.3204 |
| predicted_R | 0.7540 |
| predicted_RBI | 0.5050 |
| predicted_SLG | 0.3617 |
| predicted_SO | 0.5790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2260 | 0.2140 | 0.2208 | model_form_blend |
| predicted_3B | 0.0080 | 0.0620 | 0.0315 | model_form_blend |
| predicted_AB | 4.5900 | 3.8180 | 4.2544 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2243 | 0.2281 | model_form_blend |
| predicted_BB | 0.5000 | 0.5630 | 0.5274 | model_form_blend |
| predicted_H | 1.0600 | 0.8560 | 0.9713 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0800 | 0.0620 | 0.0722 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3204 | 0.3264 | model_form_blend |
| predicted_R | 0.5810 | 0.7540 | 0.6562 | model_form_blend |
| predicted_RBI | 0.5900 | 0.5050 | 0.5531 | model_form_blend |
| predicted_SLG | 0.3960 | 0.3617 | 0.3811 | model_form_blend |
| predicted_SO | 0.5730 | 0.5790 | 0.5756 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 512 |
| Season rows before report date | 512 |
| Report year | 2026 |
| Profile rows used | 124 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 608070 |
| playerID | 608070 |
| playerName | José Ramírez |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.301 |
| sl_xwoba | 0.325 |
| sl_xba | 0.266 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 15.3 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.214 | 0.000 | 0.000 | Hitting_2B | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.510 | 5.000 | 5.000 | Hitting_AB | 3.930 | 4.000 | 1.070 | 1.000 |
| predicted_AVG | 0.252 | 0.400 | 0.400 | Hitting_AVG | 0.281 | 0.250 | 0.119 | 0.150 |
| predicted_BB | 0.443 | 0.000 | 0.000 | Hitting_BB | 0.464 | 1.000 | -0.464 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 1.140 | 2.000 | 2.000 | Hitting_H | 1.106 | 1.000 | 0.894 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.343 | 0.400 | 0.400 | Hitting_OBP | 0.356 | 0.400 | 0.044 | 0.000 |
| predicted_R | 0.466 | 1.000 | 1.000 | Hitting_R | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_RBI | 0.580 | 0.000 | 0.000 | Hitting_RBI | 0.562 | 1.000 | -0.562 | -1.000 |
| predicted_SLG | 0.419 | 0.400 | 0.400 | Hitting_SLG | 0.448 | 0.250 | -0.048 | 0.150 |
| predicted_SO | 0.618 | 1.000 | 1.000 | Hitting_SO | 0.645 | 0.000 | 0.355 | 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_H: 1.1400 -> 2.0000 (boost 0.8600, better) |
| Biggest Deboost | predicted_RBI: 0.5800 -> 0.0000 (deboost -0.5800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4190 -> 0.4319 (boost 0.0129, better) | predicted_AB: 4.5100 -> 4.2268 (deboost -0.2832, worse) | Final model input calibrated with local 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.3495 -> 0.3329 (deboost -0.0166, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.5904 -> 1.0000 (boost 0.4096, worse) | predicted_RBI: 0.5603 -> 0.0000 (deboost -0.5603, worse) | AB rounded to 4 (raw=4.51), rates preserved: AVG=0.206 HR/AB=0.034 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5088 -> 1.0000 (boost 0.4912, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.5351 (boost 0.5351, better) | predicted_SO: 1.0000 -> 0.8041 (deboost -0.1959, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 5 | 4 | 4 | 5 | predicted_2B: 0.1804 -> 1.0000 (boost 0.8196, better) | predicted_HR: 0.1230 -> 0.0000 (deboost -0.1230, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 5 | 2 | 3 | 2 | 3 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3200 -> 0.3450 (boost 0.0250, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "800050",
"player_name": "Chase DeLauter",
"position": "RF",
"team": "CLE",
"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.023,
"predicted_AB": 4.51,
"predicted_AVG": 0.252,
"predicted_BB": 0.443,
"predicted_H": 1.14,
"predicted_HR": 0.16,
"predicted_OBP": 0.343,
"predicted_R": 0.466,
"predicted_RBI": 0.58,
"predicted_SLG": 0.419,
"predicted_SO": 0.618
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.211,
"predicted_3B": 0.0191,
"predicted_AB": 4.2268,
"predicted_AVG": 0.2599,
"predicted_BB": 0.4721,
"predicted_H": 1.0974,
"predicted_HBP": 0.024,
"predicted_HR": 0.1561,
"predicted_OBP": 0.3495,
"predicted_R": 0.5121,
"predicted_RBI": 0.5639,
"predicted_SLG": 0.4319,
"predicted_SO": 0.5889
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.51,
"after": 4.2268,
"delta": -0.2832,
"percent_delta": -0.0628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2599,
"delta": 0.0079,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3495,
"delta": 0.0065,
"percent_delta": 0.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4319,
"delta": 0.0129,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4319,
"delta": 0.0129,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.51,
"after": 4.2268,
"delta": -0.2832,
"percent_delta": -0.0628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 131
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.211,
"predicted_3B": 0.0191,
"predicted_AB": 4.2268,
"predicted_AVG": 0.2585,
"predicted_BB": 0.4709,
"predicted_H": 1.0928,
"predicted_HBP": 0.024,
"predicted_HR": 0.1547,
"predicted_OBP": 0.3329,
"predicted_R": 0.5088,
"predicted_RBI": 0.5603,
"predicted_SLG": 0.4273,
"predicted_SO": 0.5904
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3495,
"after": 0.3329,
"delta": -0.0166,
"percent_delta": -0.0475,
"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_OBP",
"before": 0.3495,
"after": 0.3329,
"delta": -0.0166,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.51), rates preserved: AVG=0.206 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.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2268,
"after": 4.0,
"delta": -0.2268,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4709,
"after": 0.0,
"delta": -0.4709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0928,
"after": 1.0,
"delta": -0.0928,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1547,
"after": 0.0,
"delta": -0.1547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5603,
"after": 0.0,
"delta": -0.5603,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5904,
"after": 1.0,
"delta": 0.4096,
"percent_delta": 0.6938,
"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.5904,
"after": 1.0,
"delta": 0.4096,
"percent_delta": 0.6938,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5603,
"after": 0.0,
"delta": -0.5603,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.5088,
"after": 1.0,
"delta": 0.4912,
"percent_delta": 0.9654,
"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_R",
"before": 0.5088,
"after": 1.0,
"delta": 0.4912,
"percent_delta": 0.9654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1804,
"predicted_3B": 0.0181,
"predicted_BB": 0.5027,
"predicted_H": 0.8584,
"predicted_HR": 0.123,
"predicted_RBI": 0.5351,
"predicted_SO": 0.8041
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1804,
"delta": 0.1804,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.5027,
"delta": 0.5027,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8584,
"delta": -0.1416,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.123,
"delta": 0.123,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5351,
"delta": 0.5351,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8041,
"delta": -0.1959,
"percent_delta": -0.1959,
"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_RBI",
"before": 0.0,
"after": 0.5351,
"delta": 0.5351,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8041,
"delta": -0.1959,
"percent_delta": -0.1959,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.225,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.32,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.378,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1804,
"after": 1.0,
"delta": 0.8196,
"percent_delta": 4.5432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2585,
"after": 0.225,
"delta": -0.0335,
"percent_delta": -0.1296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5027,
"after": 1.0,
"delta": 0.4973,
"percent_delta": 0.9893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8584,
"after": 1.0,
"delta": 0.1416,
"percent_delta": 0.165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_OBP",
"before": 0.3329,
"after": 0.32,
"delta": -0.0129,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5351,
"after": 1.0,
"delta": 0.4649,
"percent_delta": 0.8688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4273,
"after": 0.378,
"delta": -0.0493,
"percent_delta": -0.1154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8041,
"after": 1.0,
"delta": 0.1959,
"percent_delta": 0.2436,
"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_2B",
"before": 0.1804,
"after": 1.0,
"delta": 0.8196,
"percent_delta": 4.5432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.225,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.32,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.378,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "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_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.245,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.345,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4,
"predicted_SO": 1.0,
"predicted_TB": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.245,
"delta": 0.02,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.345,
"delta": 0.025,
"percent_delta": 0.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.4,
"delta": 0.022,
"percent_delta": 0.0582,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.345,
"delta": 0.025,
"percent_delta": 0.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
}
],
"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_AB",
"before": 4.51,
"after": 5.0,
"delta": 0.49,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.245,
"delta": -0.007,
"percent_delta": -0.0278,
"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": 1.14,
"after": 2.0,
"delta": 0.86,
"percent_delta": 0.7544,
"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_R",
"before": 0.466,
"after": 1.0,
"delta": 0.534,
"percent_delta": 1.1459,
"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.419,
"after": 0.4,
"delta": -0.019,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"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_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_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.510 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.443 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.466 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.419 | - |
| predicted_SO | 0.618 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.211 | -0.003 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 4.227 | -0.283 |
| predicted_AVG | 0.260 | 0.008 |
| predicted_BB | 0.472 | 0.029 |
| predicted_H | 1.097 | -0.043 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.156 | -0.004 |
| predicted_OBP | 0.349 | 0.006 |
| predicted_R | 0.512 | 0.046 |
| predicted_RBI | 0.564 | -0.016 |
| predicted_SLG | 0.432 | 0.013 |
| predicted_SO | 0.589 | -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.211 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.227 | 0.000 |
| predicted_AVG | 0.259 | -0.001 |
| predicted_BB | 0.471 | -0.001 |
| predicted_H | 1.093 | -0.005 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.155 | -0.001 |
| predicted_OBP | 0.333 | -0.017 |
| predicted_R | 0.509 | -0.003 |
| predicted_RBI | 0.560 | -0.004 |
| predicted_SLG | 0.427 | -0.005 |
| predicted_SO | 0.590 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.51), rates preserved: AVG=0.206 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.180 | 0.180 |
| 3B | 0.018 | 0.018 |
| BB | 0.503 | 0.503 |
| H | 0.858 | -0.142 |
| HR | 0.123 | 0.123 |
| RBI | 0.535 | 0.535 |
| SO | 0.804 | -0.196 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.820 |
| 3B | 0.000 | -0.018 |
| AB | 4.000 | 0.000 |
| AVG | 0.225 | - |
| BB | 1.000 | 0.497 |
| H | 1.000 | 0.142 |
| HR | 0.000 | -0.123 |
| OBP | 0.320 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.465 |
| SLG | 0.378 | - |
| SO | 1.000 | 0.196 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.789 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | -0.227 |
| predicted_AVG | 0.225 | -0.034 |
| predicted_BB | 1.000 | 0.529 |
| predicted_H | 1.000 | -0.093 |
| predicted_HR | 0.000 | -0.155 |
| predicted_OBP | 0.320 | -0.013 |
| predicted_R | 1.000 | 0.491 |
| predicted_RBI | 1.000 | 0.440 |
| predicted_SLG | 0.378 | -0.049 |
| predicted_SO | 1.000 | 0.410 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| 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 | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 4.000 | 1.000 | 0.2500 | 0.3750 | 0.4500 | 0.2500 | 0.0500 | 0.1500 | 0.2000 | 0.0500 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 2.000 | 0.000 | 2.000 | 6.000 | 7.000 | 5.000 | 6.000 | 0.2500 | 0.3478 | 0.4500 | 0.2500 | 0.0500 | 0.1500 | 0.1250 | 0.1500 |
| season | 0.60 | 131 | - | 494.000 | 141.000 | 28.000 | 3.000 | 16.000 | 67.000 | 61.000 | 58.000 | 81.000 | 0.2854 | 0.3604 | 0.4514 | 0.2854 | 0.0324 | 0.1356 | 0.1174 | 0.1640 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2070 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.8590 |
| predicted_AVG | 0.2701 |
| predicted_BB | 0.5100 |
| predicted_H | 1.0420 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.3580 |
| predicted_R | 0.5720 |
| predicted_RBI | 0.5430 |
| predicted_SLG | 0.4486 |
| predicted_SO | 0.5510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.2070 | 0.2110 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 4.5100 | 3.8590 | 4.2268 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2701 | 0.2599 | model_form_blend |
| predicted_BB | 0.4430 | 0.5100 | 0.4721 | model_form_blend |
| predicted_H | 1.1400 | 1.0420 | 1.0974 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1600 | 0.1510 | 0.1561 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3580 | 0.3495 | model_form_blend |
| predicted_R | 0.4660 | 0.5720 | 0.5121 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5430 | 0.5639 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4486 | 0.4319 | model_form_blend |
| predicted_SO | 0.6180 | 0.5510 | 0.5889 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 530 |
| Season rows before report date | 530 |
| Report year | 2026 |
| Profile rows used | 131 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| 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 | RF |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 800050 |
| playerID | 800050 |
| playerName | Chase DeLauter |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.359 |
| sl_xwoba | 0.346 |
| sl_xba | 0.277 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 15.0 |
| sl_swing_percent | 42.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.161 | 0.000 | 0.000 | Hitting_2B | 0.241 | 0.000 | -0.241 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.011 | 1.000 | -0.011 | -1.000 |
| predicted_AB | 3.795 | 4.000 | 4.000 | Hitting_AB | 3.908 | 4.000 | 0.092 | 0.000 |
| predicted_AVG | 0.241 | 0.250 | 0.250 | Hitting_AVG | 0.238 | 0.500 | 0.012 | -0.250 |
| predicted_BB | 0.224 | 0.000 | 0.000 | Hitting_BB | 0.402 | 1.000 | -0.402 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.913 | 1.000 | 1.000 | Hitting_H | 0.931 | 2.000 | 0.069 | -1.000 |
| predicted_HR | 0.143 | 0.000 | 0.000 | Hitting_HR | 0.144 | 0.000 | -0.144 | 0.000 |
| predicted_OBP | 0.283 | 0.250 | 0.250 | Hitting_OBP | 0.323 | 0.600 | -0.073 | -0.350 |
| predicted_R | 0.435 | 1.000 | 1.000 | Hitting_R | 0.517 | 0.000 | 0.483 | 1.000 |
| predicted_RBI | 0.602 | 0.000 | 0.000 | Hitting_RBI | 0.741 | 3.000 | -0.741 | -3.000 |
| predicted_SLG | 0.406 | 0.250 | 0.250 | Hitting_SLG | 0.416 | 1.000 | -0.166 | -0.750 |
| predicted_SO | 1.012 | 1.000 | 1.000 | Hitting_SO | 1.109 | 1.000 | -0.109 | 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 | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.4350 -> 1.0000 (boost 0.5650, better) |
| Biggest Deboost | predicted_RBI: 0.6020 -> 0.0000 (deboost -0.6020, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_BB: 0.2240 -> 0.2966 (boost 0.0726, 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 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 3 | 5 | 3 | 5 | predicted_RBI: 0.6290 -> 1.0000 (boost 0.3710, better) | predicted_BB: 0.2959 -> 0.0000 (deboost -0.2959, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.209 HR/AB=0.038 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4439 -> 0.0000 (deboost -0.4439, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.3403 (boost 0.3403, better) | predicted_RBI: 1.0000 -> 0.5815 (deboost -0.4185, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 2 | 7 | 3 | 6 | predicted_RBI: 0.5815 -> 1.0000 (boost 0.4185, better) | predicted_BB: 0.3403 -> 0.0000 (deboost -0.3403, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 2 | 1 | 1 | 1 | 1 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2750 -> 0.2990 (boost 0.0240, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "666176",
"player_name": "Jo Adell",
"position": "DH",
"team": "CLE",
"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.019,
"predicted_AB": 3.795,
"predicted_AVG": 0.241,
"predicted_BB": 0.224,
"predicted_H": 0.913,
"predicted_HR": 0.143,
"predicted_OBP": 0.283,
"predicted_R": 0.435,
"predicted_RBI": 0.602,
"predicted_SLG": 0.406,
"predicted_SO": 1.012
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1426,
"predicted_3B": 0.0662,
"predicted_AB": 3.7876,
"predicted_AVG": 0.2475,
"predicted_BB": 0.2966,
"predicted_H": 0.9362,
"predicted_HBP": 0.065,
"predicted_HR": 0.1439,
"predicted_OBP": 0.3051,
"predicted_R": 0.4468,
"predicted_RBI": 0.6331,
"predicted_SLG": 0.4338,
"predicted_SO": 1.0404
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2475,
"delta": 0.0065,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.224,
"after": 0.2966,
"delta": 0.0726,
"percent_delta": 0.3241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.3051,
"delta": 0.0221,
"percent_delta": 0.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4338,
"delta": 0.0278,
"percent_delta": 0.0685,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.224,
"after": 0.2966,
"delta": 0.0726,
"percent_delta": 0.3241,
"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": 161
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1426,
"predicted_3B": 0.0662,
"predicted_AB": 3.7876,
"predicted_AVG": 0.2461,
"predicted_BB": 0.2959,
"predicted_H": 0.9323,
"predicted_HBP": 0.065,
"predicted_HR": 0.1426,
"predicted_OBP": 0.3008,
"predicted_R": 0.4439,
"predicted_RBI": 0.629,
"predicted_SLG": 0.4317,
"predicted_SO": 1.043
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.209 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.1426,
"after": 0.0,
"delta": -0.1426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0662,
"after": 0.0,
"delta": -0.0662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7876,
"after": 4.0,
"delta": 0.2124,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2959,
"after": 0.0,
"delta": -0.2959,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9323,
"after": 1.0,
"delta": 0.0677,
"percent_delta": 0.0726,
"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.1426,
"after": 0.0,
"delta": -0.1426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.629,
"after": 1.0,
"delta": 0.371,
"percent_delta": 0.5898,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.629,
"after": 1.0,
"delta": 0.371,
"percent_delta": 0.5898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2959,
"after": 0.0,
"delta": -0.2959,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.4439,
"after": 0.0,
"delta": -0.4439,
"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_R",
"before": 0.4439,
"after": 0.0,
"delta": -0.4439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1802,
"predicted_3B": 0.0151,
"predicted_BB": 0.3403,
"predicted_H": 0.7791,
"predicted_HR": 0.1466,
"predicted_RBI": 0.5815,
"predicted_SO": 1.1938
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1802,
"delta": 0.1802,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3403,
"delta": 0.3403,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7791,
"delta": -0.2209,
"percent_delta": -0.2209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1466,
"delta": 0.1466,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5815,
"delta": -0.4185,
"percent_delta": -0.4185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1938,
"delta": 0.1938,
"percent_delta": 0.1938,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3403,
"delta": 0.3403,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5815,
"delta": -0.4185,
"percent_delta": -0.4185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.204,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"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_AVG",
"before": 0.2461,
"after": 0.204,
"delta": -0.0421,
"percent_delta": -0.1711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3403,
"after": 0.0,
"delta": -0.3403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7791,
"after": 1.0,
"delta": 0.2209,
"percent_delta": 0.2835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1466,
"after": 0.0,
"delta": -0.1466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3008,
"after": 0.275,
"delta": -0.0258,
"percent_delta": -0.0858,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5815,
"after": 1.0,
"delta": 0.4185,
"percent_delta": 0.7197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4317,
"after": 0.375,
"delta": -0.0567,
"percent_delta": -0.1313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1938,
"after": 1.0,
"delta": -0.1938,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5815,
"after": 1.0,
"delta": 0.4185,
"percent_delta": 0.7197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3403,
"after": 0.0,
"delta": -0.3403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.204,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"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_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.216,
"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.299,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.387,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.216,
"delta": 0.012,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.299,
"delta": 0.024,
"percent_delta": 0.0873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.387,
"delta": 0.012,
"percent_delta": 0.032,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.299,
"delta": 0.024,
"percent_delta": 0.0873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
}
],
"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_AB",
"before": 3.795,
"after": 4.0,
"delta": 0.205,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.216,
"delta": -0.025,
"percent_delta": -0.1037,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.224,
"after": 0.0,
"delta": -0.224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.913,
"after": 1.0,
"delta": 0.087,
"percent_delta": 0.0953,
"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.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.299,
"delta": 0.016,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 1.0,
"delta": 0.565,
"percent_delta": 1.2989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.602,
"after": 0.0,
"delta": -0.602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.387,
"delta": -0.019,
"percent_delta": -0.0468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.435,
"after": 1.0,
"delta": 0.565,
"percent_delta": 1.2989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.602,
"after": 0.0,
"delta": -0.602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.019 | - |
| predicted_AB | 3.795 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.224 | - |
| predicted_H | 0.913 | - |
| predicted_HR | 0.143 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.435 | - |
| predicted_RBI | 0.602 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 1.012 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | -0.018 |
| predicted_3B | 0.066 | 0.047 |
| predicted_AB | 3.788 | -0.007 |
| predicted_AVG | 0.247 | 0.007 |
| predicted_BB | 0.297 | 0.073 |
| predicted_H | 0.936 | 0.023 |
| predicted_HBP | 0.065 | - |
| predicted_HR | 0.144 | 0.001 |
| predicted_OBP | 0.305 | 0.022 |
| predicted_R | 0.447 | 0.012 |
| predicted_RBI | 0.633 | 0.031 |
| predicted_SLG | 0.434 | 0.028 |
| predicted_SO | 1.040 | 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.143 | 0.000 |
| predicted_3B | 0.066 | 0.000 |
| predicted_AB | 3.788 | 0.000 |
| predicted_AVG | 0.246 | -0.001 |
| predicted_BB | 0.296 | -0.001 |
| predicted_H | 0.932 | -0.004 |
| predicted_HBP | 0.065 | 0.000 |
| predicted_HR | 0.143 | -0.001 |
| predicted_OBP | 0.301 | -0.004 |
| predicted_R | 0.444 | -0.003 |
| predicted_RBI | 0.629 | -0.004 |
| predicted_SLG | 0.432 | -0.002 |
| predicted_SO | 1.043 | 0.003 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.209 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.180 | 0.180 |
| 3B | 0.015 | 0.015 |
| BB | 0.340 | 0.340 |
| H | 0.779 | -0.221 |
| HR | 0.147 | 0.147 |
| RBI | 0.582 | -0.418 |
| SO | 1.194 | 0.194 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.180 |
| 3B | 0.000 | -0.015 |
| AB | 4.000 | 0.000 |
| AVG | 0.204 | - |
| BB | 0.000 | -0.340 |
| H | 1.000 | 0.221 |
| HR | 0.000 | -0.147 |
| OBP | 0.275 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.418 |
| SLG | 0.375 | - |
| SO | 1.000 | -0.194 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.143 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 4.000 | 0.212 |
| predicted_AVG | 0.204 | -0.042 |
| predicted_BB | 0.000 | -0.296 |
| predicted_H | 1.000 | 0.068 |
| predicted_HR | 0.000 | -0.143 |
| predicted_OBP | 0.275 | -0.026 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 1.000 | 0.371 |
| predicted_SLG | 0.375 | -0.057 |
| predicted_SO | 1.000 | -0.043 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | 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 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 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 | 2.000 | 1.000 | 5.000 | 3.000 | 3.000 | 7.000 | 0.3158 | 0.4091 | 0.6842 | 0.3158 | 0.0526 | 0.2632 | 0.1579 | 0.3684 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 2.000 | 1.000 | 6.000 | 4.000 | 7.000 | 10.000 | 0.2432 | 0.3636 | 0.4595 | 0.2432 | 0.0270 | 0.1622 | 0.1892 | 0.2703 |
| season | 0.60 | 161 | - | 611.000 | 147.000 | 26.000 | 3.000 | 23.000 | 97.000 | 70.000 | 36.000 | 163.000 | 0.2406 | 0.3004 | 0.4059 | 0.2406 | 0.0376 | 0.1588 | 0.0589 | 0.2668 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.1270 |
| predicted_AB | 3.7780 |
| predicted_AVG | 0.2558 |
| predicted_BB | 0.3900 |
| predicted_H | 0.9660 |
| predicted_HBP | 0.0650 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.3335 |
| predicted_R | 0.4620 |
| predicted_RBI | 0.6730 |
| predicted_SLG | 0.4695 |
| predicted_SO | 1.0770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.1190 | 0.1426 | model_form_blend |
| predicted_3B | 0.0190 | 0.1270 | 0.0662 | model_form_blend |
| predicted_AB | 3.7950 | 3.7780 | 3.7876 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2558 | 0.2475 | model_form_blend |
| predicted_BB | 0.2240 | 0.3900 | 0.2966 | model_form_blend |
| predicted_H | 0.9130 | 0.9660 | 0.9362 | model_form_blend |
| predicted_HBP | - | 0.0650 | 0.0650 | form_only |
| predicted_HR | 0.1430 | 0.1450 | 0.1439 | model_form_blend |
| predicted_OBP | 0.2830 | 0.3335 | 0.3051 | model_form_blend |
| predicted_R | 0.4350 | 0.4620 | 0.4468 | model_form_blend |
| predicted_RBI | 0.6020 | 0.6730 | 0.6331 | model_form_blend |
| predicted_SLG | 0.4060 | 0.4695 | 0.4338 | model_form_blend |
| predicted_SO | 1.0120 | 1.0770 | 1.0404 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 174 |
| Season rows before report date | 174 |
| Report year | 2026 |
| Profile rows used | 161 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| 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 | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.307 |
| sl_xwoba | 0.329 |
| sl_xba | 0.257 |
| sl_xslg | 0.444 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 53.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.185 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.000 | 1.000 | 1.000 | Hitting_3B | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_AB | 3.168 | 3.000 | 3.000 | Hitting_AB | 3.486 | 2.000 | -0.486 | 1.000 |
| predicted_AVG | 0.250 | 0.667 | 0.667 | Hitting_AVG | 0.236 | 0.000 | 0.431 | 0.667 |
| predicted_BB | 0.328 | 1.000 | 1.000 | Hitting_BB | 0.329 | 3.000 | 0.671 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 2.000 | 2.000 | Hitting_H | 0.821 | 0.000 | 1.179 | 2.000 |
| predicted_HR | 0.090 | 1.000 | 1.000 | Hitting_HR | 0.136 | 0.000 | 0.864 | 1.000 |
| predicted_OBP | 0.315 | 0.750 | 0.750 | Hitting_OBP | 0.295 | 0.600 | 0.455 | 0.150 |
| predicted_R | 0.303 | 2.000 | 2.000 | Hitting_R | 0.350 | 1.000 | 1.650 | 1.000 |
| predicted_RBI | 0.510 | 2.000 | 2.000 | Hitting_RBI | 0.700 | 0.000 | 1.300 | 2.000 |
| predicted_SLG | 0.383 | 2.333 | 2.333 | Hitting_SLG | 0.406 | 0.000 | 1.928 | 2.333 |
| predicted_SO | 0.824 | 1.000 | 1.000 | Hitting_SO | 0.800 | 0.000 | 0.200 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_R: 0.3030 -> 2.0000 (boost 1.6970, better) |
| Biggest Deboost | predicted_2B: 0.1850 -> 0.0000 (deboost -0.1850, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 0.8240 -> 0.7624 (deboost -0.0616, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2411 -> 0.2219 (deboost -0.0192, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5516 -> 1.0000 (boost 0.4484, better) | predicted_BB: 0.3719 -> 0.0000 (deboost -0.3719, worse) | AB rounded to 3 (raw=3.17), rates preserved: AVG=0.188 HR/AB=0.027 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2801 -> 0.0000 (deboost -0.2801, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.4055 (boost 0.4055, better) | predicted_RBI: 1.0000 -> 0.5543 (deboost -0.4457, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 3 | 6 | 4 | 5 | predicted_RBI: 0.5543 -> 1.0000 (boost 0.4457, better) | predicted_BB: 0.4055 -> 0.0000 (deboost -0.4055, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 6 | 6 | 0 | 6 | 0 | predicted_R: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2080 -> 0.2260 (boost 0.0180, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0,
"predicted_AB": 3.168,
"predicted_AVG": 0.25,
"predicted_BB": 0.328,
"predicted_H": 0.69,
"predicted_HR": 0.09,
"predicted_OBP": 0.315,
"predicted_R": 0.303,
"predicted_RBI": 0.51,
"predicted_SLG": 0.383,
"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
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.0004,
"predicted_AB": 3.159,
"predicted_AVG": 0.2411,
"predicted_BB": 0.3728,
"predicted_H": 0.7038,
"predicted_HBP": 0.031,
"predicted_HR": 0.0866,
"predicted_OBP": 0.3148,
"predicted_R": 0.2819,
"predicted_RBI": 0.5552,
"predicted_SLG": 0.3742,
"predicted_SO": 0.7624
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2411,
"delta": -0.0089,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3742,
"delta": -0.0088,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.7624,
"delta": -0.0616,
"percent_delta": -0.0748,
"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": 0.824,
"after": 0.7624,
"delta": -0.0616,
"percent_delta": -0.0748,
"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": 119
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.0004,
"predicted_AB": 3.159,
"predicted_AVG": 0.2219,
"predicted_BB": 0.3719,
"predicted_H": 0.7008,
"predicted_HBP": 0.031,
"predicted_HR": 0.0858,
"predicted_OBP": 0.3038,
"predicted_R": 0.2801,
"predicted_RBI": 0.5516,
"predicted_SLG": 0.3603,
"predicted_SO": 0.7643
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2411,
"after": 0.2219,
"delta": -0.0192,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3148,
"after": 0.3038,
"delta": -0.011,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3742,
"after": 0.3603,
"delta": -0.0139,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.2411,
"after": 0.2219,
"delta": -0.0192,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.17), rates preserved: AVG=0.188 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"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_AB",
"before": 3.159,
"after": 3.0,
"delta": -0.159,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3719,
"after": 0.0,
"delta": -0.3719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7008,
"after": 1.0,
"delta": 0.2992,
"percent_delta": 0.4269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.5516,
"after": 1.0,
"delta": 0.4484,
"percent_delta": 0.8129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7643,
"after": 1.0,
"delta": 0.2357,
"percent_delta": 0.3084,
"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.5516,
"after": 1.0,
"delta": 0.4484,
"percent_delta": 0.8129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3719,
"after": 0.0,
"delta": -0.3719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.2801,
"after": 0.0,
"delta": -0.2801,
"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_R",
"before": 0.2801,
"after": 0.0,
"delta": -0.2801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0095,
"predicted_BB": 0.4055,
"predicted_H": 0.7167,
"predicted_HR": 0.132,
"predicted_RBI": 0.5543,
"predicted_SO": 1.0906
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.162,
"delta": 0.162,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4055,
"delta": 0.4055,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7167,
"delta": -0.2833,
"percent_delta": -0.2833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.132,
"delta": 0.132,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5543,
"delta": -0.4457,
"percent_delta": -0.4457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0906,
"delta": 0.0906,
"percent_delta": 0.0906,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4055,
"delta": 0.4055,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5543,
"delta": -0.4457,
"percent_delta": -0.4457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.208,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.376,
"predicted_SO": 1.0
},
"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_AVG",
"before": 0.2219,
"after": 0.208,
"delta": -0.0139,
"percent_delta": -0.0626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4055,
"after": 0.0,
"delta": -0.4055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7167,
"after": 1.0,
"delta": 0.2833,
"percent_delta": 0.3953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3038,
"after": 0.297,
"delta": -0.0068,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5543,
"after": 1.0,
"delta": 0.4457,
"percent_delta": 0.8041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3603,
"after": 0.376,
"delta": 0.0157,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0906,
"after": 1.0,
"delta": -0.0906,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5543,
"after": 1.0,
"delta": 0.4457,
"percent_delta": 0.8041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4055,
"after": 0.0,
"delta": -0.4055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player 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.208,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.376,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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": 2.0,
"delta": 2.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
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.226,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.313,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.392,
"predicted_SO": 1.0,
"predicted_TB": 7.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.226,
"delta": 0.018,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.313,
"delta": 0.016,
"percent_delta": 0.0539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.392,
"delta": 0.016,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.226,
"delta": 0.018,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.168,
"after": 3.0,
"delta": -0.168,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.226,
"delta": -0.024,
"percent_delta": -0.096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 1.0,
"delta": 0.672,
"percent_delta": 2.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.303,
"after": 2.0,
"delta": 1.697,
"percent_delta": 5.6007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 2.0,
"delta": 1.49,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.392,
"delta": 0.009,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 1.0,
"delta": 0.176,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.303,
"after": 2.0,
"delta": 1.697,
"percent_delta": 5.6007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"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.185 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.168 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.328 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.303 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.383 | - |
| 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.179 | -0.006 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.159 | -0.009 |
| predicted_AVG | 0.241 | -0.009 |
| predicted_BB | 0.373 | 0.045 |
| predicted_H | 0.704 | 0.014 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.087 | -0.003 |
| predicted_OBP | 0.315 | -0.000 |
| predicted_R | 0.282 | -0.021 |
| predicted_RBI | 0.555 | 0.045 |
| predicted_SLG | 0.374 | -0.009 |
| predicted_SO | 0.762 | -0.062 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.159 | 0.000 |
| predicted_AVG | 0.222 | -0.019 |
| predicted_BB | 0.372 | -0.001 |
| predicted_H | 0.701 | -0.003 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.086 | -0.001 |
| predicted_OBP | 0.304 | -0.011 |
| predicted_R | 0.280 | -0.002 |
| predicted_RBI | 0.552 | -0.004 |
| predicted_SLG | 0.360 | -0.014 |
| predicted_SO | 0.764 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.17), rates preserved: AVG=0.188 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.162 | 0.162 |
| 3B | 0.009 | 0.009 |
| BB | 0.406 | 0.406 |
| H | 0.717 | -0.283 |
| HR | 0.132 | 0.132 |
| RBI | 0.554 | -0.446 |
| SO | 1.091 | 0.091 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.162 |
| 3B | 0.000 | -0.009 |
| AB | 3.000 | 0.000 |
| AVG | 0.208 | - |
| BB | 0.000 | -0.406 |
| H | 1.000 | 0.283 |
| HR | 0.000 | -0.132 |
| OBP | 0.297 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.446 |
| SLG | 0.376 | - |
| SO | 1.000 | -0.091 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.179 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.159 |
| predicted_AVG | 0.208 | -0.014 |
| predicted_BB | 0.000 | -0.372 |
| predicted_H | 1.000 | 0.299 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.297 | -0.007 |
| predicted_R | 0.000 | -0.280 |
| predicted_RBI | 1.000 | 0.448 |
| predicted_SLG | 0.376 | 0.016 |
| predicted_SO | 1.000 | 0.236 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 2.000 | 2.000 |
| RBI | 2.000 | 1.000 |
| SF | 0.000 | 0.000 |
| 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 | 1.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 2.000 | 0.000 |
| RBI | 2.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 | 0.000 | 5.000 | 1.000 | 4.000 | 2.000 | 0.2000 | 0.3333 | 0.2667 | 0.2000 | 0.0000 | 0.3333 | 0.2667 | 0.1333 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 4.000 | 5.000 | 0.2000 | 0.2973 | 0.2333 | 0.2000 | 0.0000 | 0.1667 | 0.1333 | 0.1667 |
| season | 0.60 | 119 | - | 377.000 | 93.000 | 22.000 | 0.000 | 16.000 | 63.000 | 36.000 | 39.000 | 98.000 | 0.2467 | 0.3153 | 0.4324 | 0.2467 | 0.0424 | 0.1671 | 0.1035 | 0.2600 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1710 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1470 |
| predicted_AVG | 0.2293 |
| predicted_BB | 0.4320 |
| predicted_H | 0.7220 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.3146 |
| predicted_R | 0.2540 |
| predicted_RBI | 0.6150 |
| predicted_SLG | 0.3626 |
| predicted_SO | 0.6810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1850 | 0.1710 | 0.1790 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1680 | 3.1470 | 3.1590 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2293 | 0.2411 | model_form_blend |
| predicted_BB | 0.3280 | 0.4320 | 0.3728 | model_form_blend |
| predicted_H | 0.6900 | 0.7220 | 0.7038 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.0900 | 0.0820 | 0.0866 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3146 | 0.3148 | model_form_blend |
| predicted_R | 0.3030 | 0.2540 | 0.2819 | model_form_blend |
| predicted_RBI | 0.5100 | 0.6150 | 0.5552 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3626 | 0.3742 | model_form_blend |
| predicted_SO | 0.8240 | 0.6810 | 0.7624 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 140 |
| Season rows before report date | 140 |
| Report year | 2026 |
| Profile rows used | 119 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 1 |
| HR | 1 |
| R | 2 |
| RBI | 2 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 3 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 663993 |
| playerID | 663993 |
| playerName | Nathaniel Lowe |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.329 |
| sl_xwoba | 0.335 |
| sl_xba | 0.268 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 41.4 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 22.0 |
| 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.218 | 0.000 | 0.000 | Hitting_2B | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 4.290 | 3.000 | 3.000 | Hitting_AB | 3.842 | 4.000 | -0.842 | -1.000 |
| predicted_AVG | 0.168 | 0.333 | 0.333 | Hitting_AVG | 0.260 | 0.000 | 0.074 | 0.333 |
| predicted_BB | 0.118 | 1.000 | 1.000 | Hitting_BB | 0.133 | 0.000 | 0.867 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.997 | 0.000 | 0.003 | 1.000 |
| predicted_HR | 0.110 | 1.000 | 1.000 | Hitting_HR | 0.170 | 0.000 | 0.830 | 1.000 |
| predicted_OBP | 0.213 | 0.500 | 0.500 | Hitting_OBP | 0.298 | 0.000 | 0.202 | 0.500 |
| predicted_R | 0.445 | 1.000 | 1.000 | Hitting_R | 0.496 | 0.000 | 0.504 | 1.000 |
| predicted_RBI | 0.450 | 2.000 | 2.000 | Hitting_RBI | 0.604 | 0.000 | 1.396 | 2.000 |
| predicted_SLG | 0.346 | 1.333 | 1.333 | Hitting_SLG | 0.462 | 0.000 | 0.871 | 1.333 |
| predicted_SO | 0.891 | 0.000 | 0.000 | Hitting_SO | 0.922 | 3.000 | -0.922 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.4500 -> 2.0000 (boost 1.5500, better) |
| Biggest Deboost | predicted_AB: 4.2900 -> 3.0000 (deboost -1.2900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 1 | 3 | predicted_SO: 0.8910 -> 0.9836 (boost 0.0926, worse) | predicted_AB: 4.2900 -> 4.0497 (deboost -0.2403, worse) | Final model input calibrated with local 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.3414 -> 0.3148 (deboost -0.0266, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.7045 -> 1.0000 (boost 0.2955, better) | predicted_RBI: 0.4467 -> 0.0000 (deboost -0.4467, worse) | AB rounded to 4 (raw=4.29), rates preserved: AVG=0.140 HR/AB=0.027 |
| 6 | 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 |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.5570 (boost 0.5570, better) | predicted_H: 1.0000 -> 0.7769 (deboost -0.2231, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 10 | 7 | 3 | 8 | 2 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 0.2439 -> 0.0000 (deboost -0.2439, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Market blend not applied: no props for this hitter |
| 12 | play_by_play_realization | 4 | 2 | 2 | 3 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "682657",
"player_name": "Angel Martínez",
"position": "LF",
"team": "CLE",
"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.018,
"predicted_AB": 4.29,
"predicted_AVG": 0.168,
"predicted_BB": 0.118,
"predicted_H": 0.72,
"predicted_HR": 0.11,
"predicted_OBP": 0.213,
"predicted_R": 0.445,
"predicted_RBI": 0.45,
"predicted_SLG": 0.346,
"predicted_SO": 0.891
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.015,
"predicted_AB": 4.0497,
"predicted_AVG": 0.1754,
"predicted_BB": 0.112,
"predicted_H": 0.7075,
"predicted_HBP": 0.039,
"predicted_HR": 0.1147,
"predicted_OBP": 0.2128,
"predicted_R": 0.3938,
"predicted_RBI": 0.4496,
"predicted_SLG": 0.3414,
"predicted_SO": 0.9836
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.0497,
"delta": -0.2403,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.168,
"after": 0.1754,
"delta": 0.0074,
"percent_delta": 0.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.445,
"after": 0.3938,
"delta": -0.0512,
"percent_delta": -0.1151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.891,
"after": 0.9836,
"delta": 0.0926,
"percent_delta": 0.1039,
"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.891,
"after": 0.9836,
"delta": 0.0926,
"percent_delta": 0.1039,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.29,
"after": 4.0497,
"delta": -0.2403,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 110
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1991,
"predicted_3B": 0.015,
"predicted_AB": 4.0497,
"predicted_AVG": 0.174,
"predicted_BB": 0.1117,
"predicted_H": 0.7045,
"predicted_HBP": 0.039,
"predicted_HR": 0.1137,
"predicted_OBP": 0.1961,
"predicted_R": 0.3913,
"predicted_RBI": 0.4467,
"predicted_SLG": 0.3148,
"predicted_SO": 0.9861
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2128,
"after": 0.1961,
"delta": -0.0167,
"percent_delta": -0.0785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3414,
"after": 0.3148,
"delta": -0.0266,
"percent_delta": -0.0779,
"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_SLG",
"before": 0.3414,
"after": 0.3148,
"delta": -0.0266,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.29), rates preserved: AVG=0.140 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.1991,
"after": 0.0,
"delta": -0.1991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1117,
"after": 0.0,
"delta": -0.1117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7045,
"after": 1.0,
"delta": 0.2955,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1137,
"after": 0.0,
"delta": -0.1137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4467,
"after": 0.0,
"delta": -0.4467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7045,
"after": 1.0,
"delta": 0.2955,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4467,
"after": 0.0,
"delta": -0.4467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.3913,
"after": 0.0,
"delta": -0.3913,
"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_R",
"before": 0.3913,
"after": 0.0,
"delta": -0.3913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1986,
"predicted_3B": 0.0147,
"predicted_BB": 0.2439,
"predicted_H": 0.7769,
"predicted_HR": 0.1625,
"predicted_RBI": 0.557,
"predicted_SO": 1.1057
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1986,
"delta": 0.1986,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2439,
"delta": 0.2439,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7769,
"delta": -0.2231,
"percent_delta": -0.2231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1625,
"delta": 0.1625,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.557,
"delta": 0.557,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1057,
"delta": 0.1057,
"percent_delta": 0.1057,
"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_RBI",
"before": 0.0,
"after": 0.557,
"delta": 0.557,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7769,
"delta": -0.2231,
"percent_delta": -0.2231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.265,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.404,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1986,
"after": 0.0,
"delta": -0.1986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.174,
"after": 0.21,
"delta": 0.036,
"percent_delta": 0.2069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2439,
"after": 0.0,
"delta": -0.2439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7769,
"after": 1.0,
"delta": 0.2231,
"percent_delta": 0.2872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1625,
"after": 1.0,
"delta": 0.8375,
"percent_delta": 5.1538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.1961,
"after": 0.265,
"delta": 0.0689,
"percent_delta": 0.3514,
"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.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3148,
"after": 0.404,
"delta": 0.0892,
"percent_delta": 0.2834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1057,
"after": 1.0,
"delta": -0.1057,
"percent_delta": -0.0956,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"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": 0.2439,
"after": 0.0,
"delta": -0.2439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.265,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.404,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Market blend not applied: no props for this hitter",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"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_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.21,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.265,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.404,
"predicted_SO": 0.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 4.29,
"after": 3.0,
"delta": -1.29,
"percent_delta": -0.3007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.168,
"after": 0.21,
"delta": 0.042,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.118,
"after": 1.0,
"delta": 0.882,
"percent_delta": 7.4746,
"direction": "boost",
"projection_effect": "better",
"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.11,
"after": 1.0,
"delta": 0.89,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.213,
"after": 0.265,
"delta": 0.052,
"percent_delta": 0.2441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.445,
"after": 1.0,
"delta": 0.555,
"percent_delta": 1.2472,
"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.346,
"after": 0.404,
"delta": 0.058,
"percent_delta": 0.1676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.891,
"after": 0.0,
"delta": -0.891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.29,
"after": 3.0,
"delta": -1.29,
"percent_delta": -0.3007,
"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.218 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.168 | - |
| predicted_BB | 0.118 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.213 | - |
| predicted_R | 0.445 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.346 | - |
| predicted_SO | 0.891 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 4.050 | -0.240 |
| predicted_AVG | 0.175 | 0.007 |
| predicted_BB | 0.112 | -0.006 |
| predicted_H | 0.708 | -0.012 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.115 | 0.005 |
| predicted_OBP | 0.213 | -0.000 |
| predicted_R | 0.394 | -0.051 |
| predicted_RBI | 0.450 | -0.000 |
| predicted_SLG | 0.341 | -0.005 |
| predicted_SO | 0.984 | 0.093 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.199 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 4.050 | 0.000 |
| predicted_AVG | 0.174 | -0.001 |
| predicted_BB | 0.112 | -0.000 |
| predicted_H | 0.705 | -0.003 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.114 | -0.001 |
| predicted_OBP | 0.196 | -0.017 |
| predicted_R | 0.391 | -0.003 |
| predicted_RBI | 0.447 | -0.003 |
| predicted_SLG | 0.315 | -0.027 |
| predicted_SO | 0.986 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.29), rates preserved: AVG=0.140 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.199 | 0.199 |
| 3B | 0.015 | 0.015 |
| BB | 0.244 | 0.244 |
| H | 0.777 | -0.223 |
| HR | 0.163 | 0.163 |
| RBI | 0.557 | 0.557 |
| SO | 1.106 | 0.106 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.199 |
| 3B | 0.000 | -0.015 |
| AB | 4.000 | 0.000 |
| AVG | 0.210 | - |
| BB | 0.000 | -0.244 |
| H | 1.000 | 0.223 |
| HR | 1.000 | 0.838 |
| OBP | 0.265 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.443 |
| SLG | 0.404 | - |
| SO | 1.000 | -0.106 |
Player 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.015 |
| predicted_AB | 4.000 | -0.050 |
| predicted_AVG | 0.210 | 0.036 |
| predicted_BB | 0.000 | -0.112 |
| predicted_H | 1.000 | 0.295 |
| predicted_HR | 1.000 | 0.886 |
| predicted_OBP | 0.265 | 0.069 |
| predicted_R | 1.000 | 0.609 |
| predicted_RBI | 1.000 | 0.553 |
| predicted_SLG | 0.404 | 0.089 |
| predicted_SO | 1.000 | 0.014 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Market blend not applied: no props for this hitter
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.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 | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 2.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 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 9.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.4500 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 2.000 | 0.000 | 1.000 | 5.000 | 2.000 | 1.000 | 12.000 | 0.1622 | 0.1842 | 0.2973 | 0.1622 | 0.0270 | 0.1351 | 0.0270 | 0.3243 |
| season | 0.60 | 110 | - | 401.000 | 99.000 | 24.000 | 2.000 | 18.000 | 62.000 | 49.000 | 13.000 | 98.000 | 0.2469 | 0.2820 | 0.4514 | 0.2469 | 0.0449 | 0.1546 | 0.0324 | 0.2444 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1740 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.7320 |
| predicted_AVG | 0.1851 |
| predicted_BB | 0.1040 |
| predicted_H | 0.6910 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.2126 |
| predicted_R | 0.3260 |
| predicted_RBI | 0.4490 |
| predicted_SLG | 0.3354 |
| predicted_SO | 1.1060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2180 | 0.1740 | 0.1991 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0150 | model_form_blend |
| predicted_AB | 4.2900 | 3.7320 | 4.0497 | model_form_blend |
| predicted_AVG | 0.1680 | 0.1851 | 0.1754 | model_form_blend |
| predicted_BB | 0.1180 | 0.1040 | 0.1120 | model_form_blend |
| predicted_H | 0.7200 | 0.6910 | 0.7075 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1100 | 0.1210 | 0.1147 | model_form_blend |
| predicted_OBP | 0.2130 | 0.2126 | 0.2128 | model_form_blend |
| predicted_R | 0.4450 | 0.3260 | 0.3938 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4490 | 0.4496 | model_form_blend |
| predicted_SLG | 0.3460 | 0.3354 | 0.3414 | model_form_blend |
| predicted_SO | 0.8910 | 1.1060 | 0.9836 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 399 |
| Season rows before report date | 399 |
| Report year | 2026 |
| Profile rows used | 110 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 682657 |
| playerID | 682657 |
| playerName | Angel Martínez |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 3.1 |
| sl_woba | 0.326 |
| sl_xwoba | 0.299 |
| sl_xba | 0.251 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 35.5 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 20.7 |
| 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.177 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.621 | 4.000 | 4.000 | Hitting_AB | 3.705 | 2.000 | 0.295 | 2.000 |
| predicted_AVG | 0.210 | 0.000 | 0.000 | Hitting_AVG | 0.249 | 0.000 | -0.249 | 0.000 |
| predicted_BB | 0.460 | 0.000 | 0.000 | Hitting_BB | 0.506 | 2.000 | -0.506 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.740 | 0.000 | 0.000 | Hitting_H | 0.923 | 0.000 | -0.923 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.321 | 0.000 | 0.000 | Hitting_OBP | 0.344 | 0.500 | -0.344 | -0.500 |
| predicted_R | 0.452 | 0.000 | 0.000 | Hitting_R | 0.470 | 2.000 | -0.470 | -2.000 |
| predicted_RBI | 0.290 | 1.000 | 1.000 | Hitting_RBI | 0.520 | 0.000 | 0.480 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_SLG | 0.381 | 0.000 | 0.000 | Hitting_SLG | 0.404 | 0.000 | -0.404 | 0.000 |
| predicted_SO | 0.863 | 1.000 | 1.000 | Hitting_SO | 0.898 | 0.000 | 0.102 | 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_RBI: 0.2900 -> 1.0000 (boost 0.7100, better) |
| Biggest Deboost | predicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2100 -> 0.2172 (boost 0.0072, 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.3880 -> 0.3566 (deboost -0.0314, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_BB: 0.4614 -> 1.0000 (boost 0.5386, better) | predicted_AB: 3.5889 -> 3.0000 (deboost -0.5889, worse) | AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 HR/AB=0.021 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4841 -> 0.0000 (deboost -0.4841, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 0.0000 -> 0.4356 (boost 0.4356, better) | predicted_BB: 1.0000 -> 0.4670 (deboost -0.5330, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 7 | 3 | 4 | 3 | 4 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 0.4356 -> 0.0000 (deboost -0.4356, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 5 | 2 | 3 | 2 | 3 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2030 -> 0.2160 (boost 0.0130, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "683953",
"player_name": "Travis Bazzana",
"position": "2B",
"team": "CLE",
"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.016,
"predicted_AB": 3.621,
"predicted_AVG": 0.21,
"predicted_BB": 0.46,
"predicted_H": 0.74,
"predicted_HR": 0.08,
"predicted_OBP": 0.321,
"predicted_R": 0.452,
"predicted_RBI": 0.29,
"predicted_SLG": 0.381,
"predicted_SO": 0.863
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2069,
"predicted_3B": 0.039,
"predicted_AB": 3.5889,
"predicted_AVG": 0.2172,
"predicted_BB": 0.4626,
"predicted_H": 0.7678,
"predicted_HBP": 0.033,
"predicted_HR": 0.0774,
"predicted_OBP": 0.3205,
"predicted_R": 0.4872,
"predicted_RBI": 0.2818,
"predicted_SLG": 0.388,
"predicted_SO": 0.8608
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.2172,
"delta": 0.0072,
"percent_delta": 0.0343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.388,
"delta": 0.007,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.2172,
"delta": 0.0072,
"percent_delta": 0.0343,
"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": 124
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2069,
"predicted_3B": 0.039,
"predicted_AB": 3.5889,
"predicted_AVG": 0.213,
"predicted_BB": 0.4614,
"predicted_H": 0.7646,
"predicted_HBP": 0.033,
"predicted_HR": 0.0767,
"predicted_OBP": 0.3027,
"predicted_R": 0.4841,
"predicted_RBI": 0.28,
"predicted_SLG": 0.3566,
"predicted_SO": 0.863
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3205,
"after": 0.3027,
"delta": -0.0178,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3566,
"delta": -0.0314,
"percent_delta": -0.0809,
"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_SLG",
"before": 0.388,
"after": 0.3566,
"delta": -0.0314,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2069,
"after": 0.0,
"delta": -0.2069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5889,
"after": 3.0,
"delta": -0.5889,
"percent_delta": -0.1641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4614,
"after": 1.0,
"delta": 0.5386,
"percent_delta": 1.1673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7646,
"after": 1.0,
"delta": 0.2354,
"percent_delta": 0.3079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0767,
"after": 0.0,
"delta": -0.0767,
"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_SO",
"before": 0.863,
"after": 1.0,
"delta": 0.137,
"percent_delta": 0.1587,
"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.4614,
"after": 1.0,
"delta": 0.5386,
"percent_delta": 1.1673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5889,
"after": 3.0,
"delta": -0.5889,
"percent_delta": -0.1641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.4841,
"after": 0.0,
"delta": -0.4841,
"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_R",
"before": 0.4841,
"after": 0.0,
"delta": -0.4841,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1506,
"predicted_3B": 0.014,
"predicted_BB": 0.467,
"predicted_H": 0.69,
"predicted_HR": 0.1101,
"predicted_RBI": 0.4356,
"predicted_SO": 0.9771
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1506,
"delta": 0.1506,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.467,
"delta": -0.533,
"percent_delta": -0.533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.69,
"delta": -0.31,
"percent_delta": -0.31,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1101,
"delta": 0.1101,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4356,
"delta": 0.4356,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4356,
"delta": 0.4356,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.467,
"delta": -0.533,
"percent_delta": -0.533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.203,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.352,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1506,
"after": 0.0,
"delta": -0.1506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.203,
"delta": -0.01,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.467,
"after": 1.0,
"delta": 0.533,
"percent_delta": 1.1413,
"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.1101,
"after": 0.0,
"delta": -0.1101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4356,
"after": 0.0,
"delta": -0.4356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4356,
"after": 0.0,
"delta": -0.4356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.203,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.352,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.216,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.309,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.363,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.216,
"delta": 0.013,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.309,
"delta": 0.005,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.363,
"delta": 0.011,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.216,
"delta": 0.013,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
}
],
"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_AB",
"before": 3.621,
"after": 4.0,
"delta": 0.379,
"percent_delta": 0.1047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.216,
"delta": 0.006,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.309,
"delta": -0.012,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.363,
"delta": -0.018,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 1.0,
"delta": 0.137,
"percent_delta": 0.1587,
"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_RBI",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.621 | - |
| predicted_AVG | 0.210 | - |
| predicted_BB | 0.460 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.452 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.381 | - |
| predicted_SO | 0.863 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.207 | 0.030 |
| predicted_3B | 0.039 | 0.023 |
| predicted_AB | 3.589 | -0.032 |
| predicted_AVG | 0.217 | 0.007 |
| predicted_BB | 0.463 | 0.003 |
| predicted_H | 0.768 | 0.028 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.077 | -0.003 |
| predicted_OBP | 0.321 | -0.001 |
| predicted_R | 0.487 | 0.035 |
| predicted_RBI | 0.282 | -0.008 |
| predicted_SLG | 0.388 | 0.007 |
| predicted_SO | 0.861 | -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.207 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 3.589 | 0.000 |
| predicted_AVG | 0.213 | -0.004 |
| predicted_BB | 0.461 | -0.001 |
| predicted_H | 0.765 | -0.003 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.077 | -0.001 |
| predicted_OBP | 0.303 | -0.018 |
| predicted_R | 0.484 | -0.003 |
| predicted_RBI | 0.280 | -0.002 |
| predicted_SLG | 0.357 | -0.031 |
| predicted_SO | 0.863 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.151 | 0.151 |
| 3B | 0.014 | 0.014 |
| BB | 0.467 | -0.533 |
| H | 0.690 | -0.310 |
| HR | 0.110 | 0.110 |
| RBI | 0.436 | 0.436 |
| SO | 0.977 | -0.023 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.151 |
| 3B | 0.000 | -0.014 |
| AB | 3.000 | 0.000 |
| AVG | 0.203 | - |
| BB | 1.000 | 0.533 |
| H | 1.000 | 0.310 |
| HR | 0.000 | -0.110 |
| OBP | 0.304 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -0.436 |
| SLG | 0.352 | - |
| SO | 1.000 | 0.023 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.207 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 3.000 | -0.589 |
| predicted_AVG | 0.203 | -0.010 |
| predicted_BB | 1.000 | 0.539 |
| predicted_H | 1.000 | 0.235 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.304 | 0.001 |
| predicted_R | 1.000 | 0.516 |
| predicted_RBI | 0.000 | -0.280 |
| predicted_SLG | 0.352 | -0.005 |
| predicted_SO | 1.000 | 0.137 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | -1.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 1.000 | 1.000 |
| SF | 0.000 | 0.000 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 2.000 | 1.000 | 0.000 | 0.000 | 4.000 | 3.000 | 3.000 | 0.2353 | 0.3500 | 0.4706 | 0.2353 | 0.0000 | 0.0000 | 0.1765 | 0.1765 |
| last_10 | 0.20 | 10 | - | 34.000 | 6.000 | 3.000 | 1.000 | 0.000 | 0.000 | 5.000 | 4.000 | 11.000 | 0.1765 | 0.2632 | 0.3235 | 0.1765 | 0.0000 | 0.0000 | 0.1177 | 0.3235 |
| season | 0.60 | 124 | - | 449.000 | 107.000 | 22.000 | 2.000 | 15.000 | 55.000 | 56.000 | 57.000 | 107.000 | 0.2383 | 0.3301 | 0.3964 | 0.2383 | 0.0334 | 0.1225 | 0.1270 | 0.2383 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2460 |
| predicted_3B | 0.0690 |
| predicted_AB | 3.5470 |
| predicted_AVG | 0.2266 |
| predicted_BB | 0.4660 |
| predicted_H | 0.8040 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.3199 |
| predicted_R | 0.5330 |
| predicted_RBI | 0.2710 |
| predicted_SLG | 0.3972 |
| predicted_SO | 0.8580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1770 | 0.2460 | 0.2069 | model_form_blend |
| predicted_3B | 0.0160 | 0.0690 | 0.0390 | model_form_blend |
| predicted_AB | 3.6210 | 3.5470 | 3.5889 | model_form_blend |
| predicted_AVG | 0.2100 | 0.2266 | 0.2172 | model_form_blend |
| predicted_BB | 0.4600 | 0.4660 | 0.4626 | model_form_blend |
| predicted_H | 0.7400 | 0.8040 | 0.7678 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.0800 | 0.0740 | 0.0774 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3199 | 0.3205 | model_form_blend |
| predicted_R | 0.4520 | 0.5330 | 0.4872 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2710 | 0.2818 | model_form_blend |
| predicted_SLG | 0.3810 | 0.3972 | 0.3880 | model_form_blend |
| predicted_SO | 0.8630 | 0.8580 | 0.8608 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 492 |
| Season rows before report date | 492 |
| Report year | 2026 |
| Profile rows used | 124 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 683953 |
| playerID | 683953 |
| playerName | Travis Bazzana |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.328 |
| sl_xwoba | 0.299 |
| sl_xba | 0.224 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 23.2 |
| 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.133 | 0.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.880 | 3.000 | 3.000 | Hitting_AB | 2.947 | 1.000 | 0.053 | 2.000 |
| predicted_AVG | 0.215 | 0.000 | 0.000 | Hitting_AVG | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_BB | 0.347 | 1.000 | 1.000 | Hitting_BB | 0.362 | 1.000 | 0.638 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.480 | 0.000 | 0.000 | Hitting_H | 0.780 | 0.000 | -0.780 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.321 | 0.250 | 0.250 | Hitting_OBP | 0.345 | 0.500 | -0.095 | -0.250 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_SLG | 0.360 | 0.000 | 0.000 | Hitting_SLG | 0.408 | 0.000 | -0.408 | 0.000 |
| predicted_SO | 0.613 | 1.000 | 1.000 | Hitting_SO | 0.606 | 1.000 | 0.394 | 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_BB: 0.3470 -> 1.0000 (boost 0.6530, better) |
| Biggest Deboost | predicted_H: 0.4800 -> 0.0000 (deboost -0.4800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_BB: 0.3470 -> 0.4114 (boost 0.0644, 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.3766 -> 0.3320 (deboost -0.0446, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_BB: 0.4104 -> 1.0000 (boost 0.5896, better) | predicted_H: 0.5421 -> 0.0000 (deboost -0.5421, worse) | AB rounded to 3 (raw=2.89), rates preserved: AVG=0.160 HR/AB=0.030 |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3737 -> 0.0000 (deboost -0.3737, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_RBI: 0.0000 -> 0.3652 (boost 0.3652, better) | predicted_BB: 1.0000 -> 0.4607 (deboost -0.5393, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 4 | 5 | 3 | 6 | predicted_SO: 0.7668 -> 1.0000 (boost 0.2332, worse) | predicted_H: 0.6206 -> 0.0000 (deboost -0.6206, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Market blend not applied: no props for this hitter |
| 12 | play_by_play_realization | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "595978",
"player_name": "Austin Hedges",
"position": "C",
"team": "CLE",
"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": 2.88,
"predicted_AVG": 0.215,
"predicted_BB": 0.347,
"predicted_H": 0.48,
"predicted_HR": 0.07,
"predicted_OBP": 0.321,
"predicted_R": 0.333,
"predicted_RBI": 0.3,
"predicted_SLG": 0.36,
"predicted_SO": 0.613
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1543,
"predicted_3B": 0.0004,
"predicted_AB": 2.8879,
"predicted_AVG": 0.2165,
"predicted_BB": 0.4114,
"predicted_H": 0.5444,
"predicted_HBP": 0.01,
"predicted_HR": 0.088,
"predicted_OBP": 0.3263,
"predicted_R": 0.3761,
"predicted_RBI": 0.3155,
"predicted_SLG": 0.3766,
"predicted_SO": 0.6385
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.347,
"after": 0.4114,
"delta": 0.0644,
"percent_delta": 0.1856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.48,
"after": 0.5444,
"delta": 0.0644,
"percent_delta": 0.1342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3263,
"delta": 0.0053,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3766,
"delta": 0.0166,
"percent_delta": 0.0461,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.347,
"after": 0.4114,
"delta": 0.0644,
"percent_delta": 0.1856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 75
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1543,
"predicted_3B": 0.0004,
"predicted_AB": 2.8879,
"predicted_AVG": 0.1877,
"predicted_BB": 0.4104,
"predicted_H": 0.5421,
"predicted_HBP": 0.01,
"predicted_HR": 0.0872,
"predicted_OBP": 0.2888,
"predicted_R": 0.3737,
"predicted_RBI": 0.3135,
"predicted_SLG": 0.332,
"predicted_SO": 0.6401
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2165,
"after": 0.1877,
"delta": -0.0288,
"percent_delta": -0.133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3263,
"after": 0.2888,
"delta": -0.0375,
"percent_delta": -0.1149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3766,
"after": 0.332,
"delta": -0.0446,
"percent_delta": -0.1184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.3766,
"after": 0.332,
"delta": -0.0446,
"percent_delta": -0.1184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.89), rates preserved: AVG=0.160 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1543,
"after": 0.0,
"delta": -0.1543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.8879,
"after": 3.0,
"delta": 0.1121,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4104,
"after": 1.0,
"delta": 0.5896,
"percent_delta": 1.4366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5421,
"after": 0.0,
"delta": -0.5421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0872,
"after": 0.0,
"delta": -0.0872,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3135,
"after": 0.0,
"delta": -0.3135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6401,
"after": 1.0,
"delta": 0.3599,
"percent_delta": 0.5623,
"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.4104,
"after": 1.0,
"delta": 0.5896,
"percent_delta": 1.4366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5421,
"after": 0.0,
"delta": -0.5421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3737,
"after": 0.0,
"delta": -0.3737,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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.3737,
"after": 0.0,
"delta": -0.3737,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1474,
"predicted_3B": 0.0088,
"predicted_BB": 0.4607,
"predicted_H": 0.6206,
"predicted_HR": 0.0973,
"predicted_RBI": 0.3652,
"predicted_SO": 0.7668
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1474,
"delta": 0.1474,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.4607,
"delta": -0.5393,
"percent_delta": -0.5393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6206,
"delta": -0.3794,
"percent_delta": -0.3794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0973,
"delta": 0.0973,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3652,
"delta": 0.3652,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7668,
"delta": -0.2332,
"percent_delta": -0.2332,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3652,
"delta": 0.3652,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.4607,
"delta": -0.5393,
"percent_delta": -0.5393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.203,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.313,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.353,
"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_AVG",
"before": 0.1877,
"after": 0.203,
"delta": 0.0153,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4607,
"after": 0.0,
"delta": -0.4607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6206,
"after": 0.0,
"delta": -0.6206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0973,
"after": 0.0,
"delta": -0.0973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2888,
"after": 0.313,
"delta": 0.0242,
"percent_delta": 0.0838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3652,
"after": 0.0,
"delta": -0.3652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.353,
"delta": 0.021,
"percent_delta": 0.0633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7668,
"after": 1.0,
"delta": 0.2332,
"percent_delta": 0.3041,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7668,
"after": 1.0,
"delta": 0.2332,
"percent_delta": 0.3041,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6206,
"after": 0.0,
"delta": -0.6206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.203,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.313,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.353,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Market blend not applied: no props for this hitter",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"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
}
},
{
"index": 13,
"step": "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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.203,
"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.313,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.353,
"predicted_SO": 1.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 2.88,
"after": 3.0,
"delta": 0.12,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.203,
"delta": -0.012,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.347,
"after": 1.0,
"delta": 0.653,
"percent_delta": 1.8818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.313,
"delta": -0.008,
"percent_delta": -0.0249,
"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.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.353,
"delta": -0.007,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.613,
"after": 1.0,
"delta": 0.387,
"percent_delta": 0.6313,
"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.347,
"after": 1.0,
"delta": 0.653,
"percent_delta": 1.8818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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 | 2.880 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.347 | - |
| predicted_H | 0.480 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.360 | - |
| predicted_SO | 0.613 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.888 | 0.008 |
| predicted_AVG | 0.216 | 0.002 |
| predicted_BB | 0.411 | 0.064 |
| predicted_H | 0.544 | 0.064 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.088 | 0.018 |
| predicted_OBP | 0.326 | 0.005 |
| predicted_R | 0.376 | 0.043 |
| predicted_RBI | 0.316 | 0.016 |
| predicted_SLG | 0.377 | 0.017 |
| predicted_SO | 0.638 | 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.154 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.888 | 0.000 |
| predicted_AVG | 0.188 | -0.029 |
| predicted_BB | 0.410 | -0.001 |
| predicted_H | 0.542 | -0.002 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.087 | -0.001 |
| predicted_OBP | 0.289 | -0.037 |
| predicted_R | 0.374 | -0.002 |
| predicted_RBI | 0.314 | -0.002 |
| predicted_SLG | 0.332 | -0.045 |
| predicted_SO | 0.640 | 0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.89), rates preserved: AVG=0.160 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.147 | 0.147 |
| 3B | 0.009 | 0.009 |
| BB | 0.461 | -0.539 |
| H | 0.621 | -0.379 |
| HR | 0.097 | 0.097 |
| RBI | 0.365 | 0.365 |
| SO | 0.767 | -0.233 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.147 |
| 3B | 0.000 | -0.009 |
| AB | 3.000 | 0.000 |
| AVG | 0.203 | - |
| BB | 0.000 | -0.461 |
| H | 0.000 | -0.621 |
| HR | 0.000 | -0.097 |
| OBP | 0.313 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.365 |
| SLG | 0.353 | - |
| SO | 1.000 | 0.233 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.154 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.112 |
| predicted_AVG | 0.203 | 0.015 |
| predicted_BB | 0.000 | -0.410 |
| predicted_H | 0.000 | -0.542 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.313 | 0.024 |
| predicted_R | 0.000 | -0.374 |
| predicted_RBI | 0.000 | -0.314 |
| predicted_SLG | 0.353 | 0.021 |
| predicted_SO | 1.000 | 0.360 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Market blend not applied: no props for this hitter
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| 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 | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 2.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 4.000 | 4.000 | 0.1538 | 0.3529 | 0.4615 | 0.1538 | 0.0769 | 0.1538 | 0.3077 | 0.3077 |
| last_10 | 0.20 | 10 | - | 27.000 | 5.000 | 3.000 | 0.000 | 1.000 | 2.000 | 5.000 | 7.000 | 6.000 | 0.1852 | 0.3529 | 0.4074 | 0.1852 | 0.0370 | 0.0741 | 0.2593 | 0.2222 |
| season | 0.60 | 75 | - | 216.000 | 53.000 | 10.000 | 0.000 | 6.000 | 25.000 | 25.000 | 26.000 | 46.000 | 0.2454 | 0.3265 | 0.3750 | 0.2454 | 0.0278 | 0.1157 | 0.1204 | 0.2130 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1840 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8990 |
| predicted_AVG | 0.2186 |
| predicted_BB | 0.5010 |
| predicted_H | 0.6340 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1130 |
| predicted_OBP | 0.3336 |
| predicted_R | 0.4360 |
| predicted_RBI | 0.3370 |
| predicted_SLG | 0.3997 |
| predicted_SO | 0.6740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1840 | 0.1543 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.8800 | 2.8990 | 2.8879 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2186 | 0.2165 | model_form_blend |
| predicted_BB | 0.3470 | 0.5010 | 0.4114 | model_form_blend |
| predicted_H | 0.4800 | 0.6340 | 0.5444 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0700 | 0.1130 | 0.0880 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3336 | 0.3263 | model_form_blend |
| predicted_R | 0.3330 | 0.4360 | 0.3761 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3370 | 0.3155 | model_form_blend |
| predicted_SLG | 0.3600 | 0.3997 | 0.3766 | model_form_blend |
| predicted_SO | 0.6130 | 0.6740 | 0.6385 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 246 |
| Season rows before report date | 246 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 595978 |
| playerID | 595978 |
| playerName | Austin Hedges |
| pos | C |
| started | True |
| startingPosition | C |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.313 |
| sl_xwoba | 0.28 |
| sl_xba | 0.224 |
| sl_xslg | 0.314 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 32.4 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 44.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.164 | 0.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.640 | 3.000 | 3.000 | Hitting_AB | 3.602 | 4.000 | -0.602 | -1.000 |
| predicted_AVG | 0.259 | 0.000 | 0.000 | Hitting_AVG | 0.250 | 0.500 | -0.250 | -0.500 |
| predicted_BB | 0.243 | 1.000 | 1.000 | Hitting_BB | 0.256 | 0.000 | 0.744 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.940 | 0.000 | 0.000 | Hitting_H | 0.902 | 2.000 | -0.902 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_OBP | 0.338 | 0.250 | 0.250 | Hitting_OBP | 0.312 | 0.500 | -0.062 | -0.250 |
| predicted_R | 0.421 | 0.000 | 0.000 | Hitting_R | 0.436 | 0.000 | -0.436 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 0.000 | Hitting_RBI | 0.443 | 1.000 | -0.443 | -1.000 |
| predicted_SLG | 0.445 | 0.000 | 0.000 | Hitting_SLG | 0.371 | 0.500 | -0.371 | -0.500 |
| predicted_SO | 0.559 | 2.000 | 2.000 | Hitting_SO | 0.580 | 0.000 | 1.420 | 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.5590 -> 2.0000 (boost 1.4410, worse) |
| Biggest Deboost | predicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4450 -> 0.4665 (boost 0.0215, better) | predicted_AB: 3.6400 -> 3.5672 (deboost -0.0728, worse) | Final model input calibrated with local 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.4665 -> 0.4431 (deboost -0.0234, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.5394 -> 1.0000 (boost 0.4606, worse) | predicted_AB: 3.5672 -> 3.0000 (deboost -0.5672, worse) | AB rounded to 3 (raw=3.64), rates preserved: AVG=0.224 HR/AB=0.039 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4668 -> 0.0000 (deboost -0.4668, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4141 (boost 0.4141, better) | predicted_SO: 1.0000 -> 0.6334 (deboost -0.3666, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 1 | 8 | 0 | 9 | predicted_SO: 0.6334 -> 1.0000 (boost 0.3666, worse) | predicted_H: 0.6725 -> 0.0000 (deboost -0.6725, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 2 | 2 | 0 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2880 -> 0.3120 (boost 0.0240, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"team": "CLE",
"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.013,
"predicted_AB": 3.64,
"predicted_AVG": 0.259,
"predicted_BB": 0.243,
"predicted_H": 0.94,
"predicted_HR": 0.12,
"predicted_OBP": 0.338,
"predicted_R": 0.421,
"predicted_RBI": 0.53,
"predicted_SLG": 0.445,
"predicted_SO": 0.559
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1788,
"predicted_3B": 0.0108,
"predicted_AB": 3.5672,
"predicted_AVG": 0.2702,
"predicted_BB": 0.2617,
"predicted_H": 0.9613,
"predicted_HBP": 0.043,
"predicted_HR": 0.1422,
"predicted_OBP": 0.3411,
"predicted_R": 0.4698,
"predicted_RBI": 0.5461,
"predicted_SLG": 0.4665,
"predicted_SO": 0.5381
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.64,
"after": 3.5672,
"delta": -0.0728,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2702,
"delta": 0.0112,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4665,
"delta": 0.0215,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4665,
"delta": 0.0215,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.64,
"after": 3.5672,
"delta": -0.0728,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 152
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1788,
"predicted_3B": 0.0108,
"predicted_AB": 3.5672,
"predicted_AVG": 0.2684,
"predicted_BB": 0.261,
"predicted_H": 0.9573,
"predicted_HBP": 0.043,
"predicted_HR": 0.141,
"predicted_OBP": 0.3182,
"predicted_R": 0.4668,
"predicted_RBI": 0.5426,
"predicted_SLG": 0.4431,
"predicted_SO": 0.5394
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3411,
"after": 0.3182,
"delta": -0.0229,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4665,
"after": 0.4431,
"delta": -0.0234,
"percent_delta": -0.0502,
"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_SLG",
"before": 0.4665,
"after": 0.4431,
"delta": -0.0234,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.64), rates preserved: AVG=0.224 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.1788,
"after": 0.0,
"delta": -0.1788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5672,
"after": 3.0,
"delta": -0.5672,
"percent_delta": -0.159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.261,
"after": 0.0,
"delta": -0.261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5426,
"after": 0.0,
"delta": -0.5426,
"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": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"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_AB",
"before": 3.5672,
"after": 3.0,
"delta": -0.5672,
"percent_delta": -0.159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.4668,
"after": 0.0,
"delta": -0.4668,
"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_R",
"before": 0.4668,
"after": 0.0,
"delta": -0.4668,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1578,
"predicted_3B": 0.0114,
"predicted_BB": 0.329,
"predicted_H": 0.6725,
"predicted_HR": 0.0922,
"predicted_RBI": 0.4141,
"predicted_SO": 0.6334
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1578,
"delta": 0.1578,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.329,
"delta": 0.329,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6725,
"delta": -0.3275,
"percent_delta": -0.3275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0922,
"delta": 0.0922,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4141,
"delta": 0.4141,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6334,
"delta": -0.3666,
"percent_delta": -0.3666,
"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_RBI",
"before": 0.0,
"after": 0.4141,
"delta": 0.4141,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.6334,
"delta": -0.3666,
"percent_delta": -0.3666,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.209,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.288,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.351,
"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_AVG",
"before": 0.2684,
"after": 0.209,
"delta": -0.0594,
"percent_delta": -0.2213,
"direction": "deboost",
"projection_effect": "worse",
"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.6725,
"after": 0.0,
"delta": -0.6725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0922,
"after": 0.0,
"delta": -0.0922,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3182,
"after": 0.288,
"delta": -0.0302,
"percent_delta": -0.0949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4141,
"after": 0.0,
"delta": -0.4141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4431,
"after": 0.351,
"delta": -0.0921,
"percent_delta": -0.2079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6334,
"after": 1.0,
"delta": 0.3666,
"percent_delta": 0.5788,
"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.6334,
"after": 1.0,
"delta": 0.3666,
"percent_delta": 0.5788,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6725,
"after": 0.0,
"delta": -0.6725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player 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.209,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.288,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.351,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 13,
"step": "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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.231,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.312,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.375,
"predicted_SO": 2.0,
"predicted_SS": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.231,
"delta": 0.022,
"percent_delta": 0.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.312,
"delta": 0.024,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.375,
"delta": 0.024,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.312,
"delta": 0.024,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
}
],
"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_AB",
"before": 3.64,
"after": 3.0,
"delta": -0.64,
"percent_delta": -0.1758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.231,
"delta": -0.028,
"percent_delta": -0.1081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.243,
"after": 1.0,
"delta": 0.757,
"percent_delta": 3.1152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.312,
"delta": -0.026,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.375,
"delta": -0.07,
"percent_delta": -0.1573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.559,
"after": 2.0,
"delta": 1.441,
"percent_delta": 2.5778,
"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.559,
"after": 2.0,
"delta": 1.441,
"percent_delta": 2.5778,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.640 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.243 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.421 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.445 | - |
| predicted_SO | 0.559 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.015 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.567 | -0.073 |
| predicted_AVG | 0.270 | 0.011 |
| predicted_BB | 0.262 | 0.019 |
| predicted_H | 0.961 | 0.021 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.142 | 0.022 |
| predicted_OBP | 0.341 | 0.003 |
| predicted_R | 0.470 | 0.049 |
| predicted_RBI | 0.546 | 0.016 |
| predicted_SLG | 0.467 | 0.022 |
| predicted_SO | 0.538 | -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.179 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.567 | 0.000 |
| predicted_AVG | 0.268 | -0.002 |
| predicted_BB | 0.261 | -0.001 |
| predicted_H | 0.957 | -0.004 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.141 | -0.001 |
| predicted_OBP | 0.318 | -0.023 |
| predicted_R | 0.467 | -0.003 |
| predicted_RBI | 0.543 | -0.004 |
| predicted_SLG | 0.443 | -0.023 |
| predicted_SO | 0.539 | 0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.64), rates preserved: AVG=0.224 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 | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.158 | 0.158 |
| 3B | 0.011 | 0.011 |
| BB | 0.329 | 0.329 |
| H | 0.672 | -0.328 |
| HR | 0.092 | 0.092 |
| RBI | 0.414 | 0.414 |
| SO | 0.633 | -0.367 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.158 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.209 | - |
| BB | 0.000 | -0.329 |
| H | 0.000 | -0.672 |
| HR | 0.000 | -0.092 |
| OBP | 0.288 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.414 |
| SLG | 0.351 | - |
| SO | 1.000 | 0.367 |
Player 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.011 |
| predicted_AB | 3.000 | -0.567 |
| predicted_AVG | 0.209 | -0.059 |
| predicted_BB | 0.000 | -0.261 |
| predicted_H | 0.000 | -0.957 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.288 | -0.030 |
| predicted_R | 0.000 | -0.467 |
| predicted_RBI | 0.000 | -0.543 |
| predicted_SLG | 0.351 | -0.092 |
| predicted_SO | 1.000 | 0.461 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.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 | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.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 | 4.000 | 4.000 | 2.000 | 2.000 | 0.3529 | 0.4211 | 0.7647 | 0.3529 | 0.1177 | 0.2353 | 0.1177 | 0.1177 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 3.000 | 0.000 | 2.000 | 7.000 | 6.000 | 3.000 | 4.000 | 0.3235 | 0.3784 | 0.5882 | 0.3235 | 0.0588 | 0.2059 | 0.0882 | 0.1177 |
| season | 0.60 | 152 | - | 531.000 | 134.000 | 25.000 | 2.000 | 13.000 | 68.000 | 64.000 | 37.000 | 85.000 | 0.2524 | 0.3122 | 0.3804 | 0.2524 | 0.0245 | 0.1281 | 0.0697 | 0.1601 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1980 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4730 |
| predicted_AVG | 0.2848 |
| predicted_BB | 0.2860 |
| predicted_H | 0.9890 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.1710 |
| predicted_OBP | 0.3452 |
| predicted_R | 0.5330 |
| predicted_RBI | 0.5670 |
| predicted_SLG | 0.4943 |
| predicted_SO | 0.5110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.1980 | 0.1788 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0108 | model_form_blend |
| predicted_AB | 3.6400 | 3.4730 | 3.5672 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2848 | 0.2702 | model_form_blend |
| predicted_BB | 0.2430 | 0.2860 | 0.2617 | model_form_blend |
| predicted_H | 0.9400 | 0.9890 | 0.9613 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.1200 | 0.1710 | 0.1422 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3452 | 0.3411 | model_form_blend |
| predicted_R | 0.4210 | 0.5330 | 0.4698 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5670 | 0.5461 | model_form_blend |
| predicted_SLG | 0.4450 | 0.4943 | 0.4665 | model_form_blend |
| predicted_SO | 0.5590 | 0.5110 | 0.5381 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 571 |
| Season rows before report date | 571 |
| Report year | 2026 |
| Profile rows used | 152 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 |
| 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 | 1 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 677587 |
| playerID | 677587 |
| playerName | Brayan Rocchio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.311 |
| sl_xwoba | 0.294 |
| sl_xba | 0.246 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 30.0 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.545 | 2.000 | 1.455 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.667 | 2.000 | 1.333 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.636 | 4.000 | 0.364 | 1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.573 | 4.100 | -0.573 | 0.900 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 6.030 | 6.000 | -2.030 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 6 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_ER: 1.0000 -> 3.0000 (boost 2.0000, worse) |
| Biggest Deboost | predicted_IP: 6.0000 -> 5.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | 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. |
| 8 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score |
| 9 | play_by_play_realization | 6 | 4 | 2 | 0 | 6 | predicted_ER: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_SO: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 10 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "800048",
"player_name": "Parker Messick",
"position": "Starter",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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": 4.0,
"predicted_HR": 0.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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"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
}
},
{
"index": 8,
"step": "market_blend",
"description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 9,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 4.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 6,
"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": {
"metric": "predicted_SO",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 6,
"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": {
"metric": "predicted_IP",
"before": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 5.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 6.000 | 1.000 |
Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 3.000 | - |
| BF | 24.000 | - |
| ER | 3.000 | - |
| H | 5.000 | - |
| HR | 1.000 | - |
| IP | 5.000 | - |
| Pitches | 97.000 | - |
| R | 4.000 | - |
| 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 | 23.200 | 8.000 | 25.000 | 6.000 | 26.000 | 2.000 | 3.0423 | 1.3099 | 0.3380 | 1.0563 | 0.2535 | 1.0986 | 0.0845 |
| last_10 | 0.35 | 10 | 54.000 | 16.000 | 49.000 | 13.000 | 63.000 | 5.000 | 2.6667 | 1.1481 | 0.2963 | 0.9074 | 0.2407 | 1.1667 | 0.0926 |
| season | 0.20 | 33 | 190.200 | 55.000 | 153.000 | 51.000 | 199.000 | 18.000 | 2.5962 | 1.0699 | 0.2885 | 0.8024 | 0.2675 | 1.0437 | 0.0944 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4030 |
| predicted_ER | 1.7730 |
| predicted_ERA | 3.0585 |
| predicted_H | 4.9970 |
| predicted_HR | 0.5060 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.6780 |
| predicted_WHIP | 1.2263 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.4030 | 1.6451 | model_form_blend |
| predicted_ER | 1.0000 | 1.7730 | 1.4595 | model_form_blend |
| predicted_ERA | - | 3.0585 | 3.0585 | form_only |
| predicted_H | 4.0000 | 4.9970 | 4.5926 | model_form_blend |
| predicted_HR | 0.0000 | 0.5060 | 0.3008 | model_form_blend |
| predicted_IP | 6.0000 | 5.1000 | 5.2000 | model_form_blend |
| predicted_SO | 5.0000 | 5.6780 | 5.4030 | model_form_blend |
| predicted_WHIP | - | 1.2263 | 1.2263 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.0 |
| H | 5 |
| R | 4 |
| ER | 3 |
| BB | 3 |
| SO | 4 |
| HR | 1 |
| BF | 24 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 18 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.15 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 3 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.1 |
| Pitching_Pitches | 87 |
| Pitching_R | 2 |
| Pitching_SO | 6 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 800048 |
| playerID | 800048 |
| playerName | Parker Messick |
| pos | P |
| started | True |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-03 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.274 |
| sl_xwoba | 0.275 |
| sl_sweet_spot_percent | 30.7 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 34.3 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 48.6 |
| sl_avg_best_speed | 76.354216626 |
| sl_avg_hyper_speed | 93.483966904 |
| 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 | 0.000 | -0.406 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.667 | 0.000 | 0.333 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.661 | 1.000 | 0.339 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.841 | 3.000 | 0.159 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| 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_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "682120",
"player_name": "Tim Herrin",
"position": "Middle Reliever (High Leverage)",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"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_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
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"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"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 4.000 | - |
| ER | 0.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| Pitches | 14.000 | - |
| R | 0.000 | - |
| SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 1.000 | 5.000 | 0.000 | 7.000 | 0.000 | 2.0769 | 1.1538 | 0.2308 | 1.1539 | 0.0000 | 1.6154 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 2.000 | 9.000 | 3.000 | 13.000 | 0.000 | 2.0000 | 1.3333 | 0.2222 | 1.0000 | 0.3333 | 1.4444 | 0.0000 |
| season | 0.20 | 69 | 58.200 | 19.000 | 46.000 | 28.000 | 58.000 | 5.000 | 2.9148 | 1.2614 | 0.3239 | 0.7841 | 0.4773 | 0.9886 | 0.0852 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2610 |
| predicted_ER | 0.3240 |
| predicted_ERA | 2.9201 |
| predicted_H | 1.0140 |
| predicted_HR | 0.0550 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2850 |
| predicted_WHIP | 1.2752 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2610 | 0.1374 | model_form_blend |
| predicted_ER | 0.0000 | 0.3240 | 0.1706 | model_form_blend |
| predicted_ERA | - | 2.9201 | 2.9201 | form_only |
| predicted_H | 1.0000 | 1.0140 | 1.0074 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0290 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2850 | 1.6235 | model_form_blend |
| predicted_WHIP | - | 1.2752 | 1.2752 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 69 |
| Season rows before report date | 69 |
| Report year | 2026 |
| Profile rows used | 69 |
| 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 | 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 | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 682120 |
| playerID | 682120 |
| playerName | Tim Herrin |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.308 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 75.510758684 |
| sl_avg_hyper_speed | 93.778213026 |
| 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.532 | 1.000 | -0.532 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.274 | 2.000 | -0.274 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.452 | 1.000 | 0.548 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.640 | 0.200 | 0.360 | 0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.258 | 0.000 | 0.742 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 4 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_ER: 3.0000 -> 0.0000 (deboost -3.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 4 | 0 | 4 | 4 | 0 | - | predicted_ER: 3.0000 -> 0.0000 (deboost -3.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "681870",
"player_name": "Erik Sabrowski",
"position": "Setup Man",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 2.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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 0.0,
"delta": -3.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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 0.0,
"delta": -3.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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"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"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 4.000 | - |
| ER | 0.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| Pitches | 16.000 | - |
| R | 0.000 | - |
| SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 3.000 | 3.000 | 4.000 | 8.000 | 0.000 | 5.0625 | 1.3125 | 0.5625 | 0.5625 | 0.7500 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 3.000 | 7.000 | 12.000 | 0.000 | 3.8571 | 1.0714 | 0.4286 | 0.3214 | 0.7500 | 1.2857 | 0.0000 |
| season | 0.20 | 60 | 50.200 | 16.000 | 26.000 | 29.000 | 78.000 | 3.000 | 2.8421 | 1.0855 | 0.3158 | 0.5132 | 0.5724 | 1.5395 | 0.0592 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6060 |
| predicted_ER | 0.4820 |
| predicted_ERA | 4.3341 |
| predicted_H | 0.6350 |
| predicted_HR | 0.0560 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2720 |
| predicted_WHIP | 1.2417 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.6060 | 0.7977 | model_form_blend |
| predicted_ER | 3.0000 | 0.4820 | 1.7074 | model_form_blend |
| predicted_ERA | - | 4.3341 | 4.3341 | form_only |
| predicted_H | 2.0000 | 0.6350 | 1.2993 | model_form_blend |
| predicted_HR | 2.0000 | 0.0560 | 1.0020 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2720 | 1.6263 | model_form_blend |
| predicted_WHIP | - | 1.2417 | 1.2417 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 62 |
| Season rows before report date | 62 |
| Report year | 2026 |
| Profile rows used | 60 |
| 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 | 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 | 2 |
| Pitching_ERA | 11.57 |
| 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 | 0.2 |
| Pitching_Pitches | 11 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261005_CHW@CLE |
| game_type | full |
| mlbID | 681870 |
| playerID | 681870 |
| playerName | Erik Sabrowski |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-05 |
| sl_k_percent | 37.4 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.258 |
| sl_xwoba | 0.251 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 34.0 |
| sl_whiff_percent | 30.8 |
| sl_swing_percent | 46.1 |
| sl_avg_best_speed | 79.988533696 |
| sl_avg_hyper_speed | 93.73779337 |
| 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.319 | 0.000 | 0.681 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.667 | 0.000 | 0.333 | 1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 1.015 | 2.000 | 0.985 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.569 | 5.000 | 1.431 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 4 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 1 |
| Better Metrics | 3 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better) |
| Biggest Deboost | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 4 | 3 | 1 | 3 | 1 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "671922",
"player_name": "Cade Smith",
"position": "Closer",
"team": "CLE",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.0,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 1.000 | - |
| BF | 8.000 | - |
| ER | 0.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 2.000 | - |
| Pitches | 34.000 | - |
| R | 0.000 | - |
| 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.200 | 0.000 | 0.000 | 0.000 | 9.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 1.5882 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 0.000 | 1.000 | 1.000 | 18.000 | 0.000 | 0.0000 | 0.1667 | 0.0000 | 0.0833 | 0.0833 | 1.5000 | 0.0000 |
| season | 0.20 | 72 | 78.000 | 16.000 | 48.000 | 23.000 | 113.000 | 5.000 | 1.8462 | 0.9103 | 0.2051 | 0.6154 | 0.2949 | 1.4487 | 0.0641 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1710 |
| predicted_ER | 0.1670 |
| predicted_ERA | 1.3767 |
| predicted_H | 0.3810 |
| predicted_HR | 0.0490 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.5120 |
| predicted_WHIP | 0.5068 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1710 | 0.0940 | model_form_blend |
| predicted_ER | 0.0000 | 0.1670 | 0.0918 | model_form_blend |
| predicted_ERA | - | 1.3767 | 1.3767 | form_only |
| predicted_H | 2.0000 | 0.3810 | 1.1097 | model_form_blend |
| predicted_HR | 0.0000 | 0.0490 | 0.0269 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.5120 | 1.2816 | model_form_blend |
| predicted_WHIP | - | 0.5068 | 0.5068 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 72 |
| Season rows before report date | 72 |
| Report year | 2026 |
| Profile rows used | 72 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 3 |
| HR | 0 |
| BF | 8 |
| Pitches | 34 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 0.00 |
| 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 | 2.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 0 |
| Pitching_SO | 5 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 671922 |
| playerID | 671922 |
| playerName | Cade Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-10-07 |
| sl_k_percent | 36.3 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.241 |
| sl_xwoba | 0.261 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 42.8 |
| sl_whiff_percent | 34.5 |
| sl_swing_percent | 49.6 |
| sl_avg_best_speed | 82.0535845 |
| sl_avg_hyper_speed | 94.653655813 |
| Field | Value |
|---|---|
| Pitcher | Hagen Smith |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4816 |
| ESPN Rank | - |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 2.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 1.0485 |
| Season WHIP | 0.9903 |
| Role Avg IP | 2.5560 |
| Recent Avg IP | 2.5560 |
| Last Start IP | 2.2000 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0675,
"opponent_offense_edge": -0.0673,
"defense_strength": 0.0096,
"opponent_defense_weakness": -0.0898,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9886,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "696146",
"profile": {
"available": true,
"pitcher_id": "696146",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 90.0,
"k_percent": 37.3,
"bb_percent": 14.5,
"woba": 0.211,
"xwoba": 0.243,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 1.9,
"hard_hit_percent": 34.0,
"avg_best_speed": 75.8598,
"avg_hyper_speed": 93.4182,
"whiff_percent": 36.2,
"swing_percent": 42.4
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.4885,
"command_and_miss": 1.2621,
"regression_edge": -0.9143,
"xwoba_edge": 1.9714,
"barrel_edge": 1.1778,
"hard_hit_edge": 0.5571,
"whiff_edge": 1.5714,
"bb_edge": -1.325,
"pitch_design_score": 0.0
},
"quality_score": 0.4816,
"sample_weight": 0.45,
"run_prevention_factor": 0.9591,
"strikeout_factor": 1.0674,
"walk_factor": 1.0477,
"homer_factor": 0.921,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "696146",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9816,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9816,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0215,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9645,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0303,
"adjusted": 4
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 16.1,
"ER": 4,
"H": 7,
"BB": 11,
"SO": 21,
"HR": 0,
"ERA": 2.204081632653061,
"WHIP": 1.1020408163265305,
"K9": 11.57142857142857,
"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-10-07T00:00:00"
}{
"available": false,
"pitcher_id": "696146",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.09,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5864,
"prior_weight": 0.4136
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "696146",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 9.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 6.0,
"SO": 9.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 161.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 1.2,
"SO": 1.8,
"HR": 0.0,
"BF": 7.6,
"Pitches": 32.2
},
"rates": {
"ERA": 2.0,
"WHIP": 1.2222,
"ER_per_IP": 0.22222,
"H_per_IP": 0.55556,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 16.1,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 11.0,
"SO": 21.0,
"HR": 0.0,
"BF": 67.0,
"Pitches": 276.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4,
"R": 0.4,
"H": 0.7,
"BB": 1.1,
"SO": 2.1,
"HR": 0.0,
"BF": 6.7,
"Pitches": 27.6
},
"rates": {
"ERA": 2.2041,
"WHIP": 1.102,
"ER_per_IP": 0.2449,
"H_per_IP": 0.42857,
"BB_per_IP": 0.67347,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"season": {
"games": 20,
"totals": {
"IP": 34.1,
"ER": 4.0,
"R": 4.0,
"H": 13.0,
"BB": 21.0,
"SO": 47.0,
"HR": 0.0,
"BF": 136.0,
"Pitches": 575.0
},
"per_game": {
"IP": 1.2,
"ER": 0.2,
"R": 0.2,
"H": 0.65,
"BB": 1.05,
"SO": 2.35,
"HR": 0.0,
"BF": 6.8,
"Pitches": 28.75
},
"rates": {
"ERA": 1.0485,
"WHIP": 0.9903,
"ER_per_IP": 0.1165,
"H_per_IP": 0.37864,
"BB_per_IP": 0.61165,
"SO_per_IP": 1.36893,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.0,
"predicted_ER": 1.02,
"predicted_H": 2.09,
"predicted_BB": 1.654,
"predicted_SO": 3.273,
"predicted_HR": 0.186,
"predicted_ERA": 3.0147,
"predicted_WHIP": 1.2294
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5247,
"form_weight": 0.4753,
"form_reliability": 0.5864,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.09,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5864,
"prior_weight": 0.4136
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 3.0,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.02,
"final": 1.5343,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 2.09,
"final": 2.5675,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.654,
"final": 1.3108,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.273,
"final": 3.1297,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.186,
"final": 0.0884,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0147,
"final": 3.0147,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2294,
"final": 1.2294,
"source": "form_only"
}
}
}{
"available": false,
"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 | Jordan Hicks |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4937 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 94.9903 |
| Avg Spin | 2069.2367 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.8250 |
| Season WHIP | 1.5000 |
| Role Avg IP | 0.9510 |
| Recent Avg IP | 1.2000 |
| Last Start IP | 0 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0675,
"opponent_offense_edge": -0.0673,
"defense_strength": 0.0096,
"opponent_defense_weakness": -0.0898,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9886,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663855",
"profile": {
"available": true,
"pitcher_id": "663855",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 164.0,
"k_percent": 29.6,
"bb_percent": 15.3,
"woba": 0.309,
"xwoba": 0.262,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 33.1,
"avg_best_speed": 78.2319,
"avg_hyper_speed": 93.4981,
"whiff_percent": 28.2,
"swing_percent": 44.3
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9121,
"command_and_miss": 0.3271,
"regression_edge": 1.3429,
"xwoba_edge": 1.4286,
"barrel_edge": 1.2222,
"hard_hit_edge": 0.6857,
"whiff_edge": 0.4286,
"bb_edge": -1.525,
"pitch_design_score": 0.28
},
"quality_score": 0.4937,
"sample_weight": 0.656,
"run_prevention_factor": 0.958,
"strikeout_factor": 1.0394,
"walk_factor": 1.08,
"homer_factor": 0.8898,
"woba_minus_xwoba": 0.047,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "663855",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9724,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9724,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0525,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9277,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0258,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 6,
"H": 13,
"BB": 4,
"SO": 14,
"HR": 2,
"ERA": 5.4,
"WHIP": 1.7,
"K9": 12.6,
"HR9": 1.8,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-25T00:00:00"
}{
"available": true,
"pitcher_id": "663855",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 94.99032641703893,
"release_spin_rate": 2069.2367121559296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 94.99032641703893,
"release_spin_rate": 2069.2367121559296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9903,
"release_spin_rate": 2069.2367,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.26,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6229,
"prior_weight": 0.3771
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663855",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 3.0,
"SO": 9.0,
"HR": 1.0,
"BF": 27.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.6,
"SO": 1.8,
"HR": 0.2,
"BF": 5.4,
"Pitches": 20.6
},
"rates": {
"ERA": 6.0,
"WHIP": 1.5,
"ER_per_IP": 0.66667,
"H_per_IP": 1.0,
"BB_per_IP": 0.5,
"SO_per_IP": 1.5,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 6.0,
"H": 13.0,
"BB": 4.0,
"SO": 14.0,
"HR": 2.0,
"BF": 47.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.3,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 4.7,
"Pitches": 18.3
},
"rates": {
"ERA": 5.4,
"WHIP": 1.7,
"ER_per_IP": 0.6,
"H_per_IP": 1.3,
"BB_per_IP": 0.4,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
},
"season": {
"games": 42,
"totals": {
"IP": 40.0,
"ER": 17.0,
"R": 17.0,
"H": 35.0,
"BB": 25.0,
"SO": 49.0,
"HR": 3.0,
"BF": 178.0,
"Pitches": 695.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4048,
"R": 0.4048,
"H": 0.8333,
"BB": 0.5952,
"SO": 1.1667,
"HR": 0.0714,
"BF": 4.2381,
"Pitches": 16.5476
},
"rates": {
"ERA": 3.825,
"WHIP": 1.5,
"ER_per_IP": 0.425,
"H_per_IP": 0.875,
"BB_per_IP": 0.625,
"SO_per_IP": 1.225,
"HR_per_IP": 0.075
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.617,
"predicted_H": 1.142,
"predicted_BB": 0.491,
"predicted_SO": 1.346,
"predicted_HR": 0.17,
"predicted_ERA": 5.0786,
"predicted_WHIP": 1.4927
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5093,
"form_weight": 0.4907,
"form_reliability": 0.6229,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.26,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6229,
"prior_weight": 0.3771
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.617,
"final": 1.3214,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.142,
"final": 1.579,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.491,
"final": 0.2409,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.346,
"final": 1.1698,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.17,
"final": 0.5927,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0786,
"final": 5.0786,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4927,
"final": 1.4927,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Hudson |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4091 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0787 |
| Avg Velo | 88.4591 |
| Avg Spin | 2154.7309 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 2.6173 |
| Season WHIP | 1.1633 |
| Role Avg IP | 0.9600 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0675,
"opponent_offense_edge": -0.0673,
"defense_strength": 0.0096,
"opponent_defense_weakness": -0.0898,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9886,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663542",
"profile": {
"available": true,
"pitcher_id": "663542",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 256.0,
"k_percent": 20.9,
"bb_percent": 6.4,
"woba": 0.304,
"xwoba": 0.277,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 37.0,
"avg_best_speed": 77.039,
"avg_hyper_speed": 93.3019,
"whiff_percent": 23.1,
"swing_percent": 47.9
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6236,
"command_and_miss": -0.0421,
"regression_edge": 0.7714,
"xwoba_edge": 1.0,
"barrel_edge": 0.7111,
"hard_hit_edge": 0.1286,
"whiff_edge": -0.3,
"bb_edge": 0.7,
"pitch_design_score": -0.0787
},
"quality_score": 0.4091,
"sample_weight": 1.0,
"run_prevention_factor": 0.9652,
"strikeout_factor": 0.9811,
"walk_factor": 0.944,
"homer_factor": 0.908,
"woba_minus_xwoba": 0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663542",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9652,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9652,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.944,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.908,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9811,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 2,
"H": 11,
"BB": 0,
"SO": 7,
"HR": 1,
"ERA": 1.741935483870968,
"WHIP": 1.0645161290322582,
"K9": 6.096774193548388,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-18T00:00:00"
}{
"available": true,
"pitcher_id": "663542",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.45909611346684,
"release_spin_rate": 2154.7309004103313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 88.45909611346684,
"release_spin_rate": 2154.7309004103313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4591,
"release_spin_rate": 2154.7309,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0787,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.562,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.491,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7296,
"prior_weight": 0.2704
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663542",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 66,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 0.0,
"SO": 2.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.0,
"SO": 0.4,
"HR": 0.2,
"BF": 3.2,
"Pitches": 11.6
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.3846,
"ER_per_IP": 0.46154,
"H_per_IP": 1.38462,
"BB_per_IP": 0.0,
"SO_per_IP": 0.46154,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 2.0,
"H": 11.0,
"BB": 0.0,
"SO": 7.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 129.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.1,
"BB": 0.0,
"SO": 0.7,
"HR": 0.1,
"BF": 3.8,
"Pitches": 12.9
},
"rates": {
"ERA": 1.7419,
"WHIP": 1.0645,
"ER_per_IP": 0.19355,
"H_per_IP": 1.06452,
"BB_per_IP": 0.0,
"SO_per_IP": 0.67742,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 66,
"totals": {
"IP": 65.1,
"ER": 19.0,
"R": 21.0,
"H": 59.0,
"BB": 17.0,
"SO": 59.0,
"HR": 5.0,
"BF": 266.0,
"Pitches": 1003.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2879,
"R": 0.3182,
"H": 0.8939,
"BB": 0.2576,
"SO": 0.8939,
"HR": 0.0758,
"BF": 4.0303,
"Pitches": 15.197
},
"rates": {
"ERA": 2.6173,
"WHIP": 1.1633,
"ER_per_IP": 0.29082,
"H_per_IP": 0.90306,
"BB_per_IP": 0.2602,
"SO_per_IP": 0.90306,
"HR_per_IP": 0.07653
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.382,
"predicted_H": 1.124,
"predicted_BB": 0.141,
"predicted_SO": 0.709,
"predicted_HR": 0.152,
"predicted_ERA": 3.4403,
"predicted_WHIP": 1.2653
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4642,
"form_weight": 0.5358,
"form_reliability": 0.7296,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.491,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7296,
"prior_weight": 0.2704
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.382,
"final": 0.2047,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.124,
"final": 0.6022,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.141,
"final": 0.0755,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.709,
"final": 0.8441,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.152,
"final": 0.0814,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4403,
"final": 3.4403,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2653,
"final": 1.2653,
"source": "form_only"
}
}
}{
"available": false,
"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 | Anthony Kay |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3447 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0101 |
| Avg Velo | 90.0448 |
| Avg Spin | 2295.8501 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 4.3875 |
| Season WHIP | 1.3750 |
| Role Avg IP | 2.2500 |
| Recent Avg IP | 2.2500 |
| Last Start IP | 0 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0675,
"opponent_offense_edge": -0.0673,
"defense_strength": 0.0096,
"opponent_defense_weakness": -0.0898,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9886,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641743",
"profile": {
"available": true,
"pitcher_id": "641743",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 659.0,
"k_percent": 18.2,
"bb_percent": 7.9,
"woba": 0.339,
"xwoba": 0.342,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 38.9,
"avg_best_speed": 76.4956,
"avg_hyper_speed": 94.2252,
"whiff_percent": 23.4,
"swing_percent": 47.3
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4736,
"command_and_miss": -0.2757,
"regression_edge": -0.0857,
"xwoba_edge": -0.8571,
"barrel_edge": -0.2,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.2571,
"bb_edge": 0.325,
"pitch_design_score": 0.0101
},
"quality_score": -0.3447,
"sample_weight": 1.0,
"run_prevention_factor": 1.0293,
"strikeout_factor": 0.9674,
"walk_factor": 0.974,
"homer_factor": 1.0474,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "641743",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0293,
"adjusted": 1
},
"predicted_H": {
"original": 2.0,
"factor": 1.0293,
"adjusted": 2
},
"predicted_BB": {
"original": 1.0,
"factor": 0.974,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0474,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9674,
"adjusted": 0
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 38.2,
"ER": 24,
"H": 43,
"BB": 14,
"SO": 31,
"HR": 5,
"ERA": 5.586206896551724,
"WHIP": 1.4741379310344829,
"K9": 7.2155172413793105,
"HR9": 1.163793103448276,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "641743",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 66,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 90.04480777448889,
"release_spin_rate": 2295.850070240423,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 90.04480777448889,
"release_spin_rate": 2295.850070240423,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0448,
"release_spin_rate": 2295.8501,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0101,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0723,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 35.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.875,
"prior_weight": 0.125
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "641743",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 15.0,
"ER": 5.0,
"R": 7.0,
"H": 15.0,
"BB": 7.0,
"SO": 11.0,
"HR": 1.0,
"BF": 67.0,
"Pitches": 238.0
},
"per_game": {
"IP": 3.0,
"ER": 1.0,
"R": 1.4,
"H": 3.0,
"BB": 1.4,
"SO": 2.2,
"HR": 0.2,
"BF": 13.4,
"Pitches": 47.6
},
"rates": {
"ERA": 3.0,
"WHIP": 1.4667,
"ER_per_IP": 0.33333,
"H_per_IP": 1.0,
"BB_per_IP": 0.46667,
"SO_per_IP": 0.73333,
"HR_per_IP": 0.06667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 38.2,
"ER": 24.0,
"R": 27.0,
"H": 43.0,
"BB": 14.0,
"SO": 31.0,
"HR": 5.0,
"BF": 178.0,
"Pitches": 669.0
},
"per_game": {
"IP": 4.0,
"ER": 2.4,
"R": 2.7,
"H": 4.3,
"BB": 1.4,
"SO": 3.1,
"HR": 0.5,
"BF": 17.8,
"Pitches": 66.9
},
"rates": {
"ERA": 5.5862,
"WHIP": 1.4741,
"ER_per_IP": 0.62069,
"H_per_IP": 1.11207,
"BB_per_IP": 0.36207,
"SO_per_IP": 0.80172,
"HR_per_IP": 0.12931
}
},
"season": {
"games": 35,
"totals": {
"IP": 160.0,
"ER": 78.0,
"R": 85.0,
"H": 162.0,
"BB": 58.0,
"SO": 129.0,
"HR": 21.0,
"BF": 719.0,
"Pitches": 2821.0
},
"per_game": {
"IP": 4.2,
"ER": 2.2286,
"R": 2.4286,
"H": 4.6286,
"BB": 1.6571,
"SO": 3.6857,
"HR": 0.6,
"BF": 20.5429,
"Pitches": 80.6
},
"rates": {
"ERA": 4.3875,
"WHIP": 1.375,
"ER_per_IP": 0.4875,
"H_per_IP": 1.0125,
"BB_per_IP": 0.3625,
"SO_per_IP": 0.80625,
"HR_per_IP": 0.13125
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.1,
"predicted_ER": 1.596,
"predicted_H": 3.507,
"predicted_BB": 1.375,
"predicted_SO": 2.685,
"predicted_HR": 0.364,
"predicted_ERA": 4.2376,
"predicted_WHIP": 1.4402
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4028,
"form_weight": 0.5972,
"form_reliability": 0.875,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 35.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.875,
"prior_weight": 0.125
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 3.1,
"final": 2.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.596,
"final": 0.9531,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 3.507,
"final": 2.0943,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.375,
"final": 0.8211,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 2.685,
"final": 2.0063,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.364,
"final": 0.2174,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2376,
"final": 4.2376,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4402,
"final": 1.4402,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Grant Taylor |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5158 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1725 |
| Avg Velo | 92.9447 |
| Avg Spin | 2431.2963 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.3964 |
| Season WHIP | 1.0296 |
| Role Avg IP | 1.3870 |
| Recent Avg IP | 1.6000 |
| Last Start IP | 0 |
{
"team": {
"team": "CHW",
"games": 162,
"wins": 84,
"losses": 78,
"win_pct": 0.5185,
"runs_scored": 776.0,
"runs_allowed": 720.0,
"run_differential": 56.0,
"run_differential_per_game": 0.3457,
"avg_runs_scored": 4.7901,
"avg_runs_allowed": 4.4444,
"offense_index": 1.0675,
"defense_index": 1.0096,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.5,
"avg_runs_allowed": 4.3,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "CLE",
"games": 162,
"wins": 85,
"losses": 77,
"win_pct": 0.5247,
"runs_scored": 678.0,
"runs_allowed": 667.0,
"run_differential": 11.0,
"run_differential_per_game": 0.0679,
"avg_runs_scored": 4.1852,
"avg_runs_allowed": 4.1173,
"offense_index": 0.9327,
"defense_index": 1.0898,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 3.2,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1343
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0062,
"offense_edge": 0.0675,
"opponent_offense_edge": -0.0673,
"defense_strength": 0.0096,
"opponent_defense_weakness": -0.0898,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9886,
"strikeout": 1.0052
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "691799",
"profile": {
"available": true,
"pitcher_id": "691799",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 218.0,
"k_percent": 31.5,
"bb_percent": 8.9,
"woba": 0.26,
"xwoba": 0.267,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 41.2,
"avg_best_speed": 79.5796,
"avg_hyper_speed": 94.1935,
"whiff_percent": 29.4,
"swing_percent": 46.5
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.6824,
"command_and_miss": 0.8293,
"regression_edge": -0.2,
"xwoba_edge": 1.2857,
"barrel_edge": -0.0889,
"hard_hit_edge": -0.4714,
"whiff_edge": 0.6,
"bb_edge": 0.075,
"pitch_design_score": 0.1725
},
"quality_score": 0.5158,
"sample_weight": 0.872,
"run_prevention_factor": 0.9562,
"strikeout_factor": 1.0678,
"walk_factor": 0.9948,
"homer_factor": 0.989,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "691799",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9618,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9618,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9904,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0591,
"adjusted": 3
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 15.0,
"ER": 2,
"H": 5,
"BB": 6,
"SO": 16,
"HR": 1,
"ERA": 1.2,
"WHIP": 0.7333333333333333,
"K9": 9.6,
"HR9": 0.6,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-02T00:00:00"
}{
"available": true,
"pitcher_id": "691799",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.9447,
"release_spin_rate": 2431.2963,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1725,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2322,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.633,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6994,
"prior_weight": 0.3006
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "691799",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 8.0,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.2,
"ER": 0.0,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 1.8,
"HR": 0.0,
"BF": 5.4,
"Pitches": 20.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.625,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.125,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 15.0,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 6.0,
"SO": 16.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 209.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.6,
"SO": 1.6,
"HR": 0.1,
"BF": 5.4,
"Pitches": 20.9
},
"rates": {
"ERA": 1.2,
"WHIP": 0.7333,
"ER_per_IP": 0.13333,
"H_per_IP": 0.33333,
"BB_per_IP": 0.4,
"SO_per_IP": 1.06667,
"HR_per_IP": 0.06667
}
},
"season": {
"games": 41,
"totals": {
"IP": 56.1,
"ER": 15.0,
"R": 21.0,
"H": 40.0,
"BB": 18.0,
"SO": 76.0,
"HR": 4.0,
"BF": 225.0,
"Pitches": 905.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3659,
"R": 0.5122,
"H": 0.9756,
"BB": 0.439,
"SO": 1.8537,
"HR": 0.0976,
"BF": 5.4878,
"Pitches": 22.0732
},
"rates": {
"ERA": 2.3964,
"WHIP": 1.0296,
"ER_per_IP": 0.26627,
"H_per_IP": 0.71006,
"BB_per_IP": 0.31953,
"SO_per_IP": 1.34911,
"HR_per_IP": 0.07101
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.278,
"predicted_H": 0.785,
"predicted_BB": 0.367,
"predicted_SO": 1.343,
"predicted_HR": 0.088,
"predicted_ERA": 2.0183,
"predicted_WHIP": 0.9306
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.477,
"form_weight": 0.523,
"form_reliability": 0.6994,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.633,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6994,
"prior_weight": 0.3006
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.1,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.278,
"final": 0.6224,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.785,
"final": 0.8876,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.367,
"final": 0.1919,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.343,
"final": 1.1794,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.088,
"final": 0.046,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0183,
"final": 2.0183,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9306,
"final": 0.9306,
"source": "form_only"
}
}
}{
"available": false,
"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.203 | 0.000 | 0.000 | Hitting_2B | 0.205 | 1.000 | -0.205 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.250 | 4.000 | 4.000 | Hitting_AB | 3.773 | 4.000 | 0.227 | 0.000 |
| predicted_AVG | 0.267 | 0.250 | 0.250 | Hitting_AVG | 0.279 | 0.250 | -0.029 | 0.000 |
| predicted_BB | 0.386 | 1.000 | 1.000 | Hitting_BB | 0.434 | 0.000 | 0.566 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 1.130 | 1.000 | 1.000 | Hitting_H | 1.051 | 1.000 | -0.051 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.363 | 0.400 | 0.400 | Hitting_OBP | 0.356 | 0.250 | 0.044 | 0.150 |
| predicted_R | 0.589 | 1.000 | 1.000 | Hitting_R | 0.626 | 1.000 | 0.374 | 0.000 |
| predicted_RBI | 0.640 | 0.000 | 0.000 | Hitting_RBI | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_SLG | 0.465 | 0.250 | 0.250 | Hitting_SLG | 0.423 | 0.500 | -0.173 | -0.250 |
| predicted_SO | 0.924 | 1.000 | 1.000 | Hitting_SO | 0.939 | 2.000 | 0.061 | -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.3860 -> 1.0000 (boost 0.6140, better) |
| Biggest Deboost | predicted_RBI: 0.6400 -> 0.0000 (deboost -0.6400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2670 -> 0.2919 (boost 0.0249, better) | predicted_AB: 4.2500 -> 4.0205 (deboost -0.2295, worse) | Final model input calibrated with local 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.4866 -> 0.4484 (deboost -0.0382, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.6574 -> 1.0000 (boost 0.3426, better) | predicted_BB: 0.3537 -> 0.0000 (deboost -0.3537, worse) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.260 HR/AB=0.034 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267) |
| 7 | 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 |
| 8 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.0000 -> 0.3898 (boost 0.3898, better) | predicted_RBI: 1.0000 -> 0.4156 (deboost -0.5844, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 3 | 5 | 3 | 5 | predicted_2B: 0.2049 -> 1.0000 (boost 0.7951, better) | predicted_RBI: 0.4156 -> 0.0000 (deboost -0.4156, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 1 | 0 | 1 | 0 | 1 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3230 -> 0.3310 (boost 0.0080, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"team": "CHW",
"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.25,
"predicted_AVG": 0.267,
"predicted_BB": 0.386,
"predicted_H": 1.13,
"predicted_HR": 0.13,
"predicted_OBP": 0.363,
"predicted_R": 0.589,
"predicted_RBI": 0.64,
"predicted_SLG": 0.465,
"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
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2104,
"predicted_3B": 0.0004,
"predicted_AB": 4.0205,
"predicted_AVG": 0.2919,
"predicted_BB": 0.3528,
"predicted_H": 1.1632,
"predicted_HBP": 0.023,
"predicted_HR": 0.1444,
"predicted_OBP": 0.3701,
"predicted_R": 0.6061,
"predicted_RBI": 0.661,
"predicted_SLG": 0.4866,
"predicted_SO": 0.9271
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.25,
"after": 4.0205,
"delta": -0.2295,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2919,
"delta": 0.0249,
"percent_delta": 0.0933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3701,
"delta": 0.0071,
"percent_delta": 0.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4866,
"delta": 0.0216,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2919,
"delta": 0.0249,
"percent_delta": 0.0933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.25,
"after": 4.0205,
"delta": -0.2295,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 158
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2104,
"predicted_3B": 0.0004,
"predicted_AB": 4.0205,
"predicted_AVG": 0.2882,
"predicted_BB": 0.3537,
"predicted_H": 1.1589,
"predicted_HBP": 0.023,
"predicted_HR": 0.1442,
"predicted_OBP": 0.3458,
"predicted_R": 0.6028,
"predicted_RBI": 0.6574,
"predicted_SLG": 0.4484,
"predicted_SO": 0.9248
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3701,
"after": 0.3458,
"delta": -0.0243,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4866,
"after": 0.4484,
"delta": -0.0382,
"percent_delta": -0.0785,
"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_SLG",
"before": 0.4866,
"after": 0.4484,
"delta": -0.0382,
"percent_delta": -0.0785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.25), rates preserved: AVG=0.260 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2104,
"after": 0.0,
"delta": -0.2104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3537,
"after": 0.0,
"delta": -0.3537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1589,
"after": 1.0,
"delta": -0.1589,
"percent_delta": -0.1371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1442,
"after": 0.0,
"delta": -0.1442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6574,
"after": 1.0,
"delta": 0.3426,
"percent_delta": 0.5211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9248,
"after": 1.0,
"delta": 0.0752,
"percent_delta": 0.0813,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6574,
"after": 1.0,
"delta": 0.3426,
"percent_delta": 0.5211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3537,
"after": 0.0,
"delta": -0.3537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)",
"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": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8667,
"bvp": 0.1333
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.6028,
"after": 1.0,
"delta": 0.3972,
"percent_delta": 0.6589,
"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_R",
"before": 0.6028,
"after": 1.0,
"delta": 0.3972,
"percent_delta": 0.6589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.2049,
"predicted_3B": 0.0075,
"predicted_BB": 0.3898,
"predicted_H": 0.9429,
"predicted_HR": 0.1107,
"predicted_RBI": 0.4156,
"predicted_SO": 1.0256
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2049,
"delta": 0.2049,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3898,
"delta": 0.3898,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9429,
"delta": -0.0571,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1107,
"delta": 0.1107,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4156,
"delta": -0.5844,
"percent_delta": -0.5844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3898,
"delta": 0.3898,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4156,
"delta": -0.5844,
"percent_delta": -0.5844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.248,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.323,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.393,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2049,
"after": 1.0,
"delta": 0.7951,
"percent_delta": 3.8804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2882,
"after": 0.248,
"delta": -0.0402,
"percent_delta": -0.1395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3898,
"after": 1.0,
"delta": 0.6102,
"percent_delta": 1.5654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9429,
"after": 1.0,
"delta": 0.0571,
"percent_delta": 0.0606,
"direction": "boost",
"projection_effect": "better",
"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_OBP",
"before": 0.3458,
"after": 0.323,
"delta": -0.0228,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4156,
"after": 0.0,
"delta": -0.4156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4484,
"after": 0.393,
"delta": -0.0554,
"percent_delta": -0.1236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.2049,
"after": 1.0,
"delta": 0.7951,
"percent_delta": 3.8804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4156,
"after": 0.0,
"delta": -0.4156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.248,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.323,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.393,
"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
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"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_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 14,
"step": "simulation_box_score_reference",
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 15,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.254,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.331,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.393,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.254,
"delta": 0.006,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.331,
"delta": 0.008,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.331,
"delta": 0.008,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
}
],
"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_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.267,
"after": 0.254,
"delta": -0.013,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 1.0,
"delta": 0.614,
"percent_delta": 1.5907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0,
"delta": -0.13,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.331,
"delta": -0.032,
"percent_delta": -0.0882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.589,
"after": 1.0,
"delta": 0.411,
"percent_delta": 0.6978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.393,
"delta": -0.072,
"percent_delta": -0.1548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 1.0,
"delta": 0.076,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.386,
"after": 1.0,
"delta": 0.614,
"percent_delta": 1.5907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.386 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.589 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.465 | - |
| 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.210 | 0.007 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.021 | -0.229 |
| predicted_AVG | 0.292 | 0.025 |
| predicted_BB | 0.353 | -0.033 |
| predicted_H | 1.163 | 0.033 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.144 | 0.014 |
| predicted_OBP | 0.370 | 0.007 |
| predicted_R | 0.606 | 0.017 |
| predicted_RBI | 0.661 | 0.021 |
| predicted_SLG | 0.487 | 0.022 |
| predicted_SO | 0.927 | 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.210 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.021 | 0.000 |
| predicted_AVG | 0.288 | -0.004 |
| predicted_BB | 0.354 | 0.001 |
| predicted_H | 1.159 | -0.004 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.144 | -0.000 |
| predicted_OBP | 0.346 | -0.024 |
| predicted_R | 0.603 | -0.003 |
| predicted_RBI | 0.657 | -0.004 |
| predicted_SLG | 0.448 | -0.038 |
| predicted_SO | 0.925 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.25), rates preserved: AVG=0.260 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)
| Metric | Value | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.205 | 0.205 |
| 3B | 0.007 | 0.007 |
| BB | 0.390 | 0.390 |
| H | 0.943 | -0.057 |
| HR | 0.111 | 0.111 |
| RBI | 0.416 | -0.584 |
| SO | 1.026 | 0.026 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.795 |
| 3B | 0.000 | -0.007 |
| AB | 4.000 | 0.000 |
| AVG | 0.248 | - |
| BB | 1.000 | 0.610 |
| H | 1.000 | 0.057 |
| HR | 0.000 | -0.111 |
| OBP | 0.323 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.416 |
| SLG | 0.393 | - |
| SO | 1.000 | -0.026 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.790 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.021 |
| predicted_AVG | 0.248 | -0.040 |
| predicted_BB | 1.000 | 0.646 |
| predicted_H | 1.000 | -0.159 |
| predicted_HR | 0.000 | -0.144 |
| predicted_OBP | 0.323 | -0.023 |
| predicted_R | 1.000 | 0.397 |
| predicted_RBI | 0.000 | -0.657 |
| predicted_SLG | 0.393 | -0.055 |
| predicted_SO | 1.000 | 0.075 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| 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 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 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 | 1.000 | 5.000 | 3.000 | 1.000 | 5.000 | 0.3684 | 0.4000 | 0.5789 | 0.3684 | 0.0526 | 0.2632 | 0.0526 | 0.2632 |
| last_10 | 0.20 | 10 | - | 37.000 | 16.000 | 3.000 | 0.000 | 3.000 | 12.000 | 8.000 | 2.000 | 9.000 | 0.4324 | 0.4615 | 0.7568 | 0.4324 | 0.0811 | 0.3243 | 0.0541 | 0.2432 |
| season | 0.60 | 158 | - | 585.000 | 163.000 | 32.000 | 0.000 | 17.000 | 68.000 | 93.000 | 61.000 | 146.000 | 0.2786 | 0.3506 | 0.4205 | 0.2786 | 0.0291 | 0.1162 | 0.1043 | 0.2496 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7250 |
| predicted_AVG | 0.3239 |
| predicted_BB | 0.3100 |
| predicted_H | 1.2060 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.1630 |
| predicted_OBP | 0.3793 |
| predicted_R | 0.6280 |
| predicted_RBI | 0.6880 |
| predicted_SLG | 0.5145 |
| predicted_SO | 0.9310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.2200 | 0.2104 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2500 | 3.7250 | 4.0205 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3239 | 0.2919 | model_form_blend |
| predicted_BB | 0.3860 | 0.3100 | 0.3528 | model_form_blend |
| predicted_H | 1.1300 | 1.2060 | 1.1632 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.1300 | 0.1630 | 0.1444 | model_form_blend |
| predicted_OBP | 0.3630 | 0.3793 | 0.3701 | model_form_blend |
| predicted_R | 0.5890 | 0.6280 | 0.6061 | model_form_blend |
| predicted_RBI | 0.6400 | 0.6880 | 0.6610 | model_form_blend |
| predicted_SLG | 0.4650 | 0.5145 | 0.4866 | model_form_blend |
| predicted_SO | 0.9240 | 0.9310 | 0.9271 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 625 |
| Season rows before report date | 625 |
| Report year | 2026 |
| Profile rows used | 158 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 805367 |
| playerID | 805367 |
| playerName | Chase Meidroth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-07 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.339 |
| sl_xwoba | 0.301 |
| sl_xba | 0.239 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 34.6 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 42.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.227 | 1.000 | 1.000 | Hitting_2B | 0.277 | 0.000 | 0.723 | 1.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 2.500 | 5.000 | 5.000 | Hitting_AB | 2.792 | 4.000 | 2.208 | 1.000 |
| predicted_AVG | 0.287 | 0.600 | 0.600 | Hitting_AVG | 0.310 | 0.250 | 0.290 | 0.350 |
| predicted_BB | 0.109 | 0.000 | 0.000 | Hitting_BB | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.718 | 3.000 | 3.000 | Hitting_H | 0.866 | 1.000 | 2.134 | 2.000 |
| predicted_HR | 0.136 | 0.000 | 0.000 | Hitting_HR | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_OBP | 0.317 | 0.600 | 0.600 | Hitting_OBP | 0.342 | 0.250 | 0.258 | 0.350 |
| predicted_R | 0.373 | 1.000 | 1.000 | Hitting_R | 0.390 | 0.000 | 0.610 | 1.000 |
| predicted_RBI | 0.418 | 0.000 | 0.000 | Hitting_RBI | 0.528 | 0.000 | -0.528 | 0.000 |
| predicted_SLG | 0.556 | 0.800 | 0.800 | Hitting_SLG | 0.603 | 0.250 | 0.197 | 0.550 |
| predicted_SO | 0.582 | 0.000 | 0.000 | Hitting_SO | 0.602 | 1.000 | -0.602 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.5000 -> 5.0000 (boost 2.5000, better) |
| Biggest Deboost | predicted_SO: 0.5820 -> 0.0000 (deboost -0.5820, 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_AB: 2.5000 -> 2.5600 (boost 0.0600, 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 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 2.5600 -> 4.0000 (boost 1.4400, better) | predicted_2B: 0.2050 -> 0.0000 (deboost -0.2050, worse) | AB rounded to 4 (raw=2.56), rates preserved: AVG=0.275 HR/AB=0.057 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3902 -> 0.0000 (deboost -0.3902, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 4 | 3 | 1 | 3 | 1 | predicted_2B: 0.0000 -> 0.2553 (boost 0.2553, better) | predicted_RBI: 1.0000 -> 0.5360 (deboost -0.4640, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 7 | 2 | 5 | 2 | 5 | predicted_2B: 0.2553 -> 1.0000 (boost 0.7447, better) | predicted_BB: 0.2269 -> 0.0000 (deboost -0.2269, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 5 | 3 | 2 | 4 | 1 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4730 -> 0.4310 (deboost -0.0420, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "545341",
"player_name": "Randal Grichuk",
"position": "LF",
"team": "CHW",
"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.018,
"predicted_AB": 2.5,
"predicted_AVG": 0.287,
"predicted_BB": 0.109,
"predicted_H": 0.718,
"predicted_HR": 0.136,
"predicted_OBP": 0.317,
"predicted_R": 0.373,
"predicted_RBI": 0.418,
"predicted_SLG": 0.556,
"predicted_SO": 0.582
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.015,
"predicted_AB": 2.56,
"predicted_AVG": 0.2889,
"predicted_BB": 0.1263,
"predicted_H": 0.74,
"predicted_HBP": 0.007,
"predicted_HR": 0.1449,
"predicted_OBP": 0.3215,
"predicted_R": 0.3924,
"predicted_RBI": 0.4362,
"predicted_SLG": 0.5512,
"predicted_SO": 0.5824
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.56,
"delta": 0.06,
"percent_delta": 0.024,
"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_AB",
"before": 2.5,
"after": 2.56,
"delta": 0.06,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 116
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.015,
"predicted_AB": 2.56,
"predicted_AVG": 0.288,
"predicted_BB": 0.1266,
"predicted_H": 0.7373,
"predicted_HBP": 0.007,
"predicted_HR": 0.1447,
"predicted_OBP": 0.3215,
"predicted_R": 0.3902,
"predicted_RBI": 0.4338,
"predicted_SLG": 0.5494,
"predicted_SO": 0.5809
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=2.56), rates preserved: AVG=0.275 HR/AB=0.057",
"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.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.56,
"after": 4.0,
"delta": 1.44,
"percent_delta": 0.5625,
"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.7373,
"after": 1.0,
"delta": 0.2627,
"percent_delta": 0.3563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1447,
"after": 0.0,
"delta": -0.1447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4338,
"after": 1.0,
"delta": 0.5662,
"percent_delta": 1.3052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5809,
"after": 1.0,
"delta": 0.4191,
"percent_delta": 0.7215,
"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": 2.56,
"after": 4.0,
"delta": 1.44,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)",
"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": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.3902,
"after": 0.0,
"delta": -0.3902,
"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_R",
"before": 0.3902,
"after": 0.0,
"delta": -0.3902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.2553,
"predicted_3B": 0.0187,
"predicted_BB": 0.2269,
"predicted_H": 0.9623,
"predicted_HR": 0.1671,
"predicted_RBI": 0.536,
"predicted_SO": 0.9572
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.2553,
"delta": 0.2553,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2269,
"delta": 0.2269,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1671,
"delta": 0.1671,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.536,
"delta": -0.464,
"percent_delta": -0.464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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": 0.2553,
"delta": 0.2553,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.536,
"delta": -0.464,
"percent_delta": -0.464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.259,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.473,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2553,
"after": 1.0,
"delta": 0.7447,
"percent_delta": 2.917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.259,
"delta": -0.029,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2269,
"after": 0.0,
"delta": -0.2269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1671,
"after": 0.0,
"delta": -0.1671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3215,
"after": 0.308,
"delta": -0.0135,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.536,
"after": 1.0,
"delta": 0.464,
"percent_delta": 0.8657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5494,
"after": 0.473,
"delta": -0.0764,
"percent_delta": -0.1391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.2553,
"after": 1.0,
"delta": 0.7447,
"percent_delta": 2.917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2269,
"after": 0.0,
"delta": -0.2269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.259,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.473,
"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
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"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_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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_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
}
}
},
{
"index": 14,
"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_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 15,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.227,
"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.277,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.431,
"predicted_SO": 0.0,
"predicted_TB": 4.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.227,
"delta": -0.032,
"percent_delta": -0.1236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.277,
"delta": -0.031,
"percent_delta": -0.1006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.431,
"delta": -0.042,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.473,
"after": 0.431,
"delta": -0.042,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 1.0,
"delta": 0.773,
"percent_delta": 3.4053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.227,
"delta": -0.06,
"percent_delta": -0.2091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.718,
"after": 3.0,
"delta": 2.282,
"percent_delta": 3.1783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.277,
"delta": -0.04,
"percent_delta": -0.1262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 1.0,
"delta": 0.627,
"percent_delta": 1.681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.418,
"after": 0.0,
"delta": -0.418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.556,
"after": 0.431,
"delta": -0.125,
"percent_delta": -0.2248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.582,
"after": 0.0,
"delta": -0.582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.582,
"after": 0.0,
"delta": -0.582,
"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.227 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.287 | - |
| predicted_BB | 0.109 | - |
| predicted_H | 0.718 | - |
| predicted_HR | 0.136 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.373 | - |
| predicted_RBI | 0.418 | - |
| predicted_SLG | 0.556 | - |
| predicted_SO | 0.582 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.022 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 2.560 | 0.060 |
| predicted_AVG | 0.289 | 0.002 |
| predicted_BB | 0.126 | 0.017 |
| predicted_H | 0.740 | 0.022 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.145 | 0.009 |
| predicted_OBP | 0.322 | 0.005 |
| predicted_R | 0.392 | 0.019 |
| predicted_RBI | 0.436 | 0.018 |
| predicted_SLG | 0.551 | -0.005 |
| predicted_SO | 0.582 | 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.205 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 2.560 | 0.000 |
| predicted_AVG | 0.288 | -0.001 |
| predicted_BB | 0.127 | 0.000 |
| predicted_H | 0.737 | -0.003 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.145 | -0.000 |
| predicted_OBP | 0.322 | 0.000 |
| predicted_R | 0.390 | -0.002 |
| predicted_RBI | 0.434 | -0.002 |
| predicted_SLG | 0.549 | -0.002 |
| predicted_SO | 0.581 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=2.56), rates preserved: AVG=0.275 HR/AB=0.057
| 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=12.0, weight=0.114, BvP AVG=0.417)
| Metric | Value | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.255 | 0.255 |
| 3B | 0.019 | 0.019 |
| BB | 0.227 | 0.227 |
| H | 0.962 | -0.038 |
| HR | 0.167 | 0.167 |
| RBI | 0.536 | -0.464 |
| SO | 0.957 | -0.043 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.745 |
| 3B | 0.000 | -0.019 |
| AB | 4.000 | 0.000 |
| AVG | 0.259 | - |
| BB | 0.000 | -0.227 |
| H | 1.000 | 0.038 |
| HR | 0.000 | -0.167 |
| OBP | 0.308 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.464 |
| SLG | 0.473 | - |
| SO | 1.000 | 0.043 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.795 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | 1.440 |
| predicted_AVG | 0.259 | -0.029 |
| predicted_BB | 0.000 | -0.127 |
| predicted_H | 1.000 | 0.263 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.308 | -0.014 |
| predicted_R | 0.000 | -0.390 |
| predicted_RBI | 1.000 | 0.566 |
| predicted_SLG | 0.473 | -0.076 |
| predicted_SO | 1.000 | 0.419 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 3.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 3.000 | 0.3077 | 0.3571 | 0.5385 | 0.3077 | 0.0769 | 0.1538 | 0.0769 | 0.2308 |
| last_10 | 0.20 | 10 | - | 29.000 | 9.000 | 2.000 | 0.000 | 2.000 | 7.000 | 6.000 | 2.000 | 5.000 | 0.3103 | 0.3438 | 0.5862 | 0.3103 | 0.0690 | 0.2414 | 0.0690 | 0.1724 |
| season | 0.60 | 116 | - | 275.000 | 79.000 | 25.000 | 2.000 | 15.000 | 46.000 | 41.000 | 12.000 | 64.000 | 0.2873 | 0.3162 | 0.5564 | 0.2873 | 0.0546 | 0.1673 | 0.0436 | 0.2327 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1750 |
| predicted_3B | 0.0110 |
| predicted_AB | 2.6420 |
| predicted_AVG | 0.2915 |
| predicted_BB | 0.1500 |
| predicted_H | 0.7700 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.3276 |
| predicted_R | 0.4190 |
| predicted_RBI | 0.4610 |
| predicted_SLG | 0.5446 |
| predicted_SO | 0.5830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.1750 | 0.2050 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0150 | model_form_blend |
| predicted_AB | 2.5000 | 2.6420 | 2.5600 | model_form_blend |
| predicted_AVG | 0.2870 | 0.2915 | 0.2889 | model_form_blend |
| predicted_BB | 0.1090 | 0.1500 | 0.1263 | model_form_blend |
| predicted_H | 0.7180 | 0.7700 | 0.7400 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1360 | 0.1570 | 0.1449 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3276 | 0.3215 | model_form_blend |
| predicted_R | 0.3730 | 0.4190 | 0.3924 | model_form_blend |
| predicted_RBI | 0.4180 | 0.4610 | 0.4362 | model_form_blend |
| predicted_SLG | 0.5560 | 0.5446 | 0.5512 | model_form_blend |
| predicted_SO | 0.5820 | 0.5830 | 0.5824 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 231 |
| Season rows before report date | 231 |
| Report year | 2026 |
| Profile rows used | 116 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 545341 |
| playerID | 545341 |
| playerName | Randal Grichuk |
| pos | DH |
| started | True |
| startingPosition | LF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-07 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.37 |
| sl_xwoba | 0.335 |
| sl_xba | 0.278 |
| sl_xslg | 0.478 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 49.8 |
| sl_exit_velocity_avg | 91.3 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 53.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.190 | 0.000 | 0.000 | Hitting_2B | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 4.250 | 4.000 | 4.000 | Hitting_AB | 3.811 | 4.000 | 0.189 | 0.000 |
| predicted_AVG | 0.233 | 0.250 | 0.250 | Hitting_AVG | 0.252 | 0.250 | -0.002 | 0.000 |
| predicted_BB | 0.650 | 1.000 | 1.000 | Hitting_BB | 0.643 | 1.000 | 0.357 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.990 | 1.000 | 1.000 | Hitting_H | 0.962 | 1.000 | 0.038 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_OBP | 0.395 | 0.400 | 0.400 | Hitting_OBP | 0.364 | 0.400 | 0.036 | 0.000 |
| predicted_R | 0.669 | 1.000 | 1.000 | Hitting_R | 0.709 | 0.000 | 0.291 | 1.000 |
| predicted_RBI | 0.510 | 0.000 | 0.000 | Hitting_RBI | 0.586 | 0.000 | -0.586 | 0.000 |
| predicted_SLG | 0.396 | 0.250 | 0.250 | Hitting_SLG | 0.480 | 0.250 | -0.230 | 0.000 |
| predicted_SO | 0.804 | 1.000 | 1.000 | Hitting_SO | 0.814 | 2.000 | 0.186 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.6500 -> 1.0000 (boost 0.3500, better) |
| Biggest Deboost | predicted_RBI: 0.5100 -> 0.0000 (deboost -0.5100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 1 | 4 | predicted_BB: 0.6500 -> 0.7324 (boost 0.0824, better) | predicted_AB: 4.2500 -> 3.9716 (deboost -0.2784, worse) | Final model input calibrated with local 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.3840 -> 0.3492 (deboost -0.0348, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_BB: 0.7342 -> 1.0000 (boost 0.2658, better) | predicted_RBI: 0.4758 -> 0.0000 (deboost -0.4758, worse) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.204 HR/AB=0.031 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143) |
| 7 | 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 |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4950 (boost 0.4950, better) | predicted_BB: 1.0000 -> 0.5654 (deboost -0.4346, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 4 | 5 | 3 | 6 | predicted_BB: 0.5654 -> 1.0000 (boost 0.4346, better) | predicted_RBI: 0.4950 -> 0.0000 (deboost -0.4950, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 0 | 0 | 0 | 0 | 0 | - | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4160 -> 0.4240 (boost 0.0080, better) | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"team": "CHW",
"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.006,
"predicted_AB": 4.25,
"predicted_AVG": 0.233,
"predicted_BB": 0.65,
"predicted_H": 0.99,
"predicted_HR": 0.14,
"predicted_OBP": 0.395,
"predicted_R": 0.669,
"predicted_RBI": 0.51,
"predicted_SLG": 0.396,
"predicted_SO": 0.804
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1562,
"predicted_3B": 0.0051,
"predicted_AB": 3.9716,
"predicted_AVG": 0.2295,
"predicted_BB": 0.7324,
"predicted_H": 0.9124,
"predicted_HBP": 0.025,
"predicted_HR": 0.1308,
"predicted_OBP": 0.384,
"predicted_R": 0.6716,
"predicted_RBI": 0.4784,
"predicted_SLG": 0.3789,
"predicted_SO": 0.8312
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.25,
"after": 3.9716,
"delta": -0.2784,
"percent_delta": -0.0655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.65,
"after": 0.7324,
"delta": 0.0824,
"percent_delta": 0.1268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9124,
"delta": -0.0776,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.395,
"after": 0.384,
"delta": -0.011,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.3789,
"delta": -0.0171,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.65,
"after": 0.7324,
"delta": 0.0824,
"percent_delta": 0.1268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.25,
"after": 3.9716,
"delta": -0.2784,
"percent_delta": -0.0655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 163
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1562,
"predicted_3B": 0.0051,
"predicted_AB": 3.9716,
"predicted_AVG": 0.2289,
"predicted_BB": 0.7342,
"predicted_H": 0.909,
"predicted_HBP": 0.025,
"predicted_HR": 0.1306,
"predicted_OBP": 0.3492,
"predicted_R": 0.6679,
"predicted_RBI": 0.4758,
"predicted_SLG": 0.3695,
"predicted_SO": 0.8291
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.384,
"after": 0.3492,
"delta": -0.0348,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3789,
"after": 0.3695,
"delta": -0.0094,
"percent_delta": -0.0248,
"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_OBP",
"before": 0.384,
"after": 0.3492,
"delta": -0.0348,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.25), rates preserved: AVG=0.204 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.1562,
"after": 0.0,
"delta": -0.1562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7342,
"after": 1.0,
"delta": 0.2658,
"percent_delta": 0.362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.909,
"after": 1.0,
"delta": 0.091,
"percent_delta": 0.1001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1306,
"after": 0.0,
"delta": -0.1306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4758,
"after": 0.0,
"delta": -0.4758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8291,
"after": 1.0,
"delta": 0.1709,
"percent_delta": 0.2061,
"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.7342,
"after": 1.0,
"delta": 0.2658,
"percent_delta": 0.362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4758,
"after": 0.0,
"delta": -0.4758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)",
"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": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.6679,
"after": 1.0,
"delta": 0.3321,
"percent_delta": 0.4972,
"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_R",
"before": 0.6679,
"after": 1.0,
"delta": 0.3321,
"percent_delta": 0.4972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1679,
"predicted_3B": 0.0091,
"predicted_BB": 0.5654,
"predicted_H": 0.7961,
"predicted_HR": 0.1855,
"predicted_RBI": 0.495,
"predicted_SO": 0.8327
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1679,
"delta": 0.1679,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5654,
"delta": -0.4346,
"percent_delta": -0.4346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7961,
"delta": -0.2039,
"percent_delta": -0.2039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1855,
"delta": 0.1855,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.495,
"delta": 0.495,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8327,
"delta": -0.1673,
"percent_delta": -0.1673,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.495,
"delta": 0.495,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5654,
"delta": -0.4346,
"percent_delta": -0.4346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.215,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.325,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.416,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1679,
"after": 0.0,
"delta": -0.1679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2289,
"after": 0.215,
"delta": -0.0139,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5654,
"after": 1.0,
"delta": 0.4346,
"percent_delta": 0.7687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7961,
"after": 1.0,
"delta": 0.2039,
"percent_delta": 0.2561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1855,
"after": 0.0,
"delta": -0.1855,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3492,
"after": 0.325,
"delta": -0.0242,
"percent_delta": -0.0693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.495,
"after": 0.0,
"delta": -0.495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3695,
"after": 0.416,
"delta": 0.0465,
"percent_delta": 0.1258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8327,
"after": 1.0,
"delta": 0.1673,
"percent_delta": 0.2009,
"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.5654,
"after": 1.0,
"delta": 0.4346,
"percent_delta": 0.7687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.495,
"after": 0.0,
"delta": -0.495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.215,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.325,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.416,
"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
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"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_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
}
},
{
"index": 14,
"step": "simulation_box_score_reference",
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 15,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.221,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.328,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.424,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.221,
"delta": 0.006,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.424,
"delta": 0.008,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.424,
"delta": 0.008,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
}
],
"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_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.233,
"after": 0.221,
"delta": -0.012,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"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.395,
"after": 0.328,
"delta": -0.067,
"percent_delta": -0.1696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.669,
"after": 1.0,
"delta": 0.331,
"percent_delta": 0.4948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.424,
"delta": 0.028,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.804,
"after": 1.0,
"delta": 0.196,
"percent_delta": 0.2438,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.650 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.395 | - |
| predicted_R | 0.669 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.804 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | -0.034 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 3.972 | -0.278 |
| predicted_AVG | 0.230 | -0.004 |
| predicted_BB | 0.732 | 0.082 |
| predicted_H | 0.912 | -0.078 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.131 | -0.009 |
| predicted_OBP | 0.384 | -0.011 |
| predicted_R | 0.672 | 0.003 |
| predicted_RBI | 0.478 | -0.032 |
| predicted_SLG | 0.379 | -0.017 |
| predicted_SO | 0.831 | 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.156 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 3.972 | 0.000 |
| predicted_AVG | 0.229 | -0.001 |
| predicted_BB | 0.734 | 0.002 |
| predicted_H | 0.909 | -0.003 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.131 | -0.000 |
| predicted_OBP | 0.349 | -0.035 |
| predicted_R | 0.668 | -0.004 |
| predicted_RBI | 0.476 | -0.003 |
| predicted_SLG | 0.369 | -0.009 |
| predicted_SO | 0.829 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.25), rates preserved: AVG=0.204 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 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, 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 | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.168 | 0.168 |
| 3B | 0.009 | 0.009 |
| BB | 0.565 | -0.435 |
| H | 0.796 | -0.204 |
| HR | 0.185 | 0.185 |
| RBI | 0.495 | 0.495 |
| SO | 0.833 | -0.167 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.168 |
| 3B | 0.000 | -0.009 |
| AB | 4.000 | 0.000 |
| AVG | 0.215 | - |
| BB | 1.000 | 0.435 |
| H | 1.000 | 0.204 |
| HR | 0.000 | -0.185 |
| OBP | 0.325 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.495 |
| SLG | 0.416 | - |
| SO | 1.000 | 0.167 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.156 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 4.000 | 0.028 |
| predicted_AVG | 0.215 | -0.014 |
| predicted_BB | 1.000 | 0.266 |
| predicted_H | 1.000 | 0.091 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.325 | -0.024 |
| predicted_R | 1.000 | 0.332 |
| predicted_RBI | 0.000 | -0.476 |
| predicted_SLG | 0.416 | 0.046 |
| predicted_SO | 1.000 | 0.171 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| 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 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 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 | 0.000 | 0.000 | 3.000 | 6.000 | 5.000 | 0.1765 | 0.3913 | 0.1765 | 0.1765 | 0.0000 | 0.0000 | 0.3529 | 0.2941 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 0.000 | 0.000 | 0.000 | 5.000 | 8.000 | 11.000 | 9.000 | 0.2000 | 0.3830 | 0.2000 | 0.2000 | 0.0000 | 0.1429 | 0.3143 | 0.2571 |
| season | 0.60 | 163 | - | 605.000 | 150.000 | 31.000 | 1.000 | 33.000 | 93.000 | 109.000 | 106.000 | 131.000 | 0.2479 | 0.3628 | 0.4661 | 0.2479 | 0.0546 | 0.1537 | 0.1752 | 0.2165 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.6150 |
| predicted_AVG | 0.2250 |
| predicted_BB | 0.8380 |
| predicted_H | 0.8130 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1190 |
| predicted_OBP | 0.3699 |
| predicted_R | 0.6750 |
| predicted_RBI | 0.4380 |
| predicted_SLG | 0.3570 |
| predicted_SO | 0.8660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.1130 | 0.1562 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 4.2500 | 3.6150 | 3.9716 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2250 | 0.2295 | model_form_blend |
| predicted_BB | 0.6500 | 0.8380 | 0.7324 | model_form_blend |
| predicted_H | 0.9900 | 0.8130 | 0.9124 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1400 | 0.1190 | 0.1308 | model_form_blend |
| predicted_OBP | 0.3950 | 0.3699 | 0.3840 | model_form_blend |
| predicted_R | 0.6690 | 0.6750 | 0.6716 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4380 | 0.4784 | model_form_blend |
| predicted_SLG | 0.3960 | 0.3570 | 0.3789 | model_form_blend |
| predicted_SO | 0.8040 | 0.8660 | 0.8312 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 676 |
| Season rows before report date | 676 |
| Report year | 2026 |
| Profile rows used | 163 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 678246 |
| playerID | 678246 |
| playerName | Miguel Vargas |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-07 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.363 |
| sl_xwoba | 0.378 |
| sl_xba | 0.263 |
| sl_xslg | 0.496 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 21.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.121 | 0.000 | 0.000 | Hitting_2B | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.591 | 3.000 | 3.000 | Hitting_AB | 3.685 | 4.000 | -0.685 | -1.000 |
| predicted_AVG | 0.207 | 0.333 | 0.333 | Hitting_AVG | 0.211 | 0.000 | 0.123 | 0.333 |
| predicted_BB | 0.705 | 2.000 | 2.000 | Hitting_BB | 0.776 | 0.000 | 1.224 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.742 | 1.000 | 1.000 | Hitting_H | 0.776 | 0.000 | 0.224 | 1.000 |
| predicted_HR | 0.273 | 1.000 | 1.000 | Hitting_HR | 0.292 | 0.000 | 0.708 | 1.000 |
| predicted_OBP | 0.337 | 0.600 | 0.600 | Hitting_OBP | 0.353 | 0.000 | 0.247 | 0.600 |
| predicted_R | 0.644 | 1.000 | 1.000 | Hitting_R | 0.708 | 0.000 | 0.292 | 1.000 |
| predicted_RBI | 0.614 | 1.000 | 1.000 | Hitting_RBI | 0.622 | 0.000 | 0.378 | 1.000 |
| predicted_SLG | 0.473 | 1.333 | 1.333 | Hitting_SLG | 0.488 | 0.000 | 0.846 | 1.333 |
| predicted_SO | 1.568 | 2.000 | 2.000 | Hitting_SO | 1.581 | 3.000 | 0.419 | -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_BB: 0.7050 -> 2.0000 (boost 1.2950, better) |
| Biggest Deboost | predicted_AB: 3.5910 -> 3.0000 (deboost -0.5910, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 1 | 4 | predicted_AB: 3.5910 -> 3.6716 (boost 0.0806, better) | predicted_BB: 0.7050 -> 0.6183 (deboost -0.0867, worse) | Final model input calibrated with local 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 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_SO: 1.6179 -> 2.0000 (boost 0.3821, worse) | predicted_HR: 0.2662 -> 0.0000 (deboost -0.2662, worse) | AB rounded to 4 (raw=3.67), rates preserved: AVG=0.200 HR/AB=0.072 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6314 -> 1.0000 (boost 0.3686, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 2 | 4 | 3 | 3 | predicted_HR: 0.0000 -> 0.2174 (boost 0.2174, better) | predicted_BB: 1.0000 -> 0.5334 (deboost -0.4666, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 5 | 3 | 4 | 4 | predicted_HR: 0.2174 -> 1.0000 (boost 0.7826, better) | predicted_2B: 0.1454 -> 0.0000 (deboost -0.1454, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 2 | 1 | 1 | 1 | 1 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2080 -> 0.1960 (deboost -0.0120, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "1B",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.121,
"predicted_3B": 0.008,
"predicted_AB": 3.591,
"predicted_AVG": 0.207,
"predicted_BB": 0.705,
"predicted_H": 0.742,
"predicted_HR": 0.273,
"predicted_OBP": 0.337,
"predicted_R": 0.644,
"predicted_RBI": 0.614,
"predicted_SLG": 0.473,
"predicted_SO": 1.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
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1188,
"predicted_3B": 0.0067,
"predicted_AB": 3.6716,
"predicted_AVG": 0.2103,
"predicted_BB": 0.6183,
"predicted_H": 0.7716,
"predicted_HBP": 0.029,
"predicted_HR": 0.2665,
"predicted_OBP": 0.3233,
"predicted_R": 0.6349,
"predicted_RBI": 0.6484,
"predicted_SLG": 0.4646,
"predicted_SO": 1.622
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.591,
"after": 3.6716,
"delta": 0.0806,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.705,
"after": 0.6183,
"delta": -0.0867,
"percent_delta": -0.123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3233,
"delta": -0.0137,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4646,
"delta": -0.0084,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.568,
"after": 1.622,
"delta": 0.054,
"percent_delta": 0.0344,
"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.591,
"after": 3.6716,
"delta": 0.0806,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.705,
"after": 0.6183,
"delta": -0.0867,
"percent_delta": -0.123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 132
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1188,
"predicted_3B": 0.0067,
"predicted_AB": 3.6716,
"predicted_AVG": 0.2094,
"predicted_BB": 0.6198,
"predicted_H": 0.7687,
"predicted_HBP": 0.029,
"predicted_HR": 0.2662,
"predicted_OBP": 0.3236,
"predicted_R": 0.6314,
"predicted_RBI": 0.6448,
"predicted_SLG": 0.4629,
"predicted_SO": 1.6179
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.67), rates preserved: AVG=0.200 HR/AB=0.072",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1188,
"after": 0.0,
"delta": -0.1188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6716,
"after": 4.0,
"delta": 0.3284,
"percent_delta": 0.0894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6198,
"after": 1.0,
"delta": 0.3802,
"percent_delta": 0.6134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7687,
"after": 1.0,
"delta": 0.2313,
"percent_delta": 0.3009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2662,
"after": 0.0,
"delta": -0.2662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6448,
"after": 1.0,
"delta": 0.3552,
"percent_delta": 0.5509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6179,
"after": 2.0,
"delta": 0.3821,
"percent_delta": 0.2362,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.6179,
"after": 2.0,
"delta": 0.3821,
"percent_delta": 0.2362,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2662,
"after": 0.0,
"delta": -0.2662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.6314,
"after": 1.0,
"delta": 0.3686,
"percent_delta": 0.5838,
"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_R",
"before": 0.6314,
"after": 1.0,
"delta": 0.3686,
"percent_delta": 0.5838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1454,
"predicted_3B": 0.0121,
"predicted_BB": 0.5334,
"predicted_H": 0.7806,
"predicted_HR": 0.2174,
"predicted_RBI": 0.5919,
"predicted_SO": 1.7037
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1454,
"delta": 0.1454,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5334,
"delta": -0.4666,
"percent_delta": -0.4666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7806,
"delta": -0.2194,
"percent_delta": -0.2194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2174,
"delta": 0.2174,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5919,
"delta": -0.4081,
"percent_delta": -0.4081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.7037,
"delta": -0.2963,
"percent_delta": -0.1482,
"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_HR",
"before": 0.0,
"after": 0.2174,
"delta": 0.2174,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5334,
"delta": -0.4666,
"percent_delta": -0.4666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.208,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.311,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.426,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.0,
"delta": -0.1454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5334,
"after": 1.0,
"delta": 0.4666,
"percent_delta": 0.8748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7806,
"after": 1.0,
"delta": 0.2194,
"percent_delta": 0.2811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2174,
"after": 1.0,
"delta": 0.7826,
"percent_delta": 3.5998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3236,
"after": 0.311,
"delta": -0.0126,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5919,
"after": 1.0,
"delta": 0.4081,
"percent_delta": 0.6895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4629,
"after": 0.426,
"delta": -0.0369,
"percent_delta": -0.0797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7037,
"after": 2.0,
"delta": 0.2963,
"percent_delta": 0.1739,
"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_HR",
"before": 0.2174,
"after": 1.0,
"delta": 0.7826,
"percent_delta": 3.5998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.0,
"delta": -0.1454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.208,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.311,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.426,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 2.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 2.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.196,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.415,
"predicted_SO": 2.0,
"predicted_TB": 4.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.196,
"delta": -0.012,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.304,
"delta": -0.007,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.415,
"delta": -0.011,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.208,
"after": 0.196,
"delta": -0.012,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.121,
"after": 0.0,
"delta": -0.121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.591,
"after": 3.0,
"delta": -0.591,
"percent_delta": -0.1646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.196,
"delta": -0.011,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.705,
"after": 2.0,
"delta": 1.295,
"percent_delta": 1.8369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.742,
"after": 1.0,
"delta": 0.258,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.273,
"after": 1.0,
"delta": 0.727,
"percent_delta": 2.663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.304,
"delta": -0.033,
"percent_delta": -0.0979,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.644,
"after": 1.0,
"delta": 0.356,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.614,
"after": 1.0,
"delta": 0.386,
"percent_delta": 0.6287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.415,
"delta": -0.058,
"percent_delta": -0.1226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.568,
"after": 2.0,
"delta": 0.432,
"percent_delta": 0.2755,
"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_BB",
"before": 0.705,
"after": 2.0,
"delta": 1.295,
"percent_delta": 1.8369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.591,
"after": 3.0,
"delta": -0.591,
"percent_delta": -0.1646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.591 | - |
| predicted_AVG | 0.207 | - |
| predicted_BB | 0.705 | - |
| predicted_H | 0.742 | - |
| predicted_HR | 0.273 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.644 | - |
| predicted_RBI | 0.614 | - |
| predicted_SLG | 0.473 | - |
| predicted_SO | 1.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.119 | -0.002 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.672 | 0.081 |
| predicted_AVG | 0.210 | 0.003 |
| predicted_BB | 0.618 | -0.087 |
| predicted_H | 0.772 | 0.030 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.267 | -0.007 |
| predicted_OBP | 0.323 | -0.014 |
| predicted_R | 0.635 | -0.009 |
| predicted_RBI | 0.648 | 0.034 |
| predicted_SLG | 0.465 | -0.008 |
| predicted_SO | 1.622 | 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.119 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.672 | 0.000 |
| predicted_AVG | 0.209 | -0.001 |
| predicted_BB | 0.620 | 0.002 |
| predicted_H | 0.769 | -0.003 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.266 | -0.000 |
| predicted_OBP | 0.324 | 0.000 |
| predicted_R | 0.631 | -0.004 |
| predicted_RBI | 0.645 | -0.004 |
| predicted_SLG | 0.463 | -0.002 |
| predicted_SO | 1.618 | -0.004 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.67), rates preserved: AVG=0.200 HR/AB=0.072
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.145 | 0.145 |
| 3B | 0.012 | 0.012 |
| BB | 0.533 | -0.467 |
| H | 0.781 | -0.219 |
| HR | 0.217 | 0.217 |
| RBI | 0.592 | -0.408 |
| SO | 1.704 | -0.296 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.145 |
| 3B | 0.000 | -0.012 |
| AB | 4.000 | 0.000 |
| AVG | 0.208 | - |
| BB | 1.000 | 0.467 |
| H | 1.000 | 0.219 |
| HR | 1.000 | 0.783 |
| OBP | 0.311 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.408 |
| SLG | 0.426 | - |
| SO | 2.000 | 0.296 |
Player 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.007 |
| predicted_AB | 4.000 | 0.328 |
| predicted_AVG | 0.208 | -0.001 |
| predicted_BB | 1.000 | 0.380 |
| predicted_H | 1.000 | 0.231 |
| predicted_HR | 1.000 | 0.734 |
| predicted_OBP | 0.311 | -0.013 |
| predicted_R | 1.000 | 0.369 |
| predicted_RBI | 1.000 | 0.355 |
| predicted_SLG | 0.426 | -0.037 |
| predicted_SO | 2.000 | 0.382 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 2.000 | 1.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.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 | 3.000 | 0.000 |
| BB | 2.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 1.000 | 11.000 | 0.2000 | 0.2273 | 0.3500 | 0.2000 | 0.0500 | 0.2000 | 0.0500 | 0.5500 |
| last_10 | 0.20 | 10 | - | 41.000 | 10.000 | 2.000 | 0.000 | 3.000 | 9.000 | 6.000 | 2.000 | 18.000 | 0.2439 | 0.2727 | 0.5122 | 0.2439 | 0.0732 | 0.2195 | 0.0488 | 0.4390 |
| season | 0.60 | 132 | - | 474.000 | 98.000 | 16.000 | 1.000 | 36.000 | 81.000 | 85.000 | 93.000 | 207.000 | 0.2068 | 0.3426 | 0.4726 | 0.2067 | 0.0760 | 0.1709 | 0.1962 | 0.4367 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.7760 |
| predicted_AVG | 0.2146 |
| predicted_BB | 0.5060 |
| predicted_H | 0.8100 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.2580 |
| predicted_OBP | 0.3055 |
| predicted_R | 0.6230 |
| predicted_RBI | 0.6930 |
| predicted_SLG | 0.4536 |
| predicted_SO | 1.6920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1210 | 0.1160 | 0.1188 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.5910 | 3.7760 | 3.6716 | model_form_blend |
| predicted_AVG | 0.2070 | 0.2146 | 0.2103 | model_form_blend |
| predicted_BB | 0.7050 | 0.5060 | 0.6183 | model_form_blend |
| predicted_H | 0.7420 | 0.8100 | 0.7716 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.2730 | 0.2580 | 0.2665 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3055 | 0.3233 | model_form_blend |
| predicted_R | 0.6440 | 0.6230 | 0.6349 | model_form_blend |
| predicted_RBI | 0.6140 | 0.6930 | 0.6484 | model_form_blend |
| predicted_SLG | 0.4730 | 0.4536 | 0.4646 | model_form_blend |
| predicted_SO | 1.5680 | 1.6920 | 1.6220 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 518 |
| Season rows before report date | 518 |
| Report year | 2026 |
| Profile rows used | 132 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 2 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 808959 |
| playerID | 808959 |
| playerName | Munetaka Murakami |
| pos | IF |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-07 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 16.6 |
| sl_woba | 0.356 |
| sl_xwoba | 0.351 |
| sl_xba | 0.204 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 20.5 |
| sl_hard_hit_percent | 56.8 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 42.3 |
| 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.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 4.000 | Hitting_AB | 2.400 | 1.000 | 1.600 | 3.000 |
| predicted_AVG | 0.178 | 0.000 | 0.000 | Hitting_AVG | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_BB | 0.379 | 0.000 | 0.000 | Hitting_BB | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.100 | 0.000 | 0.000 | Hitting_H | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_OBP | 0.235 | 0.000 | 0.000 | Hitting_OBP | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_R | 0.303 | 0.000 | 0.000 | Hitting_R | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_RBI | 0.080 | 1.000 | 1.000 | Hitting_RBI | 0.800 | 0.000 | 0.200 | 1.000 |
| predicted_SLG | 0.245 | 0.000 | 0.000 | Hitting_SLG | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SO | 0.909 | 1.000 | 1.000 | Hitting_SO | 0.800 | 0.000 | 0.200 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_BB: 0.3790 -> 0.0000 (deboost -0.3790, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_H: 0.1000 -> 0.2094 (boost 0.1094, better) | predicted_AVG: 0.1780 -> 0.1712 (deboost -0.0068, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2543 -> 0.1442 (deboost -0.1101, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_AB: 2.6014 -> 3.0000 (boost 0.3986, better) | predicted_BB: 0.3874 -> 0.0000 (deboost -0.3874, worse) | AB rounded to 3 (raw=2.60), rates preserved: AVG=0.077 HR/AB=0.019 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3333 -> 0.0000 (deboost -0.3333, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.0000 -> 0.6777 (boost 0.6777, better) | - | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 3 | 5 | 3 | 5 | predicted_SLG: 0.1442 -> 0.3770 (boost 0.2328, better) | predicted_H: 0.6777 -> 0.0000 (deboost -0.6777, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3770 -> 0.3620 (deboost -0.0150, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "502054",
"player_name": "Tommy Pham",
"position": "DH",
"team": "CHW",
"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.178,
"predicted_BB": 0.379,
"predicted_H": 0.1,
"predicted_HR": 0.03,
"predicted_OBP": 0.235,
"predicted_R": 0.303,
"predicted_RBI": 0.08,
"predicted_SLG": 0.245,
"predicted_SO": 0.909
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0186,
"predicted_3B": 0.0016,
"predicted_AB": 2.6014,
"predicted_AVG": 0.1712,
"predicted_BB": 0.3864,
"predicted_H": 0.2094,
"predicted_HBP": 0.011,
"predicted_HR": 0.0483,
"predicted_OBP": 0.2452,
"predicted_R": 0.3351,
"predicted_RBI": 0.1474,
"predicted_SLG": 0.2543,
"predicted_SO": 0.8621
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6014,
"delta": 0.1014,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.178,
"after": 0.1712,
"delta": -0.0068,
"percent_delta": -0.0382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.1,
"after": 0.2094,
"delta": 0.1094,
"percent_delta": 1.094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.235,
"after": 0.2452,
"delta": 0.0102,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.08,
"after": 0.1474,
"delta": 0.0674,
"percent_delta": 0.8425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.245,
"after": 0.2543,
"delta": 0.0093,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.1,
"after": 0.2094,
"delta": 0.1094,
"percent_delta": 1.094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.178,
"after": 0.1712,
"delta": -0.0068,
"percent_delta": -0.0382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0186,
"predicted_3B": 0.0016,
"predicted_AB": 2.6014,
"predicted_AVG": 0.0802,
"predicted_BB": 0.3874,
"predicted_H": 0.2086,
"predicted_HBP": 0.011,
"predicted_HR": 0.0482,
"predicted_OBP": 0.1994,
"predicted_R": 0.3333,
"predicted_RBI": 0.1466,
"predicted_SLG": 0.1442,
"predicted_SO": 0.8599
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.1712,
"after": 0.0802,
"delta": -0.091,
"percent_delta": -0.5315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2452,
"after": 0.1994,
"delta": -0.0458,
"percent_delta": -0.1868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2543,
"after": 0.1442,
"delta": -0.1101,
"percent_delta": -0.433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.2543,
"after": 0.1442,
"delta": -0.1101,
"percent_delta": -0.433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.60), rates preserved: AVG=0.077 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.6014,
"after": 3.0,
"delta": 0.3986,
"percent_delta": 0.1532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3874,
"after": 0.0,
"delta": -0.3874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.2086,
"after": 0.0,
"delta": -0.2086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1466,
"after": 0.0,
"delta": -0.1466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8599,
"after": 1.0,
"delta": 0.1401,
"percent_delta": 0.1629,
"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.6014,
"after": 3.0,
"delta": 0.3986,
"percent_delta": 0.1532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3874,
"after": 0.0,
"delta": -0.3874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.3333,
"after": 0.0,
"delta": -0.3333,
"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_R",
"before": 0.3333,
"after": 0.0,
"delta": -0.3333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1439,
"predicted_3B": 0.0108,
"predicted_BB": 0.3349,
"predicted_H": 0.6777,
"predicted_HR": 0.107,
"predicted_RBI": 0.3727,
"predicted_SO": 0.986
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1439,
"delta": 0.1439,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3349,
"delta": 0.3349,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.6777,
"delta": 0.6777,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.107,
"delta": 0.107,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3727,
"delta": 0.3727,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 0.6777,
"delta": 0.6777,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.219,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.377,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1439,
"after": 0.0,
"delta": -0.1439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.0802,
"after": 0.219,
"delta": 0.1388,
"percent_delta": 1.7307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3349,
"after": 0.0,
"delta": -0.3349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6777,
"after": 0.0,
"delta": -0.6777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.1994,
"after": 0.301,
"delta": 0.1016,
"percent_delta": 0.5095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3727,
"after": 0.0,
"delta": -0.3727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.1442,
"after": 0.377,
"delta": 0.2328,
"percent_delta": 1.6144,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.1442,
"after": 0.377,
"delta": 0.2328,
"percent_delta": 1.6144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6777,
"after": 0.0,
"delta": -0.6777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player 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.219,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.377,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 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
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.207,
"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.295,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.362,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.207,
"delta": -0.012,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.295,
"delta": -0.006,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.362,
"delta": -0.015,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.377,
"after": 0.362,
"delta": -0.015,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"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.178,
"after": 0.207,
"delta": 0.029,
"percent_delta": 0.1629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.235,
"after": 0.295,
"delta": 0.06,
"percent_delta": 0.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.08,
"after": 1.0,
"delta": 0.92,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.245,
"after": 0.362,
"delta": 0.117,
"percent_delta": 0.4776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.909,
"after": 1.0,
"delta": 0.091,
"percent_delta": 0.1001,
"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_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"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.500 | - |
| predicted_AVG | 0.178 | - |
| predicted_BB | 0.379 | - |
| predicted_H | 0.100 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.235 | - |
| predicted_R | 0.303 | - |
| predicted_RBI | 0.080 | - |
| predicted_SLG | 0.245 | - |
| predicted_SO | 0.909 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.019 | 0.019 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.601 | 0.101 |
| predicted_AVG | 0.171 | -0.007 |
| predicted_BB | 0.386 | 0.007 |
| predicted_H | 0.209 | 0.109 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.048 | 0.018 |
| predicted_OBP | 0.245 | 0.010 |
| predicted_R | 0.335 | 0.032 |
| predicted_RBI | 0.147 | 0.067 |
| predicted_SLG | 0.254 | 0.009 |
| predicted_SO | 0.862 | -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.019 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.601 | 0.000 |
| predicted_AVG | 0.080 | -0.091 |
| predicted_BB | 0.387 | 0.001 |
| predicted_H | 0.209 | -0.001 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.048 | -0.000 |
| predicted_OBP | 0.199 | -0.046 |
| predicted_R | 0.333 | -0.002 |
| predicted_RBI | 0.147 | -0.001 |
| predicted_SLG | 0.144 | -0.110 |
| predicted_SO | 0.860 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.60), rates preserved: AVG=0.077 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.144 | 0.144 |
| 3B | 0.011 | 0.011 |
| BB | 0.335 | 0.335 |
| H | 0.678 | 0.678 |
| HR | 0.107 | 0.107 |
| RBI | 0.373 | 0.373 |
| SO | 0.986 | -0.014 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.144 |
| 3B | 0.000 | -0.011 |
| AB | 3.000 | 0.000 |
| AVG | 0.219 | - |
| BB | 0.000 | -0.335 |
| H | 0.000 | -0.678 |
| HR | 0.000 | -0.107 |
| OBP | 0.301 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.373 |
| SLG | 0.377 | - |
| SO | 1.000 | 0.014 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.019 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.399 |
| predicted_AVG | 0.219 | 0.139 |
| predicted_BB | 0.000 | -0.387 |
| predicted_H | 0.000 | -0.209 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.301 | 0.102 |
| predicted_R | 0.000 | -0.333 |
| predicted_RBI | 0.000 | -0.147 |
| predicted_SLG | 0.377 | 0.233 |
| predicted_SO | 1.000 | 0.140 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SF | 0.000 | 0.000 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.0000 | 0.2308 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 20.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 5.000 | 5.000 | 0.1500 | 0.3200 | 0.3000 | 0.1500 | 0.0500 | 0.1500 | 0.2500 | 0.2500 |
| season | 0.60 | 16 | - | 33.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 5.000 | 12.000 | 0.0909 | 0.2105 | 0.1818 | 0.0909 | 0.0303 | 0.0909 | 0.1515 | 0.3636 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0580 |
| predicted_3B | 0.0050 |
| predicted_AB | 2.8160 |
| predicted_AVG | 0.1567 |
| predicted_BB | 0.4020 |
| predicted_H | 0.4410 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0870 |
| predicted_OBP | 0.2669 |
| predicted_R | 0.4030 |
| predicted_RBI | 0.2900 |
| predicted_SLG | 0.2741 |
| predicted_SO | 0.7630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0580 | 0.0186 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0016 | model_form_blend |
| predicted_AB | 2.5000 | 2.8160 | 2.6014 | model_form_blend |
| predicted_AVG | 0.1780 | 0.1567 | 0.1712 | model_form_blend |
| predicted_BB | 0.3790 | 0.4020 | 0.3864 | model_form_blend |
| predicted_H | 0.1000 | 0.4410 | 0.2094 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0300 | 0.0870 | 0.0483 | model_form_blend |
| predicted_OBP | 0.2350 | 0.2669 | 0.2452 | model_form_blend |
| predicted_R | 0.3030 | 0.4030 | 0.3351 | model_form_blend |
| predicted_RBI | 0.0800 | 0.2900 | 0.1474 | model_form_blend |
| predicted_SLG | 0.2450 | 0.2741 | 0.2543 | model_form_blend |
| predicted_SO | 0.9090 | 0.7630 | 0.8621 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 16 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20261005_CHW@CLE |
| game_type | ph |
| mlbID | 502054 |
| note | Flied out for Peters in the 6th. |
| playerID | 502054 |
| playerName | Tommy Pham |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-05 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.209 |
| sl_xwoba | 0.317 |
| sl_xba | 0.236 |
| sl_xslg | 0.354 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 52.6 |
| sl_exit_velocity_avg | 93.6 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 34.5 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.092 | 0.000 | 0.000 | Hitting_2B | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 2.842 | 4.000 | 4.000 | Hitting_AB | 2.864 | 1.000 | 1.136 | 3.000 |
| predicted_AVG | 0.231 | 0.000 | 0.000 | Hitting_AVG | 0.266 | 0.000 | -0.266 | 0.000 |
| predicted_BB | 0.158 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 0.230 | 0.000 | 0.000 | Hitting_H | 0.761 | 0.000 | -0.761 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.253 | 0.000 | 0.000 | Hitting_OBP | 0.266 | 0.000 | -0.266 | 0.000 |
| predicted_R | 0.434 | 0.000 | 0.000 | Hitting_R | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_SLG | 0.403 | 0.000 | 0.000 | Hitting_SLG | 0.417 | 0.000 | -0.417 | 0.000 |
| predicted_SO | 0.974 | 0.000 | 0.000 | Hitting_SO | 0.875 | 0.000 | -0.875 | 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.8420 -> 4.0000 (boost 1.1580, better) |
| Biggest Deboost | predicted_SO: 0.9740 -> 0.0000 (deboost -0.9740, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 6 | 0 | predicted_H: 0.2300 -> 0.4276 (boost 0.1976, better) | predicted_SO: 0.9740 -> 0.9049 (deboost -0.0691, 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.4330 -> 0.3069 (deboost -0.1261, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 2.8674 -> 3.0000 (boost 0.1326, better) | predicted_H: 0.4260 -> 0.0000 (deboost -0.4260, worse) | AB rounded to 3 (raw=2.87), rates preserved: AVG=0.142 HR/AB=0.040 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 7 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4527 -> 0.0000 (deboost -0.4527, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.3420 (boost 0.3420, better) | predicted_H: 1.0000 -> 0.7923 (deboost -0.2077, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 4 | 5 | 5 | 4 | predicted_H: 0.7923 -> 1.0000 (boost 0.2077, better) | predicted_RBI: 0.3420 -> 0.0000 (deboost -0.3420, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 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) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2270 -> 0.1990 (deboost -0.0280, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "686668",
"player_name": "Brenton Doyle",
"position": "CF",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.092,
"predicted_3B": 0.013,
"predicted_AB": 2.842,
"predicted_AVG": 0.231,
"predicted_BB": 0.158,
"predicted_H": 0.23,
"predicted_HR": 0.06,
"predicted_OBP": 0.253,
"predicted_R": 0.434,
"predicted_RBI": 0.14,
"predicted_SLG": 0.403,
"predicted_SO": 0.974
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0883,
"predicted_3B": 0.0113,
"predicted_AB": 2.8674,
"predicted_AVG": 0.236,
"predicted_BB": 0.1376,
"predicted_H": 0.4276,
"predicted_HBP": 0.003,
"predicted_HR": 0.1145,
"predicted_OBP": 0.2605,
"predicted_R": 0.4552,
"predicted_RBI": 0.2286,
"predicted_SLG": 0.433,
"predicted_SO": 0.9049
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.4276,
"delta": 0.1976,
"percent_delta": 0.8591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1145,
"delta": 0.0545,
"percent_delta": 0.9083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2605,
"delta": 0.0075,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.2286,
"delta": 0.0886,
"percent_delta": 0.6329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.433,
"delta": 0.03,
"percent_delta": 0.0744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.974,
"after": 0.9049,
"delta": -0.0691,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.23,
"after": 0.4276,
"delta": 0.1976,
"percent_delta": 0.8591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.974,
"after": 0.9049,
"delta": -0.0691,
"percent_delta": -0.0709,
"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": 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.0883,
"predicted_3B": 0.0113,
"predicted_AB": 2.8674,
"predicted_AVG": 0.1486,
"predicted_BB": 0.1379,
"predicted_H": 0.426,
"predicted_HBP": 0.003,
"predicted_HR": 0.1144,
"predicted_OBP": 0.1877,
"predicted_R": 0.4527,
"predicted_RBI": 0.2273,
"predicted_SLG": 0.3069,
"predicted_SO": 0.9026
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.1486,
"delta": -0.0874,
"percent_delta": -0.3703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2605,
"after": 0.1877,
"delta": -0.0728,
"percent_delta": -0.2795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.3069,
"delta": -0.1261,
"percent_delta": -0.2912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.3069,
"delta": -0.1261,
"percent_delta": -0.2912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.87), rates preserved: AVG=0.142 HR/AB=0.040",
"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.0883,
"after": 0.0,
"delta": -0.0883,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.8674,
"after": 3.0,
"delta": 0.1326,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1379,
"after": 0.0,
"delta": -0.1379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1144,
"after": 0.0,
"delta": -0.1144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2273,
"after": 0.0,
"delta": -0.2273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9026,
"after": 1.0,
"delta": 0.0974,
"percent_delta": 0.1079,
"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.8674,
"after": 3.0,
"delta": 0.1326,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 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": {
"model_expectation": 0.9333,
"bvp": 0.0667
}
},
{
"index": 7,
"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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4527,
"after": 0.0,
"delta": -0.4527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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.4527,
"after": 0.0,
"delta": -0.4527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1549,
"predicted_3B": 0.0127,
"predicted_BB": 0.252,
"predicted_H": 0.7923,
"predicted_HR": 0.1108,
"predicted_RBI": 0.342,
"predicted_SO": 1.3345
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1549,
"delta": 0.1549,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.252,
"delta": 0.252,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7923,
"delta": -0.2077,
"percent_delta": -0.2077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1108,
"delta": 0.1108,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.342,
"delta": 0.342,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.3345,
"delta": 0.3345,
"percent_delta": 0.3345,
"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_RBI",
"before": 0.0,
"after": 0.342,
"delta": 0.342,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7923,
"delta": -0.2077,
"percent_delta": -0.2077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.227,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.373,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1549,
"after": 0.0,
"delta": -0.1549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1486,
"after": 0.227,
"delta": 0.0784,
"percent_delta": 0.5276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 0.0,
"delta": -0.252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7923,
"after": 1.0,
"delta": 0.2077,
"percent_delta": 0.2621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1108,
"after": 0.0,
"delta": -0.1108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.1877,
"after": 0.284,
"delta": 0.0963,
"percent_delta": 0.5131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3069,
"after": 0.373,
"delta": 0.0661,
"percent_delta": 0.2154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3345,
"after": 1.0,
"delta": -0.3345,
"percent_delta": -0.2507,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7923,
"after": 1.0,
"delta": 0.2077,
"percent_delta": 0.2621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.227,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.373,
"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
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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
}
}
},
{
"index": 14,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 15,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.199,
"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.256,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.345,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.199,
"delta": -0.028,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.256,
"delta": -0.028,
"percent_delta": -0.0986,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.345,
"delta": -0.028,
"percent_delta": -0.0751,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.227,
"after": 0.199,
"delta": -0.028,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.842,
"after": 4.0,
"delta": 1.158,
"percent_delta": 0.4075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.199,
"delta": -0.032,
"percent_delta": -0.1385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"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_R",
"before": 0.434,
"after": 0.0,
"delta": -0.434,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.345,
"delta": -0.058,
"percent_delta": -0.1439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.974,
"after": 0.0,
"delta": -0.974,
"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.842,
"after": 4.0,
"delta": 1.158,
"percent_delta": 0.4075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.974,
"after": 0.0,
"delta": -0.974,
"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.092 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 2.842 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.158 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.253 | - |
| predicted_R | 0.434 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 0.974 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.088 | -0.004 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 2.867 | 0.025 |
| predicted_AVG | 0.236 | 0.005 |
| predicted_BB | 0.138 | -0.020 |
| predicted_H | 0.428 | 0.198 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.115 | 0.055 |
| predicted_OBP | 0.261 | 0.008 |
| predicted_R | 0.455 | 0.021 |
| predicted_RBI | 0.229 | 0.089 |
| predicted_SLG | 0.433 | 0.030 |
| predicted_SO | 0.905 | -0.069 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.088 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 2.867 | 0.000 |
| predicted_AVG | 0.149 | -0.087 |
| predicted_BB | 0.138 | 0.000 |
| predicted_H | 0.426 | -0.002 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.114 | -0.000 |
| predicted_OBP | 0.188 | -0.073 |
| predicted_R | 0.453 | -0.003 |
| predicted_RBI | 0.227 | -0.001 |
| predicted_SLG | 0.307 | -0.126 |
| predicted_SO | 0.903 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.87), rates preserved: AVG=0.142 HR/AB=0.040
| 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=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.155 | 0.155 |
| 3B | 0.013 | 0.013 |
| BB | 0.252 | 0.252 |
| H | 0.792 | -0.208 |
| HR | 0.111 | 0.111 |
| RBI | 0.342 | 0.342 |
| SO | 1.335 | 0.335 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.155 |
| 3B | 0.000 | -0.013 |
| AB | 3.000 | 0.000 |
| AVG | 0.227 | - |
| BB | 0.000 | -0.252 |
| H | 1.000 | 0.208 |
| HR | 0.000 | -0.111 |
| OBP | 0.284 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.342 |
| SLG | 0.373 | - |
| SO | 1.000 | -0.335 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.088 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | 0.133 |
| predicted_AVG | 0.227 | 0.078 |
| predicted_BB | 0.000 | -0.138 |
| predicted_H | 1.000 | 0.574 |
| predicted_HR | 0.000 | -0.114 |
| predicted_OBP | 0.284 | 0.096 |
| predicted_R | 0.000 | -0.453 |
| predicted_RBI | 0.000 | -0.227 |
| predicted_SLG | 0.373 | 0.066 |
| predicted_SO | 1.000 | 0.097 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -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 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.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 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 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 | - | 12.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.000 | 2.000 | 0.2500 | 0.2500 | 0.7500 | 0.2500 | 0.1667 | 0.2500 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 1.000 | 0.000 | 3.000 | 4.000 | 7.000 | 0.000 | 7.000 | 0.2667 | 0.2667 | 0.6000 | 0.2667 | 0.1000 | 0.1333 | 0.0000 | 0.2333 |
| season | 0.60 | 76 | - | 216.000 | 50.000 | 7.000 | 1.000 | 6.000 | 16.000 | 33.000 | 12.000 | 74.000 | 0.2315 | 0.2719 | 0.3565 | 0.2315 | 0.0278 | 0.0741 | 0.0556 | 0.3426 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0830 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.9030 |
| predicted_AVG | 0.2429 |
| predicted_BB | 0.1090 |
| predicted_H | 0.7050 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1910 |
| predicted_OBP | 0.2710 |
| predicted_R | 0.4850 |
| predicted_RBI | 0.3530 |
| predicted_SLG | 0.4750 |
| predicted_SO | 0.8080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0920 | 0.0830 | 0.0883 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0113 | model_form_blend |
| predicted_AB | 2.8420 | 2.9030 | 2.8674 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2429 | 0.2360 | model_form_blend |
| predicted_BB | 0.1580 | 0.1090 | 0.1376 | model_form_blend |
| predicted_H | 0.2300 | 0.7050 | 0.4276 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0600 | 0.1910 | 0.1145 | model_form_blend |
| predicted_OBP | 0.2530 | 0.2710 | 0.2605 | model_form_blend |
| predicted_R | 0.4340 | 0.4850 | 0.4552 | model_form_blend |
| predicted_RBI | 0.1400 | 0.3530 | 0.2286 | model_form_blend |
| predicted_SLG | 0.4030 | 0.4750 | 0.4330 | model_form_blend |
| predicted_SO | 0.9740 | 0.8080 | 0.9049 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 88 |
| Season rows before report date | 88 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261005_CHW@CLE |
| game_type | short |
| mlbID | 686668 |
| playerID | 686668 |
| playerName | Brenton Doyle |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-05 |
| sl_k_percent | 32.7 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.28 |
| sl_xwoba | 0.245 |
| sl_xba | 0.203 |
| sl_xslg | 0.307 |
| sl_sweet_spot_percent | 26.8 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 35.5 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 8.6 |
| sl_whiff_percent | 32.5 |
| sl_swing_percent | 54.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.093 | 0.000 | 0.000 | Hitting_2B | 0.133 | 1.000 | -0.133 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.490 | 4.000 | 4.000 | Hitting_AB | 3.533 | 4.000 | 0.467 | 0.000 |
| predicted_AVG | 0.222 | 0.250 | 0.250 | Hitting_AVG | 0.208 | 0.250 | 0.042 | 0.000 |
| predicted_BB | 0.419 | 0.000 | 0.000 | Hitting_BB | 0.550 | 0.000 | -0.550 | 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.733 | 1.000 | 0.267 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.309 | 0.250 | 0.250 | Hitting_OBP | 0.325 | 0.250 | -0.075 | 0.000 |
| predicted_R | 0.535 | 0.000 | 0.000 | Hitting_R | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_RBI | 0.560 | 1.000 | 1.000 | Hitting_RBI | 0.858 | 1.000 | 0.142 | 0.000 |
| predicted_SLG | 0.346 | 0.250 | 0.250 | Hitting_SLG | 0.387 | 0.500 | -0.137 | -0.250 |
| predicted_SO | 1.395 | 1.000 | 1.000 | Hitting_SO | 1.542 | 2.000 | -0.542 | -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_AB: 3.4900 -> 4.0000 (boost 0.5100, better) |
| Biggest Deboost | predicted_R: 0.5350 -> 0.0000 (deboost -0.5350, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2220 -> 0.2283 (boost 0.0063, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3506 -> 0.3437 (deboost -0.0069, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_RBI: 0.5746 -> 1.0000 (boost 0.4254, better) | predicted_AB: 3.5244 -> 3.0000 (deboost -0.5244, worse) | AB rounded to 3 (raw=3.52), rates preserved: AVG=0.218 HR/AB=0.028 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5529 -> 1.0000 (boost 0.4471, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_SO: 1.0000 -> 1.4822 (boost 0.4822, worse) | predicted_RBI: 1.0000 -> 0.5601 (deboost -0.4399, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 4 | 4 | 3 | 5 | predicted_SO: 1.4822 -> 2.0000 (boost 0.5178, worse) | predicted_BB: 0.3286 -> 0.0000 (deboost -0.3286, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 11 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 12 | play_by_play_realization | 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) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3740 -> 0.3490 (deboost -0.0250, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "691019",
"player_name": "Kyle Teel",
"position": "C",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.093,
"predicted_3B": 0.0,
"predicted_AB": 3.49,
"predicted_AVG": 0.222,
"predicted_BB": 0.419,
"predicted_H": 0.78,
"predicted_HR": 0.1,
"predicted_OBP": 0.309,
"predicted_R": 0.535,
"predicted_RBI": 0.56,
"predicted_SLG": 0.346,
"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
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1051,
"predicted_3B": 0.0008,
"predicted_AB": 3.5244,
"predicted_AVG": 0.2283,
"predicted_BB": 0.3976,
"predicted_H": 0.8079,
"predicted_HBP": 0.089,
"predicted_HR": 0.1,
"predicted_OBP": 0.3136,
"predicted_R": 0.556,
"predicted_RBI": 0.5778,
"predicted_SLG": 0.3506,
"predicted_SO": 1.3986
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2283,
"delta": 0.0063,
"percent_delta": 0.0284,
"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_AVG",
"before": 0.222,
"after": 0.2283,
"delta": 0.0063,
"percent_delta": 0.0284,
"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.1051,
"predicted_3B": 0.0008,
"predicted_AB": 3.5244,
"predicted_AVG": 0.2284,
"predicted_BB": 0.3986,
"predicted_H": 0.8049,
"predicted_HBP": 0.089,
"predicted_HR": 0.0999,
"predicted_OBP": 0.3068,
"predicted_R": 0.5529,
"predicted_RBI": 0.5746,
"predicted_SLG": 0.3437,
"predicted_SO": 1.3951
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3136,
"after": 0.3068,
"delta": -0.0068,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3506,
"after": 0.3437,
"delta": -0.0069,
"percent_delta": -0.0197,
"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_SLG",
"before": 0.3506,
"after": 0.3437,
"delta": -0.0069,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.52), rates preserved: AVG=0.218 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1051,
"after": 0.0,
"delta": -0.1051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5244,
"after": 3.0,
"delta": -0.5244,
"percent_delta": -0.1488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3986,
"after": 0.0,
"delta": -0.3986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8049,
"after": 1.0,
"delta": 0.1951,
"percent_delta": 0.2424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0999,
"after": 0.0,
"delta": -0.0999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5746,
"after": 1.0,
"delta": 0.4254,
"percent_delta": 0.7403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3951,
"after": 1.0,
"delta": -0.3951,
"percent_delta": -0.2832,
"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.5746,
"after": 1.0,
"delta": 0.4254,
"percent_delta": 0.7403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5244,
"after": 3.0,
"delta": -0.5244,
"percent_delta": -0.1488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.5529,
"after": 1.0,
"delta": 0.4471,
"percent_delta": 0.8086,
"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_R",
"before": 0.5529,
"after": 1.0,
"delta": 0.4471,
"percent_delta": 0.8086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1416,
"predicted_3B": 0.0118,
"predicted_BB": 0.3286,
"predicted_H": 0.772,
"predicted_HR": 0.115,
"predicted_RBI": 0.5601,
"predicted_SO": 1.4822
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1416,
"delta": 0.1416,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3286,
"delta": 0.3286,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.772,
"delta": -0.228,
"percent_delta": -0.228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.115,
"delta": 0.115,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5601,
"delta": -0.4399,
"percent_delta": -0.4399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4822,
"delta": 0.4822,
"percent_delta": 0.4822,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4822,
"delta": 0.4822,
"percent_delta": 0.4822,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5601,
"delta": -0.4399,
"percent_delta": -0.4399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.225,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.298,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.374,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1416,
"after": 0.0,
"delta": -0.1416,
"percent_delta": -1.0,
"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": 0.772,
"after": 1.0,
"delta": 0.228,
"percent_delta": 0.2953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.115,
"after": 0.0,
"delta": -0.115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3068,
"after": 0.298,
"delta": -0.0088,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5601,
"after": 1.0,
"delta": 0.4399,
"percent_delta": 0.7854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3437,
"after": 0.374,
"delta": 0.0303,
"percent_delta": 0.0882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4822,
"after": 2.0,
"delta": 0.5178,
"percent_delta": 0.3493,
"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_SO",
"before": 1.4822,
"after": 2.0,
"delta": 0.5178,
"percent_delta": 0.3493,
"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
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.225,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.298,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.374,
"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
}
},
{
"index": 10,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 11,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"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_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"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": "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
}
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.202,
"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.289,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.349,
"predicted_SO": 1.0,
"predicted_TB": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.202,
"delta": -0.023,
"percent_delta": -0.1022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.289,
"delta": -0.009,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.349,
"delta": -0.025,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.374,
"after": 0.349,
"delta": -0.025,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.49,
"after": 4.0,
"delta": 0.51,
"percent_delta": 0.1461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.202,
"delta": -0.02,
"percent_delta": -0.0901,
"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": 0.78,
"after": 1.0,
"delta": 0.22,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.289,
"delta": -0.02,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.535,
"after": 0.0,
"delta": -0.535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.395,
"after": 1.0,
"delta": -0.395,
"percent_delta": -0.2832,
"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.49,
"after": 4.0,
"delta": 0.51,
"percent_delta": 0.1461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.535,
"after": 0.0,
"delta": -0.535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.490 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.419 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.535 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.346 | - |
| 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.105 | 0.012 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.524 | 0.034 |
| predicted_AVG | 0.228 | 0.006 |
| predicted_BB | 0.398 | -0.021 |
| predicted_H | 0.808 | 0.028 |
| predicted_HBP | 0.089 | - |
| predicted_HR | 0.100 | 0.000 |
| predicted_OBP | 0.314 | 0.005 |
| predicted_R | 0.556 | 0.021 |
| predicted_RBI | 0.578 | 0.018 |
| predicted_SLG | 0.351 | 0.005 |
| predicted_SO | 1.399 | 0.004 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.524 | 0.000 |
| predicted_AVG | 0.228 | 0.000 |
| predicted_BB | 0.399 | 0.001 |
| predicted_H | 0.805 | -0.003 |
| predicted_HBP | 0.089 | 0.000 |
| predicted_HR | 0.100 | -0.000 |
| predicted_OBP | 0.307 | -0.007 |
| predicted_R | 0.553 | -0.003 |
| predicted_RBI | 0.575 | -0.003 |
| predicted_SLG | 0.344 | -0.007 |
| predicted_SO | 1.395 | -0.004 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.52), rates preserved: AVG=0.218 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.142 | 0.142 |
| 3B | 0.012 | 0.012 |
| BB | 0.329 | 0.329 |
| H | 0.772 | -0.228 |
| HR | 0.115 | 0.115 |
| RBI | 0.560 | -0.440 |
| SO | 1.482 | 0.482 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.142 |
| 3B | 0.000 | -0.012 |
| AB | 3.000 | 0.000 |
| AVG | 0.225 | - |
| BB | 0.000 | -0.329 |
| H | 1.000 | 0.228 |
| HR | 0.000 | -0.115 |
| OBP | 0.298 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.440 |
| SLG | 0.374 | - |
| SO | 2.000 | 0.518 |
Player 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.001 |
| predicted_AB | 3.000 | -0.524 |
| predicted_AVG | 0.225 | -0.003 |
| predicted_BB | 0.000 | -0.399 |
| predicted_H | 1.000 | 0.195 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.298 | -0.009 |
| predicted_R | 1.000 | 0.447 |
| predicted_RBI | 1.000 | 0.425 |
| predicted_SLG | 0.374 | 0.030 |
| predicted_SO | 2.000 | 0.605 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.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 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.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 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 9.000 | 0.2381 | 0.2727 | 0.2857 | 0.2381 | 0.0000 | 0.0952 | 0.0476 | 0.4286 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 1.000 | 0.000 | 1.000 | 7.000 | 8.000 | 4.000 | 15.000 | 0.2973 | 0.3864 | 0.4054 | 0.2973 | 0.0270 | 0.1892 | 0.1081 | 0.4054 |
| season | 0.60 | 43 | - | 140.000 | 30.000 | 4.000 | 0.000 | 5.000 | 28.000 | 23.000 | 18.000 | 60.000 | 0.2143 | 0.3190 | 0.3500 | 0.2143 | 0.0357 | 0.2000 | 0.1286 | 0.4286 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1230 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5750 |
| predicted_AVG | 0.2376 |
| predicted_BB | 0.3660 |
| predicted_H | 0.8490 |
| predicted_HBP | 0.0890 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.3204 |
| predicted_R | 0.5870 |
| predicted_RBI | 0.6040 |
| predicted_SLG | 0.3574 |
| predicted_SO | 1.4040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.1230 | 0.1051 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.4900 | 3.5750 | 3.5244 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2376 | 0.2283 | model_form_blend |
| predicted_BB | 0.4190 | 0.3660 | 0.3976 | model_form_blend |
| predicted_H | 0.7800 | 0.8490 | 0.8079 | model_form_blend |
| predicted_HBP | - | 0.0890 | 0.0890 | form_only |
| predicted_HR | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3204 | 0.3136 | model_form_blend |
| predicted_R | 0.5350 | 0.5870 | 0.5560 | model_form_blend |
| predicted_RBI | 0.5600 | 0.6040 | 0.5778 | model_form_blend |
| predicted_SLG | 0.3460 | 0.3574 | 0.3506 | model_form_blend |
| predicted_SO | 1.3950 | 1.4040 | 1.3986 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 120 |
| Season rows before report date | 120 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 691019 |
| playerID | 691019 |
| playerName | Kyle Teel |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-07 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.317 |
| sl_xwoba | 0.321 |
| sl_xba | 0.211 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 41.4 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 35.6 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.175 | 0.000 | 0.000 | Hitting_2B | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_3B | 0.031 | 1.000 | 1.000 | Hitting_3B | 0.040 | 0.000 | 0.960 | 1.000 |
| predicted_AB | 3.515 | 4.000 | 4.000 | Hitting_AB | 3.643 | 3.000 | 0.357 | 1.000 |
| predicted_AVG | 0.223 | 0.250 | 0.250 | Hitting_AVG | 0.216 | 0.000 | 0.034 | 0.250 |
| predicted_BB | 0.402 | 0.000 | 0.000 | Hitting_BB | 0.483 | 1.000 | -0.483 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.784 | 1.000 | 1.000 | Hitting_H | 0.786 | 0.000 | 0.214 | 1.000 |
| predicted_HR | 0.062 | 0.000 | 0.000 | Hitting_HR | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_OBP | 0.303 | 0.250 | 0.250 | Hitting_OBP | 0.312 | 0.250 | -0.062 | 0.000 |
| predicted_R | 0.505 | 0.000 | 0.000 | Hitting_R | 0.554 | 1.000 | -0.554 | -1.000 |
| predicted_RBI | 0.412 | 0.000 | 0.000 | Hitting_RBI | 0.483 | 0.000 | -0.483 | 0.000 |
| predicted_SLG | 0.343 | 0.750 | 0.750 | Hitting_SLG | 0.344 | 0.000 | 0.406 | 0.750 |
| predicted_SO | 0.825 | 2.000 | 2.000 | Hitting_SO | 0.834 | 2.000 | 1.166 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8250 -> 2.0000 (boost 1.1750, worse) |
| Biggest Deboost | predicted_R: 0.5050 -> 0.0000 (deboost -0.5050, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.8250 -> 0.9009 (boost 0.0759, worse) | predicted_SLG: 0.3430 -> 0.3377 (deboost -0.0053, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.7969 -> 1.0000 (boost 0.2031, better) | predicted_AB: 3.5296 -> 3.0000 (deboost -0.5296, worse) | AB rounded to 3 (raw=3.53), rates preserved: AVG=0.215 HR/AB=0.015 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5253 -> 1.0000 (boost 0.4747, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4015 (boost 0.4015, better) | predicted_H: 1.0000 -> 0.7386 (deboost -0.2614, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 4 | 4 | 3 | 5 | predicted_H: 0.7386 -> 1.0000 (boost 0.2614, better) | predicted_RBI: 0.4015 -> 0.0000 (deboost -0.4015, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 4 | 3 | 1 | 2 | 2 | predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3040 -> 0.2880 (deboost -0.0160, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "695731",
"player_name": "Braden Montgomery",
"position": "RF",
"team": "CHW",
"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.031,
"predicted_AB": 3.515,
"predicted_AVG": 0.223,
"predicted_BB": 0.402,
"predicted_H": 0.784,
"predicted_HR": 0.062,
"predicted_OBP": 0.303,
"predicted_R": 0.505,
"predicted_RBI": 0.412,
"predicted_SLG": 0.343,
"predicted_SO": 0.825
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1793,
"predicted_3B": 0.0254,
"predicted_AB": 3.5296,
"predicted_AVG": 0.2266,
"predicted_BB": 0.3578,
"predicted_H": 0.7999,
"predicted_HBP": 0.02,
"predicted_HR": 0.0543,
"predicted_OBP": 0.2991,
"predicted_R": 0.5282,
"predicted_RBI": 0.3961,
"predicted_SLG": 0.3377,
"predicted_SO": 0.9009
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3377,
"delta": -0.0053,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.825,
"after": 0.9009,
"delta": 0.0759,
"percent_delta": 0.092,
"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.825,
"after": 0.9009,
"delta": 0.0759,
"percent_delta": 0.092,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3377,
"delta": -0.0053,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 97
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1793,
"predicted_3B": 0.0254,
"predicted_AB": 3.5296,
"predicted_AVG": 0.2258,
"predicted_BB": 0.3587,
"predicted_H": 0.7969,
"predicted_HBP": 0.02,
"predicted_HR": 0.0542,
"predicted_OBP": 0.2972,
"predicted_R": 0.5253,
"predicted_RBI": 0.3939,
"predicted_SLG": 0.3371,
"predicted_SO": 0.8986
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.53), rates preserved: AVG=0.215 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1793,
"after": 0.0,
"delta": -0.1793,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5296,
"after": 3.0,
"delta": -0.5296,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3587,
"after": 0.0,
"delta": -0.3587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7969,
"after": 1.0,
"delta": 0.2031,
"percent_delta": 0.2549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0542,
"after": 0.0,
"delta": -0.0542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3939,
"after": 0.0,
"delta": -0.3939,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8986,
"after": 1.0,
"delta": 0.1014,
"percent_delta": 0.1128,
"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.7969,
"after": 1.0,
"delta": 0.2031,
"percent_delta": 0.2549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5296,
"after": 3.0,
"delta": -0.5296,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"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
}
},
{
"index": 7,
"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_R",
"before": 0.5253,
"after": 1.0,
"delta": 0.4747,
"percent_delta": 0.9037,
"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_R",
"before": 0.5253,
"after": 1.0,
"delta": 0.4747,
"percent_delta": 0.9037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1563,
"predicted_3B": 0.0153,
"predicted_BB": 0.3631,
"predicted_H": 0.7386,
"predicted_HR": 0.0955,
"predicted_RBI": 0.4015,
"predicted_SO": 0.9104
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1563,
"delta": 0.1563,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3631,
"delta": 0.3631,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7386,
"delta": -0.2614,
"percent_delta": -0.2614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0955,
"delta": 0.0955,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4015,
"delta": 0.4015,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9104,
"delta": -0.0896,
"percent_delta": -0.0896,
"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_RBI",
"before": 0.0,
"after": 0.4015,
"delta": 0.4015,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7386,
"delta": -0.2614,
"percent_delta": -0.2614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.222,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1563,
"after": 0.0,
"delta": -0.1563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3631,
"after": 0.0,
"delta": -0.3631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7386,
"after": 1.0,
"delta": 0.2614,
"percent_delta": 0.3539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0955,
"after": 0.0,
"delta": -0.0955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2972,
"after": 0.304,
"delta": 0.0068,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4015,
"after": 0.0,
"delta": -0.4015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3371,
"after": 0.364,
"delta": 0.0269,
"percent_delta": 0.0798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9104,
"after": 1.0,
"delta": 0.0896,
"percent_delta": 0.0984,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7386,
"after": 1.0,
"delta": 0.2614,
"percent_delta": 0.3539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4015,
"after": 0.0,
"delta": -0.4015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.222,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.364,
"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
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_3B",
"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
}
}
},
{
"index": 14,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 15,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.214,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.288,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.352,
"predicted_SO": 2.0,
"predicted_TB": 3.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.214,
"delta": -0.008,
"percent_delta": -0.036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.288,
"delta": -0.016,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.352,
"delta": -0.012,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.304,
"after": 0.288,
"delta": -0.016,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"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.031,
"after": 1.0,
"delta": 0.969,
"percent_delta": 31.2581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.515,
"after": 4.0,
"delta": 0.485,
"percent_delta": 0.138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.214,
"delta": -0.009,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.402,
"after": 0.0,
"delta": -0.402,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.784,
"after": 1.0,
"delta": 0.216,
"percent_delta": 0.2755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.288,
"delta": -0.015,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.0,
"delta": -0.505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.352,
"delta": 0.009,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.825,
"after": 2.0,
"delta": 1.175,
"percent_delta": 1.4242,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.825,
"after": 2.0,
"delta": 1.175,
"percent_delta": 1.4242,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.505,
"after": 0.0,
"delta": -0.505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.031 | - |
| predicted_AB | 3.515 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.402 | - |
| predicted_H | 0.784 | - |
| predicted_HR | 0.062 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.505 | - |
| predicted_RBI | 0.412 | - |
| predicted_SLG | 0.343 | - |
| predicted_SO | 0.825 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.004 |
| predicted_3B | 0.025 | -0.006 |
| predicted_AB | 3.530 | 0.015 |
| predicted_AVG | 0.227 | 0.004 |
| predicted_BB | 0.358 | -0.044 |
| predicted_H | 0.800 | 0.016 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.054 | -0.008 |
| predicted_OBP | 0.299 | -0.004 |
| predicted_R | 0.528 | 0.023 |
| predicted_RBI | 0.396 | -0.016 |
| predicted_SLG | 0.338 | -0.005 |
| predicted_SO | 0.901 | 0.076 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 3.530 | 0.000 |
| predicted_AVG | 0.226 | -0.001 |
| predicted_BB | 0.359 | 0.001 |
| predicted_H | 0.797 | -0.003 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.054 | -0.000 |
| predicted_OBP | 0.297 | -0.002 |
| predicted_R | 0.525 | -0.003 |
| predicted_RBI | 0.394 | -0.002 |
| predicted_SLG | 0.337 | -0.001 |
| predicted_SO | 0.899 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.53), rates preserved: AVG=0.215 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.156 | 0.156 |
| 3B | 0.015 | 0.015 |
| BB | 0.363 | 0.363 |
| H | 0.739 | -0.261 |
| HR | 0.096 | 0.096 |
| RBI | 0.402 | 0.402 |
| SO | 0.910 | -0.090 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.156 |
| 3B | 0.000 | -0.015 |
| AB | 3.000 | 0.000 |
| AVG | 0.222 | - |
| BB | 0.000 | -0.363 |
| H | 1.000 | 0.261 |
| HR | 0.000 | -0.096 |
| OBP | 0.304 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.402 |
| SLG | 0.364 | - |
| SO | 1.000 | 0.090 |
Player 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.025 |
| predicted_AB | 3.000 | -0.530 |
| predicted_AVG | 0.222 | -0.004 |
| predicted_BB | 0.000 | -0.359 |
| predicted_H | 1.000 | 0.203 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.304 | 0.007 |
| predicted_R | 1.000 | 0.475 |
| predicted_RBI | 0.000 | -0.394 |
| predicted_SLG | 0.364 | 0.027 |
| predicted_SO | 1.000 | 0.101 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| 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 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 8.000 | 0.1667 | 0.2105 | 0.2222 | 0.1667 | 0.0000 | 0.1111 | 0.0556 | 0.4444 |
| last_10 | 0.20 | 10 | - | 35.000 | 11.000 | 2.000 | 0.000 | 0.000 | 2.000 | 7.000 | 1.000 | 10.000 | 0.3143 | 0.3333 | 0.3714 | 0.3143 | 0.0000 | 0.0571 | 0.0286 | 0.2857 |
| season | 0.60 | 97 | - | 341.000 | 76.000 | 17.000 | 3.000 | 6.000 | 40.000 | 49.000 | 39.000 | 80.000 | 0.2229 | 0.3073 | 0.3431 | 0.2229 | 0.0176 | 0.1173 | 0.1144 | 0.2346 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1850 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.5490 |
| predicted_AVG | 0.2313 |
| predicted_BB | 0.2990 |
| predicted_H | 0.8210 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0440 |
| predicted_OBP | 0.2940 |
| predicted_R | 0.5590 |
| predicted_RBI | 0.3750 |
| predicted_SLG | 0.3306 |
| predicted_SO | 1.0020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1750 | 0.1850 | 0.1793 | model_form_blend |
| predicted_3B | 0.0310 | 0.0180 | 0.0254 | model_form_blend |
| predicted_AB | 3.5150 | 3.5490 | 3.5296 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2313 | 0.2266 | model_form_blend |
| predicted_BB | 0.4020 | 0.2990 | 0.3578 | model_form_blend |
| predicted_H | 0.7840 | 0.8210 | 0.7999 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0620 | 0.0440 | 0.0543 | model_form_blend |
| predicted_OBP | 0.3030 | 0.2940 | 0.2991 | model_form_blend |
| predicted_R | 0.5050 | 0.5590 | 0.5282 | model_form_blend |
| predicted_RBI | 0.4120 | 0.3750 | 0.3961 | model_form_blend |
| predicted_SLG | 0.3430 | 0.3306 | 0.3377 | model_form_blend |
| predicted_SO | 0.8250 | 1.0020 | 0.9009 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 350 |
| Season rows before report date | 350 |
| Report year | 2026 |
| Profile rows used | 97 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 695731 |
| playerID | 695731 |
| playerName | Braden Montgomery |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-07 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.298 |
| sl_xwoba | 0.325 |
| sl_xba | 0.255 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 3.0 |
| sl_whiff_percent | 30.1 |
| 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.160 | 0.000 | 0.000 | Hitting_2B | 0.175 | 1.000 | -0.175 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.699 | 4.000 | 4.000 | Hitting_AB | 3.819 | 3.000 | 0.181 | 1.000 |
| predicted_AVG | 0.223 | 0.000 | 0.000 | Hitting_AVG | 0.206 | 0.667 | -0.206 | -0.667 |
| predicted_BB | 0.353 | 0.000 | 0.000 | Hitting_BB | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.810 | 0.000 | 0.000 | Hitting_H | 0.788 | 2.000 | -0.788 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_OBP | 0.287 | 0.000 | 0.000 | Hitting_OBP | 0.292 | 0.667 | -0.292 | -0.667 |
| predicted_R | 0.462 | 0.000 | 0.000 | Hitting_R | 0.506 | 0.000 | -0.506 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 0.000 | Hitting_RBI | 0.618 | 1.000 | -0.618 | -1.000 |
| predicted_SLG | 0.401 | 0.000 | 0.000 | Hitting_SLG | 0.424 | 1.000 | -0.424 | -1.000 |
| predicted_SO | 1.474 | 2.000 | 2.000 | Hitting_SO | 1.502 | 0.000 | 0.498 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 1.4740 -> 2.0000 (boost 0.5260, worse) |
| Biggest Deboost | predicted_H: 0.8100 -> 0.0000 (deboost -0.8100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 3.6990 -> 3.6177 (deboost -0.0813, worse) | Final model input calibrated with local 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.2811 -> 0.2714 (deboost -0.0097, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_H: 0.7387 -> 1.0000 (boost 0.2613, better) | predicted_AB: 3.6177 -> 3.0000 (deboost -0.6177, worse) | AB rounded to 3 (raw=3.70), rates preserved: AVG=0.191 HR/AB=0.046 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4221 -> 0.0000 (deboost -0.4221, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.5129 (boost 0.5129, better) | predicted_H: 1.0000 -> 0.6754 (deboost -0.3246, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5129 -> 1.0000 (boost 0.4871, better) | predicted_H: 0.6754 -> 0.0000 (deboost -0.6754, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated |
| 13 | play_by_play_realization | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 14 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 15 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2100 -> 0.1950 (deboost -0.0150, worse) | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"team": "CHW",
"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": 3.699,
"predicted_AVG": 0.223,
"predicted_BB": 0.353,
"predicted_H": 0.81,
"predicted_HR": 0.16,
"predicted_OBP": 0.287,
"predicted_R": 0.462,
"predicted_RBI": 0.52,
"predicted_SLG": 0.401,
"predicted_SO": 1.474
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1596,
"predicted_3B": 0.0004,
"predicted_AB": 3.6177,
"predicted_AVG": 0.2068,
"predicted_BB": 0.3329,
"predicted_H": 0.7414,
"predicted_HBP": 0.118,
"predicted_HR": 0.1696,
"predicted_OBP": 0.2811,
"predicted_R": 0.4244,
"predicted_RBI": 0.4933,
"predicted_SLG": 0.3947,
"predicted_SO": 1.4342
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.699,
"after": 3.6177,
"delta": -0.0813,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2068,
"delta": -0.0162,
"percent_delta": -0.0726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.7414,
"delta": -0.0686,
"percent_delta": -0.0847,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2811,
"delta": -0.0059,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3947,
"delta": -0.0063,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.699,
"after": 3.6177,
"delta": -0.0813,
"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": 156
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1596,
"predicted_3B": 0.0004,
"predicted_AB": 3.6177,
"predicted_AVG": 0.2042,
"predicted_BB": 0.3337,
"predicted_H": 0.7387,
"predicted_HBP": 0.118,
"predicted_HR": 0.1694,
"predicted_OBP": 0.2714,
"predicted_R": 0.4221,
"predicted_RBI": 0.4906,
"predicted_SLG": 0.389,
"predicted_SO": 1.4306
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2811,
"after": 0.2714,
"delta": -0.0097,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3947,
"after": 0.389,
"delta": -0.0057,
"percent_delta": -0.0144,
"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_OBP",
"before": 0.2811,
"after": 0.2714,
"delta": -0.0097,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.70), rates preserved: AVG=0.191 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.1596,
"after": 0.0,
"delta": -0.1596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6177,
"after": 3.0,
"delta": -0.6177,
"percent_delta": -0.1707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3337,
"after": 0.0,
"delta": -0.3337,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7387,
"after": 1.0,
"delta": 0.2613,
"percent_delta": 0.3537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1694,
"after": 0.0,
"delta": -0.1694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4906,
"after": 0.0,
"delta": -0.4906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4306,
"after": 1.0,
"delta": -0.4306,
"percent_delta": -0.301,
"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.7387,
"after": 1.0,
"delta": 0.2613,
"percent_delta": 0.3537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6177,
"after": 3.0,
"delta": -0.6177,
"percent_delta": -0.1707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"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
}
},
{
"index": 7,
"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_R",
"before": 0.4221,
"after": 0.0,
"delta": -0.4221,
"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_R",
"before": 0.4221,
"after": 0.0,
"delta": -0.4221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1489,
"predicted_3B": 0.0072,
"predicted_BB": 0.2615,
"predicted_H": 0.6754,
"predicted_HR": 0.1463,
"predicted_RBI": 0.5129,
"predicted_SO": 1.4772
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1489,
"delta": 0.1489,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2615,
"delta": 0.2615,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6754,
"delta": -0.3246,
"percent_delta": -0.3246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1463,
"delta": 0.1463,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5129,
"delta": 0.5129,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4772,
"delta": 0.4772,
"percent_delta": 0.4772,
"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_RBI",
"before": 0.0,
"after": 0.5129,
"delta": 0.5129,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6754,
"delta": -0.3246,
"percent_delta": -0.3246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.397,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1489,
"after": 0.0,
"delta": -0.1489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2042,
"after": 0.21,
"delta": 0.0058,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2615,
"after": 0.0,
"delta": -0.2615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6754,
"after": 0.0,
"delta": -0.6754,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1463,
"after": 0.0,
"delta": -0.1463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5129,
"after": 1.0,
"delta": 0.4871,
"percent_delta": 0.9497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.397,
"delta": 0.008,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4772,
"after": 1.0,
"delta": -0.4772,
"percent_delta": -0.323,
"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.5129,
"after": 1.0,
"delta": 0.4871,
"percent_delta": 0.9497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6754,
"after": 0.0,
"delta": -0.6754,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.397,
"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
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "market_blend",
"description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"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_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 14,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 15,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.195,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.277,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.382,
"predicted_SO": 2.0,
"predicted_SS": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.195,
"delta": -0.015,
"percent_delta": -0.0714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.382,
"delta": -0.015,
"percent_delta": -0.0378,
"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_AVG",
"before": 0.21,
"after": 0.195,
"delta": -0.015,
"percent_delta": -0.0714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
}
],
"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_AB",
"before": 3.699,
"after": 4.0,
"delta": 0.301,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.195,
"delta": -0.028,
"percent_delta": -0.1256,
"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.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.277,
"delta": -0.01,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.382,
"delta": -0.019,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.474,
"after": 2.0,
"delta": 0.526,
"percent_delta": 0.3569,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 2,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.474,
"after": 2.0,
"delta": 0.526,
"percent_delta": 0.3569,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.699 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.353 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.462 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 1.474 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | -0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.618 | -0.081 |
| predicted_AVG | 0.207 | -0.016 |
| predicted_BB | 0.333 | -0.020 |
| predicted_H | 0.741 | -0.069 |
| predicted_HBP | 0.118 | - |
| predicted_HR | 0.170 | 0.010 |
| predicted_OBP | 0.281 | -0.006 |
| predicted_R | 0.424 | -0.038 |
| predicted_RBI | 0.493 | -0.027 |
| predicted_SLG | 0.395 | -0.006 |
| predicted_SO | 1.434 | -0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.618 | 0.000 |
| predicted_AVG | 0.204 | -0.003 |
| predicted_BB | 0.334 | 0.001 |
| predicted_H | 0.739 | -0.003 |
| predicted_HBP | 0.118 | 0.000 |
| predicted_HR | 0.169 | -0.000 |
| predicted_OBP | 0.271 | -0.010 |
| predicted_R | 0.422 | -0.002 |
| predicted_RBI | 0.491 | -0.003 |
| predicted_SLG | 0.389 | -0.006 |
| predicted_SO | 1.431 | -0.004 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.70), rates preserved: AVG=0.191 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 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.149 | 0.149 |
| 3B | 0.007 | 0.007 |
| BB | 0.262 | 0.262 |
| H | 0.675 | -0.325 |
| HR | 0.146 | 0.146 |
| RBI | 0.513 | 0.513 |
| SO | 1.477 | 0.477 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.149 |
| 3B | 0.000 | -0.007 |
| AB | 3.000 | 0.000 |
| AVG | 0.210 | - |
| BB | 0.000 | -0.262 |
| H | 0.000 | -0.675 |
| HR | 0.000 | -0.146 |
| OBP | 0.275 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.487 |
| SLG | 0.397 | - |
| SO | 1.000 | -0.477 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.160 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.618 |
| predicted_AVG | 0.210 | 0.006 |
| predicted_BB | 0.000 | -0.334 |
| predicted_H | 0.000 | -0.739 |
| predicted_HR | 0.000 | -0.169 |
| predicted_OBP | 0.275 | 0.004 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 1.000 | 0.509 |
| predicted_SLG | 0.397 | 0.008 |
| predicted_SO | 1.000 | -0.431 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.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 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.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 | 2.000 | 1.000 | 1.000 | 6.000 | 0.2000 | 0.2941 | 0.4667 | 0.2000 | 0.0667 | 0.1333 | 0.0667 | 0.4000 |
| last_10 | 0.20 | 10 | - | 34.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 14.000 | 0.1176 | 0.2105 | 0.2353 | 0.1177 | 0.0294 | 0.0588 | 0.0882 | 0.4118 |
| season | 0.60 | 156 | - | 577.000 | 115.000 | 25.000 | 0.000 | 32.000 | 89.000 | 72.000 | 55.000 | 230.000 | 0.1993 | 0.2851 | 0.4090 | 0.1993 | 0.0555 | 0.1542 | 0.0953 | 0.3986 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1590 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5130 |
| predicted_AVG | 0.1860 |
| predicted_BB | 0.3070 |
| predicted_H | 0.6530 |
| predicted_HBP | 0.1180 |
| predicted_HR | 0.1820 |
| predicted_OBP | 0.2735 |
| predicted_R | 0.3760 |
| predicted_RBI | 0.4590 |
| predicted_SLG | 0.3867 |
| predicted_SO | 1.3830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1590 | 0.1596 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6990 | 3.5130 | 3.6177 | model_form_blend |
| predicted_AVG | 0.2230 | 0.1860 | 0.2068 | model_form_blend |
| predicted_BB | 0.3530 | 0.3070 | 0.3329 | model_form_blend |
| predicted_H | 0.8100 | 0.6530 | 0.7414 | model_form_blend |
| predicted_HBP | - | 0.1180 | 0.1180 | form_only |
| predicted_HR | 0.1600 | 0.1820 | 0.1696 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2735 | 0.2811 | model_form_blend |
| predicted_R | 0.4620 | 0.3760 | 0.4244 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4590 | 0.4933 | model_form_blend |
| predicted_SLG | 0.4010 | 0.3867 | 0.3947 | model_form_blend |
| predicted_SO | 1.4740 | 1.3830 | 1.4342 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 613 |
| Season rows before report date | 613 |
| Report year | 2026 |
| Profile rows used | 156 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_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 | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 695657 |
| playerID | 695657 |
| playerName | Colson Montgomery |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 35.6 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.3 |
| sl_xwoba | 0.294 |
| sl_xba | 0.199 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 23.6 |
| sl_whiff_percent | 37.4 |
| sl_swing_percent | 51.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.238 | 1.000 | -0.238 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.667 | 1.000 | 0.333 | 0.000 |
| predicted_IP | 2.200 | 2.200 | 2.200 | Pitching_InningsPitched | 1.457 | 0.200 | 0.743 | 2.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 2.238 | 1.000 | 0.762 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 3 |
| Better Metrics | 2 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.0000 -> 2.2000 (deboost -2.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 8 | market_blend | 0 | 0 | 0 | 0 | 0 | - | - | Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score |
| 9 | play_by_play_realization | 3 | 0 | 3 | 2 | 1 | - | predicted_IP: 5.0000 -> 2.2000 (deboost -2.8000, worse) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 10 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "696146",
"player_name": "Hagen Smith",
"position": "Starter",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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
}
},
{
"index": 8,
"step": "market_blend",
"description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 9,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.2,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 2.2,
"delta": -2.8,
"percent_delta": -0.56,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 2.2,
"delta": -2.8,
"percent_delta": -0.56,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.2,
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 2.2,
"delta": -2.8,
"percent_delta": -0.56,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 2.2,
"delta": -2.8,
"percent_delta": -0.56,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 3.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| predicted_SO | 3.000 | 0.000 |
Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 1.000 | - |
| BF | 10.000 | - |
| ER | 0.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 2.200 | - |
| Pitches | 38.000 | - |
| R | 0.000 | - |
| SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 9.000 | 2.000 | 5.000 | 6.000 | 9.000 | 0.000 | 2.0000 | 1.2222 | 0.2222 | 0.5556 | 0.6667 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 16.100 | 4.000 | 7.000 | 11.000 | 21.000 | 0.000 | 2.2041 | 1.1020 | 0.2449 | 0.4286 | 0.6735 | 1.2857 | 0.0000 |
| season | 0.20 | 20 | 34.100 | 4.000 | 13.000 | 21.000 | 47.000 | 0.000 | 1.0485 | 0.9903 | 0.1165 | 0.3786 | 0.6117 | 1.3689 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6540 |
| predicted_ER | 1.0200 |
| predicted_ERA | 3.0147 |
| predicted_H | 2.0900 |
| predicted_HR | 0.1860 |
| predicted_IP | 3.0000 |
| predicted_SO | 3.2730 |
| predicted_WHIP | 1.2294 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6540 | 1.3108 | model_form_blend |
| predicted_ER | 2.0000 | 1.0200 | 1.5343 | model_form_blend |
| predicted_ERA | - | 3.0147 | 3.0147 | form_only |
| predicted_H | 3.0000 | 2.0900 | 2.5675 | model_form_blend |
| predicted_HR | 0.0000 | 0.1860 | 0.0884 | model_form_blend |
| predicted_IP | 5.0000 | 3.0000 | 4.0000 | model_form_blend |
| predicted_SO | 3.0000 | 3.2730 | 3.1297 | model_form_blend |
| predicted_WHIP | - | 1.2294 | 1.2294 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 2.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 3 |
| HR | 0 |
| BF | 10 |
| Pitches | 38 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 1 |
| Pitching_ERA | 1.42 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261007_CLE@CHW |
| game_type | full |
| mlbID | 696146 |
| playerID | 696146 |
| playerName | Hagen Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-07 |
| sl_k_percent | 37.3 |
| sl_bb_percent | 14.5 |
| sl_woba | 0.211 |
| sl_xwoba | 0.243 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 1.9 |
| sl_hard_hit_percent | 34.0 |
| sl_whiff_percent | 36.2 |
| sl_swing_percent | 42.4 |
| sl_avg_best_speed | 75.859778846 |
| sl_avg_hyper_speed | 93.418211538 |
| 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.581 | 0.000 | -0.581 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.395 | 3.000 | 0.605 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.837 | 4.000 | 0.163 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.784 | 1.000 | 0.216 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.140 | 2.000 | 0.860 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 4 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 3 |
| Better Metrics | 4 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 4 | 1 | 3 | 4 | 0 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "663855",
"player_name": "Jordan Hicks",
"position": "Middle Reliever (High Leverage)",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 4.000 | - |
| ER | 1.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 1.000 | - |
| Pitches | 16.000 | - |
| R | 1.000 | - |
| 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 | 4.000 | 6.000 | 3.000 | 9.000 | 1.000 | 6.0000 | 1.5000 | 0.6667 | 1.0000 | 0.5000 | 1.5000 | 0.1667 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 13.000 | 4.000 | 14.000 | 2.000 | 5.4000 | 1.7000 | 0.6000 | 1.3000 | 0.4000 | 1.4000 | 0.2000 |
| season | 0.20 | 42 | 40.000 | 17.000 | 35.000 | 25.000 | 49.000 | 3.000 | 3.8250 | 1.5000 | 0.4250 | 0.8750 | 0.6250 | 1.2250 | 0.0750 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4910 |
| predicted_ER | 0.6170 |
| predicted_ERA | 5.0786 |
| predicted_H | 1.1420 |
| predicted_HR | 0.1700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3460 |
| predicted_WHIP | 1.4927 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4910 | 0.2409 | model_form_blend |
| predicted_ER | 2.0000 | 0.6170 | 1.3214 | model_form_blend |
| predicted_ERA | - | 5.0786 | 5.0786 | form_only |
| predicted_H | 2.0000 | 1.1420 | 1.5790 | model_form_blend |
| predicted_HR | 1.0000 | 0.1700 | 0.5927 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3460 | 1.1698 | model_form_blend |
| predicted_WHIP | - | 1.4927 | 1.4927 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 42 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.83 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 24 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260825_TEX@CHW |
| game_type | full |
| mlbID | 663855 |
| playerID | 663855 |
| playerName | Jordan Hicks |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-25 |
| game_pk | 824556.0 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.309 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 33.1 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 44.3 |
| sv_pitch_count | 24.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 94.46666666666664 |
| sv_release_spin_rate | 2106.5 |
| sv_effective_speed | 94.69583333333333 |
| sv_launch_speed | 87.17777777777778 |
| sv_launch_angle | 28.33333333333333 |
| sv_woba_value | 5.05 |
| sv_woba_denom | 7.0 |
| sv_delta_run_exp | 2.059 |
| sv_delta_home_win_exp | -0.049 |
| sl_avg_best_speed | 78.231887586 |
| sl_avg_hyper_speed | 93.498076 |
| 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.254 | 0.000 | 1.746 | 2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.328 | 2.000 | 0.672 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.925 | 4.000 | 0.075 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.857 | 0.100 | 0.143 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.881 | 0.000 | 0.119 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 4 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 4 | 4 | 0 | 0 | 4 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse) | - | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "663542",
"player_name": "Bryan Hudson",
"position": "Middle Reliever (High Leverage)",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 2.000 | - |
| BF | 7.000 | - |
| ER | 1.000 | - |
| H | 1.000 | - |
| HR | 1.000 | - |
| IP | 1.000 | - |
| Pitches | 26.000 | - |
| R | 1.000 | - |
| SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 6.000 | 0.000 | 2.000 | 1.000 | 4.1538 | 1.3846 | 0.4615 | 1.3846 | 0.0000 | 0.4615 | 0.2308 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 11.000 | 0.000 | 7.000 | 1.000 | 1.7419 | 1.0645 | 0.1935 | 1.0645 | 0.0000 | 0.6774 | 0.0968 |
| season | 0.20 | 66 | 65.100 | 19.000 | 59.000 | 17.000 | 59.000 | 5.000 | 2.6173 | 1.1633 | 0.2908 | 0.9031 | 0.2602 | 0.9031 | 0.0765 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1410 |
| predicted_ER | 0.3820 |
| predicted_ERA | 3.4403 |
| predicted_H | 1.1240 |
| predicted_HR | 0.1520 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7090 |
| predicted_WHIP | 1.2653 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1410 | 0.0755 | model_form_blend |
| predicted_ER | 0.0000 | 0.3820 | 0.2047 | model_form_blend |
| predicted_ERA | - | 3.4403 | 3.4403 | form_only |
| predicted_H | 0.0000 | 1.1240 | 0.6022 | model_form_blend |
| predicted_HR | 0.0000 | 0.1520 | 0.0814 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7090 | 0.8441 | model_form_blend |
| predicted_WHIP | - | 1.2653 | 1.2653 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 67 |
| Season rows before report date | 67 |
| Report year | 2026 |
| Profile rows used | 66 |
| 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 | 2 |
| SO | 1 |
| HR | 1 |
| BF | 7 |
| Pitches | 26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.03 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 14 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260918_DET@CHW |
| game_type | full |
| mlbID | 663542 |
| playerID | 663542 |
| playerName | Bryan Hudson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-18 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.304 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 47.9 |
| sl_avg_best_speed | 77.03898567 |
| sl_avg_hyper_speed | 93.301948299 |
| 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.611 | 1.000 | 0.389 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.167 | 0.000 | -0.167 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 4.500 | 1.000 | -2.500 | 1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 4.289 | 1.100 | -2.289 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 3.583 | 0.000 | -2.583 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 4 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 4 | 4 | 0 | 1 | 3 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse) | - | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "641743",
"player_name": "Anthony Kay",
"position": "Setup Man",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 2.0,
"predicted_R": 2.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 2.0,
"delta": 0.6667,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 2.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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 2.0,
"delta": 0.6667,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 2.000 | - |
| BF | 10.000 | - |
| ER | 2.000 | - |
| H | 2.000 | - |
| HR | 0.000 | - |
| IP | 2.000 | - |
| Pitches | 53.000 | - |
| R | 2.000 | - |
| 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 | 15.000 | 5.000 | 15.000 | 7.000 | 11.000 | 1.000 | 3.0000 | 1.4667 | 0.3333 | 1.0000 | 0.4667 | 0.7333 | 0.0667 |
| last_10 | 0.35 | 10 | 38.200 | 24.000 | 43.000 | 14.000 | 31.000 | 5.000 | 5.5862 | 1.4741 | 0.6207 | 1.1121 | 0.3621 | 0.8017 | 0.1293 |
| season | 0.20 | 35 | 160.000 | 78.000 | 162.000 | 58.000 | 129.000 | 21.000 | 4.3875 | 1.3750 | 0.4875 | 1.0125 | 0.3625 | 0.8063 | 0.1313 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3750 |
| predicted_ER | 1.5960 |
| predicted_ERA | 4.2376 |
| predicted_H | 3.5070 |
| predicted_HR | 0.3640 |
| predicted_IP | 3.1000 |
| predicted_SO | 2.6850 |
| predicted_WHIP | 1.4402 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.3750 | 0.8211 | model_form_blend |
| predicted_ER | 0.0000 | 1.5960 | 0.9531 | model_form_blend |
| predicted_ERA | - | 4.2376 | 4.2376 | form_only |
| predicted_H | 0.0000 | 3.5070 | 2.0943 | model_form_blend |
| predicted_HR | 0.0000 | 0.3640 | 0.2174 | model_form_blend |
| predicted_IP | 1.1000 | 3.1000 | 2.2000 | model_form_blend |
| predicted_SO | 1.0000 | 2.6850 | 2.0063 | model_form_blend |
| predicted_WHIP | - | 1.4402 | 1.4402 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 1 |
| HR | 0 |
| BF | 10 |
| Pitches | 53 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| 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 | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261003_CHW@CLE |
| game_type | full |
| mlbID | 641743 |
| playerID | 641743 |
| playerName | Anthony Kay |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-10-03 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.339 |
| sl_xwoba | 0.342 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 38.9 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 76.49562281 |
| sl_avg_hyper_speed | 94.225161921 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.366 | 0.000 | 0.634 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.976 | 2.000 | 0.024 | -1.000 |
| predicted_IP | 2.100 | 2.100 | 2.100 | Pitching_InningsPitched | 1.266 | 1.200 | 0.834 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.854 | 1.000 | -0.854 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 2 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_IP: 0.6667 -> 2.1000 (boost 1.4333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 2 | 2 | 0 | 1 | 1 | predicted_IP: 0.6667 -> 2.1000 (boost 1.4333, better) | - | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "691799",
"player_name": "Grant Taylor",
"position": "Closer",
"team": "CHW",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 2.1,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 2.1,
"delta": 1.4333,
"percent_delta": 2.15,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 2.1,
"delta": 1.4333,
"percent_delta": 2.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 2.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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 2.1,
"delta": 1.4333,
"percent_delta": 2.15,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 2.1,
"delta": 1.4333,
"percent_delta": 2.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 8.000 | - |
| ER | 1.000 | - |
| H | 1.000 | - |
| HR | 1.000 | - |
| IP | 2.100 | - |
| Pitches | 30.000 | - |
| R | 1.000 | - |
| 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 | 8.000 | 0.000 | 4.000 | 1.000 | 9.000 | 0.000 | 0.0000 | 0.6250 | 0.0000 | 0.5000 | 0.1250 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 15.000 | 2.000 | 5.000 | 6.000 | 16.000 | 1.000 | 1.2000 | 0.7333 | 0.1333 | 0.3333 | 0.4000 | 1.0667 | 0.0667 |
| season | 0.20 | 41 | 56.100 | 15.000 | 40.000 | 18.000 | 76.000 | 4.000 | 2.3964 | 1.0296 | 0.2663 | 0.7101 | 0.3195 | 1.3491 | 0.0710 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3670 |
| predicted_ER | 0.2780 |
| predicted_ERA | 2.0183 |
| predicted_H | 0.7850 |
| predicted_HR | 0.0880 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3430 |
| predicted_WHIP | 0.9306 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3670 | 0.1919 | model_form_blend |
| predicted_ER | 1.0000 | 0.2780 | 0.6224 | model_form_blend |
| predicted_ERA | - | 2.0183 | 2.0183 | form_only |
| predicted_H | 1.0000 | 0.7850 | 0.8876 | model_form_blend |
| predicted_HR | 0.0000 | 0.0880 | 0.0460 | model_form_blend |
| predicted_IP | 0.2000 | 1.1000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3430 | 1.1794 | model_form_blend |
| predicted_WHIP | - | 0.9306 | 0.9306 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 8 |
| Pitches | 30 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.40 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260802_CHW@TB |
| game_type | full |
| mlbID | 691799 |
| playerID | 691799 |
| playerName | Grant Taylor |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-02 |
| game_pk | 822943.0 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.26 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 41.2 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 46.5 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 5.0 |
| sv_release_speed | 88.12727272727273 |
| sv_release_spin_rate | 2356.681818181818 |
| sv_effective_speed | 88.98181818181818 |
| sv_launch_speed | 86.17 |
| sv_launch_angle | -1.4 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | -0.38 |
| sv_delta_home_win_exp | -0.037 |
| sl_avg_best_speed | 79.579557677 |
| sl_avg_hyper_speed | 94.193453604 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TB 4 - 3 NYY | TB | 0.505 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | TB 4 - 3 NYY | TB | - | organic_simulation_realized_target | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.4601; empirical=0.5485; weight=0.4500; final=0.4999 |
| P1 | H2H margin as base feature | available | home net=14; abs=14; home delta=0.0808; away delta=-0.0808 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=2.2500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=0.2853; recent edge=-0.0280; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.4000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5052 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_simulation_realized_target |
| 10. Score evolution rendered | 8 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.377 | 4.138 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 3 | 0.5052 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| 4 | kpi_layer | 4 | 3 | - | Savant KPI blend computed and withheld; baseline kept |
| 5 | embedded_savant_run_environment | 4 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 6 | fundamental_edge_target_review | 4 | 3 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 7 | capped_target | 4 | 3 | - | Capped at max 12 realistic runs |
| 8 | simulation_result | 4 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6914939126501769,
"base_low_score_probability": 0.4275618374558304,
"low_score_signal_threshold": 0.5075618374558304,
"low_score_signal_strength": 0.2639320751943465,
"confidence": 0.9,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.6172956800000005
},
"prediction": "low_scoring",
"expected_total_runs": 7,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.4,
"low_score_model_expected_total_runs": 6.4,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 567,
"near_bucket_sample_size": 567,
"medium_bucket_sample_size": 789,
"wide_bucket_sample_size": 893,
"global_sample_size": 1135,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5485,
"bayesian_hit_rate": 0.547,
"prior_strength": 18.0,
"raw_pick_probability": 0.5,
"raw_pick_probability_unclamped": 0.483,
"score_probability_conflict": true,
"margin_implied_home_probability": 0.4927,
"margin_implied_pick_probability": 0.5073,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5033,
"score_implied_floor_pick_probability": 0.5071,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.517014,
"uncapped_away_win_probability": 0.482986,
"calibrated_pick_probability": 0.5071,
"predicted_side": "away",
"reliability": 0.969231,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.98
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.4601,
"sample_size": 567,
"empirical_hit_rate": 0.5485,
"empirical_weight": 0.45,
"empirical_max_weight": 0.45,
"empirical_sample_scale": 200.0,
"blended_confidence": 0.49988,
"published_confidence": 0.505154,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": 14.0,
"absolute_net_margin": 14.0,
"home_average_margin": 2.8,
"home_run_delta": 0.0808,
"away_run_delta": -0.0808,
"evidence": [
{
"game_id": null,
"home_margin": 2.0
},
{
"game_id": null,
"home_margin": 7.0
},
{
"game_id": null,
"home_margin": -5.0
},
{
"game_id": null,
"home_margin": 2.0
},
{
"game_id": null,
"home_margin": 8.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": false,
"home": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.577639751552795,
"runs_scored": 739,
"runs_allowed": 601,
"run_differential": 138,
"run_differential_per_game": 0.8571428571428571,
"available": true
},
"away": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049382716049383,
"runs_scored": 736,
"runs_allowed": 650,
"run_differential": 86,
"run_differential_per_game": 0.5308641975308642,
"available": true
},
"run_differential_edge_per_game": 0.3263,
"win_pct_edge": -0.0273,
"quality_edge": 0.1757,
"season_quality_edge": 0.2853,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.2853,
"recent_quality_edge": -0.028,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": 0.1757
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.02977446606730336
},
{
"home_runs": 2,
"away_runs": 3,
"probability": 0.028291716375412546
},
{
"home_runs": 3,
"away_runs": 2,
"probability": 0.027913743424468507
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.02728175686900735
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.02677285189521744
}
],
"home_distribution": {
"0": 0.09316346975850749,
"1": 0.13430692565689223,
"2": 0.1654310887117755,
"3": 0.17410122001670134,
"4": 0.156549782210955,
"5": 0.12027326143197681,
"6": 0.07894991642777797,
"7": 0.04427924713997791,
"8": 0.02121850338921779,
"9": 0.008687508358355809,
"10": 0.003039076897862196
},
"away_distribution": {
"0": 0.08932475304197016,
"1": 0.12911979264795462,
"2": 0.16033054462105878,
"3": 0.1710181356824905,
"4": 0.1567005496365289,
"5": 0.12333925586552884,
"6": 0.08339395675466021,
"7": 0.048436225047839905,
"8": 0.02416620463792515,
"9": 0.01035735975013837,
"10": 0.003813222313904249
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 2.25,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": false,
"reasons": [
"latest same-matchup result beat the predicted side",
"predicted side recently lost this matchup by 5+ runs",
"opponent already produced an 8+ run breakout in this matchup",
"a prior same-side pick already missed against the actual result",
"a prior same-side pick missed by 5+ actual runs",
"latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
],
"signals": {
"predicted_team": "TB",
"opponent_team": "NYY",
"h2h_net_margin": -4,
"opponent_breakout": true,
"opponent_blowout_win": true,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-24",
"predicted_team_runs": 4,
"opponent_runs": 6,
"margin_for_predicted_team": -2,
"winner": "NYY"
},
{
"date": "2026-09-23",
"predicted_team_runs": 2,
"opponent_runs": 9,
"margin_for_predicted_team": -7,
"winner": "NYY"
},
{
"date": "2026-09-22",
"predicted_team_runs": 6,
"opponent_runs": 1,
"margin_for_predicted_team": 5,
"winner": "TB"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 8,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 1,
"prior_predictions": [
{
"date": "20261005",
"away": "NYY",
"home": "TB",
"game_number": 1,
"predicted_team": "NYY",
"actual_winner": "TB",
"actual_margin": 3,
"raw_pick_probability": 0.5396190000000001,
"artifact": "20261005_NYY@TB.json",
"verification": "pregame_official_final"
},
{
"date": "20261003",
"away": "NYY",
"home": "TB",
"game_number": 1,
"predicted_team": "TB",
"actual_winner": "TB",
"actual_margin": 1,
"raw_pick_probability": 0.518365,
"artifact": "20261003_NYY@TB.json",
"verification": "pregame_official_final"
},
{
"date": "20260924",
"away": "TB",
"home": "NYY",
"game_number": 1,
"predicted_team": "NYY",
"actual_winner": "NYY",
"actual_margin": 2,
"raw_pick_probability": 0.531136,
"artifact": "20260924_TB@NYY.json",
"verification": "pregame_official_final"
},
{
"date": "20260923",
"away": "TB",
"home": "NYY",
"game_number": 1,
"predicted_team": "TB",
"actual_winner": "NYY",
"actual_margin": 7,
"raw_pick_probability": 0.505259,
"artifact": "20260923_TB@NYY.json",
"verification": "pregame_official_final"
},
{
"date": "20260922",
"away": "TB",
"home": "NYY",
"game_number": 1,
"predicted_team": "NYY",
"actual_winner": "NYY",
"actual_margin": 2,
"raw_pick_probability": 0.534918,
"artifact": "20260922_TB@NYY.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "TB",
"guardrail_opponent_team": "NYY",
"output_pre_simulation_winner": "TB",
"output_opponent_team": "NYY",
"simulation_score_winner": "TB",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": true,
"flip_authority": "caps_confidence_and_shifts_runs_only"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.577639751552795,
"runs_scored": 739,
"runs_allowed": 601,
"run_differential": 138,
"run_differential_per_game": 0.8571428571428571,
"available": true
},
"away": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049382716049383,
"runs_scored": 736,
"runs_allowed": 650,
"run_differential": 86,
"run_differential_per_game": 0.5308641975308642,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.1,
"final_margin": -0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.1757,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.49988,
"final_confidence": 0.5071,
"calibrated_pick_probability": 0.5071,
"shrinkage_weight": 0.98,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1,
"calibration_sample_size": 567,
"calibration_empirical_hit_rate": 0.5485,
"calibration_bayesian_hit_rate": 0.547,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1757,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 4,
"home_runs": 3
},
"margin": -1,
"probability_before": 0.492867,
"margin_implied_home_probability": 0.427612,
"shrinkage_weight": 0.98,
"side_flipped": false,
"applied": false,
"magnitude_pull_suppressed": true,
"probability_after": 0.492867,
"aligned_pick_probability": 0.507133
},
"starter_experience": {
"applied": false,
"min_starter_games": 16,
"shrink_factor": 1.0
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TB 4 - 3 NYY",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TB 4 - 3 NYY",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0258,
"recent_form_edge_home_minus_away": 0.182,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 3,
"winner": "TB",
"model_winner": "TB",
"simulation_winner": "TB",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 1,
"published_winner": "TB",
"published_winner_draw_share": 1.0,
"draw_majority_team": "TB",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 3
},
"simulation_score": {
"away_runs": 4,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1757,
"winner": "TB",
"score_reviewed": {
"away_runs": 4,
"home_runs": 3,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 3,
"confidence": 0.5051535924999999,
"home_win_probability": 0.4948464075000001,
"away_win_probability": 0.5051535924999999,
"predicted_score_text": "TB 4 - 3 NYY",
"uncapped_home_win_probability": 0.492867,
"uncapped_away_win_probability": 0.507133,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.507133,
"discount_factor": 0.7225,
"published_confidence": 0.505154,
"guardrail_confidence_cap": 0.53,
"guardrail_cap_enforced": false,
"guardrail_soft_ceiling_applied": false,
"confidence_before_ceiling": 0.505154,
"applied_discounts": [
{
"reason": "projected_margin_is_one_run",
"factor": 0.85
},
{
"reason": "matchup_recency_guardrail",
"factor": 0.85
}
]
},
"score_probability_reconciliation": {
"policy": "published_probability_follows_published_score_v1",
"incoming_home_win_probability": 0.452828,
"incoming_favoured_side": "away",
"score_winner_side": "away",
"published_home_win_probability": 0.494846,
"probability_side_reverted_by_score": false,
"note": "The probability and the projected score agree on the winner."
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 3,
"predicted_score_text": "TB 4 - 3 NYY",
"confidence": 0.5051535924999999,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TB 4 - 3 NYY",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TB 4 - 3 NYY",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0258,
"recent_form_edge_home_minus_away": 0.182,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 3,
"winner": "TB",
"model_winner": "TB",
"simulation_winner": "TB",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 1,
"published_winner": "TB",
"published_winner_draw_share": 1.0,
"draw_majority_team": "TB",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 3
},
"simulation_score": {
"away_runs": 4,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.1757,
"winner": "TB",
"score_reviewed": {
"away_runs": 4,
"home_runs": 3,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away TB | True | 1.0131 | 1.0131 | 1 | 9 | 0 |
| Home NYY | True | 1.0359 | 1.0359 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Yandy Díaz | - | 1.0626 | 0.8349 | neutral | 0.3460 | 0.2810 | 0.4390 | 7.10 | 48.10 | 90.90 | 6 | 14.80 | 14.30 | 8.20 | -0.1143 |
| 1B | Jonathan Aranda | - | 1.0632 | 0.8421 | neutral | 0.3430 | 0.2540 | 0.4380 | 9.90 | 46 | 91.10 | 14.40 | 22.50 | 24.40 | 10.30 | -0.1429 |
| 3B | Junior Caminero | - | 1.0942 | 1.2566 | neutral | 0.3640 | 0.2730 | 0.4990 | 13.10 | 49.70 | 92.70 | 10.40 | 24.10 | 18.40 | 11.30 | -0.3143 |
| LF | Victor Mesa Jr. | - | 1.0395 | 0.5271 | neutral | 0.3290 | 0.2490 | 0.4390 | 10.80 | 42.20 | 89.40 | 21 | 25.50 | 20.20 | 8.80 | -0.7429 |
| RF | Ryan Vilade | - | 1.0338 | 0.4503 | neutral | 0.3270 | 0.2520 | 0.4210 | 7.10 | 39.90 | 89.20 | 17 | 23.60 | 23.40 | 9.40 | 0 |
| C | Liam Hicks | - | 0.9913 | -0.1157 | negative_batter_regression | 0.3190 | 0.2610 | 0.3580 | 3.70 | 27.10 | 84.60 | 14.50 | 11.40 | 9.90 | 10.10 | -0.9429 |
| CF | Jonny DeLuca | - | 0.9339 | -0.8814 | negative_batter_regression | 0.2610 | 0.2320 | 0.3250 | 3.60 | 30.20 | 85.80 | 13.90 | 24.90 | 21.10 | 4.60 | -1.6000 |
| 2B | Richie Palacios | - | 0.9867 | -0.1772 | neutral | 0.3060 | 0.2430 | 0.3340 | 4 | 28.80 | 86.20 | 13.40 | 20.70 | 17 | 11.50 | -0.2857 |
| SS | Taylor Walls | - | 0.9131 | -1.1589 | neutral | 0.2510 | 0.1900 | 0.2610 | 2.20 | 21.90 | 85.60 | 19.40 | 22 | 24.20 | 10.40 | -0.7714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Trent Grisham | - | 1.0646 | 0.8608 | neutral | 0.3370 | 0.2450 | 0.4290 | 9.60 | 45.30 | 90.60 | 17.50 | 18.20 | 18.40 | 12.60 | 0.7429 |
| DH | Ben Rice | - | 1.1109 | 1.4788 | neutral | 0.3780 | 0.2670 | 0.5110 | 14.30 | 48.60 | 91.90 | 14.50 | 25.40 | 24.30 | 12.70 | -0.1714 |
| 1B | Luis García Jr. | - | 1.0715 | 0.9531 | neutral | 0.3410 | 0.2760 | 0.4860 | 12.20 | 46.10 | 91.40 | 11.50 | 20.80 | 17.90 | 4.60 | -0.4000 |
| LF | Cody Bellinger | - | 1.0450 | 0.6002 | neutral | 0.3350 | 0.2710 | 0.4110 | 6.60 | 37.80 | 89.20 | 17.60 | 20 | 15.80 | 10.50 | -0.0286 |
| SS | George Lombard Jr. | - | 1.0001 | 0.0012 | neutral | 0.2980 | 0.2400 | 0.3880 | 8.20 | 35.10 | 87.10 | 8.50 | 25.60 | 26.50 | 6 | -0.1429 |
| C | Austin Wells | - | 1.0129 | 0.1724 | neutral | 0.3020 | 0.2110 | 0.3630 | 7.70 | 42.70 | 89.30 | 20.50 | 27.90 | 26.50 | 12.40 | 0.6000 |
| 2B | Anthony Volpe | - | 0.9854 | -0.1947 | neutral | 0.2910 | 0.2320 | 0.3340 | 4.90 | 37 | 87.90 | 12.60 | 25.20 | 22.80 | 10.20 | -0.1714 |
| RF | Spencer Jones | - | 1.0783 | 1.0438 | neutral | 0.3280 | 0.2380 | 0.4550 | 15.90 | 55.10 | 94.10 | 20.60 | 38.70 | 36.30 | 8.70 | 0.1429 |
| 3B | José Caballero | - | 0.9542 | -0.6102 | neutral | 0.2780 | 0.2270 | 0.3330 | 4.20 | 25.60 | 83.80 | 13.90 | 27.90 | 24.30 | 6.40 | -0.3429 |
{
"home": {
"applied": true,
"offense_factor": 1.0359,
"raw_average_factor": 1.0359,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "663757",
"player_name": "Trent Grisham",
"offense_factor": 1.0646,
"quality_score": 0.8608,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "663757",
"espn_rank": null
},
"metrics": {
"pa": 477.0,
"k_percent": 18.4,
"bb_percent": 12.6,
"woba": 0.311,
"xwoba": 0.337,
"xba": 0.245,
"xslg": 0.429,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 17.5,
"whiff_percent": 18.2,
"swing_percent": 39.1
},
"components": {
"expected_quality": 0.88,
"regression_edge": 0.7429,
"xwoba_edge": 1.0857,
"xba_edge": 0.2571,
"xslg_edge": 0.9429,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.1,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "700250",
"player_name": "Ben Rice",
"offense_factor": 1.1109,
"quality_score": 1.4788,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "700250",
"espn_rank": null
},
"metrics": {
"pa": 611.0,
"k_percent": 24.3,
"bb_percent": 12.7,
"woba": 0.384,
"xwoba": 0.378,
"xba": 0.267,
"xslg": 0.511,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 14.5,
"whiff_percent": 25.4,
"swing_percent": 43.2
},
"components": {
"expected_quality": 1.7474,
"regression_edge": -0.1714,
"xwoba_edge": 2.2571,
"xba_edge": 0.8857,
"xslg_edge": 2.1143,
"barrel_edge": 1.7111,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": 0.85,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "671277",
"player_name": "Luis García Jr.",
"offense_factor": 1.0715,
"quality_score": 0.9531,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "671277",
"espn_rank": null
},
"metrics": {
"pa": 509.0,
"k_percent": 17.9,
"bb_percent": 4.6,
"woba": 0.355,
"xwoba": 0.341,
"xba": 0.276,
"xslg": 0.486,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 11.5,
"whiff_percent": 20.8,
"swing_percent": 52.6
},
"components": {
"expected_quality": 1.1734,
"regression_edge": -0.4,
"xwoba_edge": 1.2,
"xba_edge": 1.1429,
"xslg_edge": 1.7571,
"barrel_edge": 1.2444,
"hard_hit_edge": 1.2143,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "641355",
"player_name": "Cody Bellinger",
"offense_factor": 1.045,
"quality_score": 0.6002,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "641355",
"espn_rank": null
},
"metrics": {
"pa": 521.0,
"k_percent": 15.8,
"bb_percent": 10.5,
"woba": 0.336,
"xwoba": 0.335,
"xba": 0.271,
"xslg": 0.411,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 37.8,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 17.6,
"whiff_percent": 20.0,
"swing_percent": 47.1
},
"components": {
"expected_quality": 0.7026,
"regression_edge": -0.0286,
"xwoba_edge": 1.0286,
"xba_edge": 1.0,
"xslg_edge": 0.6857,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "806146",
"player_name": "George Lombard Jr.",
"offense_factor": 1.0001,
"quality_score": 0.0012,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "806146",
"espn_rank": null
},
"metrics": {
"pa": 127.0,
"k_percent": 26.5,
"bb_percent": 6.0,
"woba": 0.303,
"xwoba": 0.298,
"xba": 0.24,
"xslg": 0.388,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 35.1,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 8.5,
"whiff_percent": 25.6,
"swing_percent": 46.8
},
"components": {
"expected_quality": 0.0257,
"regression_edge": -0.1429,
"xwoba_edge": -0.0286,
"xba_edge": 0.1143,
"xslg_edge": 0.3571,
"barrel_edge": 0.3556,
"hard_hit_edge": -0.3571,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "669224",
"player_name": "Austin Wells",
"offense_factor": 1.0129,
"quality_score": 0.1724,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "669224",
"espn_rank": null
},
"metrics": {
"pa": 358.0,
"k_percent": 26.5,
"bb_percent": 12.4,
"woba": 0.281,
"xwoba": 0.302,
"xba": 0.211,
"xslg": 0.363,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 42.7,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 20.5,
"whiff_percent": 27.9,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.1028,
"regression_edge": 0.6,
"xwoba_edge": 0.0857,
"xba_edge": -0.7143,
"xslg_edge": 0.0,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.7286,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "683011",
"player_name": "Anthony Volpe",
"offense_factor": 0.9854,
"quality_score": -0.1947,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "683011",
"espn_rank": null
},
"metrics": {
"pa": 209.0,
"k_percent": 22.8,
"bb_percent": 10.2,
"woba": 0.297,
"xwoba": 0.291,
"xba": 0.232,
"xslg": 0.334,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 37.0,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 12.6,
"whiff_percent": 25.2,
"swing_percent": 45.9
},
"components": {
"expected_quality": -0.2104,
"regression_edge": -0.1714,
"xwoba_edge": -0.2286,
"xba_edge": -0.1143,
"xslg_edge": -0.4143,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "682987",
"player_name": "Spencer Jones",
"offense_factor": 1.0783,
"quality_score": 1.0438,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "682987",
"espn_rank": null
},
"metrics": {
"pa": 253.0,
"k_percent": 36.3,
"bb_percent": 8.7,
"woba": 0.323,
"xwoba": 0.328,
"xba": 0.238,
"xslg": 0.455,
"sweet_spot_percent": 43.9,
"barrel_batted_rate": 15.9,
"hard_hit_percent": 55.1,
"exit_velocity_avg": 94.1,
"launch_angle_avg": 20.6,
"whiff_percent": 38.7,
"swing_percent": 53.2
},
"components": {
"expected_quality": 1.1904,
"regression_edge": 0.1429,
"xwoba_edge": 0.8286,
"xba_edge": 0.0571,
"xslg_edge": 1.3143,
"barrel_edge": 2.0667,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.28,
"sweet_spot_edge": 1.7667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "676609",
"player_name": "José Caballero",
"offense_factor": 0.9542,
"quality_score": -0.6102,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "676609",
"espn_rank": null
},
"metrics": {
"pa": 423.0,
"k_percent": 24.3,
"bb_percent": 6.4,
"woba": 0.29,
"xwoba": 0.278,
"xba": 0.227,
"xslg": 0.333,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 25.6,
"exit_velocity_avg": 83.8,
"launch_angle_avg": 13.9,
"whiff_percent": 27.9,
"swing_percent": 51.1
},
"components": {
"expected_quality": -0.6537,
"regression_edge": -0.3429,
"xwoba_edge": -0.6,
"xba_edge": -0.2571,
"xslg_edge": -0.4286,
"barrel_edge": -0.5333,
"hard_hit_edge": -1.7143,
"exit_velocity_edge": -1.84,
"sweet_spot_edge": -0.2667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0131,
"raw_average_factor": 1.0131,
"team_espn_average_rank": null,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0626,
"quality_score": 0.8349,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "650490",
"espn_rank": null
},
"metrics": {
"pa": 642.0,
"k_percent": 14.3,
"bb_percent": 8.2,
"woba": 0.35,
"xwoba": 0.346,
"xba": 0.281,
"xslg": 0.439,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 48.1,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 6.0,
"whiff_percent": 14.8,
"swing_percent": 47.5
},
"components": {
"expected_quality": 0.9894,
"regression_edge": -0.1143,
"xwoba_edge": 1.3429,
"xba_edge": 1.2857,
"xslg_edge": 1.0857,
"barrel_edge": 0.1111,
"hard_hit_edge": 1.5,
"exit_velocity_edge": 1.0,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.0632,
"quality_score": 0.8421,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "666018",
"espn_rank": null
},
"metrics": {
"pa": 625.0,
"k_percent": 24.4,
"bb_percent": 10.3,
"woba": 0.348,
"xwoba": 0.343,
"xba": 0.254,
"xslg": 0.438,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 46.0,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 14.4,
"whiff_percent": 22.5,
"swing_percent": 46.7
},
"components": {
"expected_quality": 1.0024,
"regression_edge": -0.1429,
"xwoba_edge": 1.2571,
"xba_edge": 0.5143,
"xslg_edge": 1.0714,
"barrel_edge": 0.7333,
"hard_hit_edge": 1.2,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.9167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.0942,
"quality_score": 1.2566,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "691406",
"espn_rank": null
},
"metrics": {
"pa": 640.0,
"k_percent": 18.4,
"bb_percent": 11.3,
"woba": 0.375,
"xwoba": 0.364,
"xba": 0.273,
"xslg": 0.499,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 49.7,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 10.4,
"whiff_percent": 24.1,
"swing_percent": 44.4
},
"components": {
"expected_quality": 1.5123,
"regression_edge": -0.3143,
"xwoba_edge": 1.8571,
"xba_edge": 1.0571,
"xslg_edge": 1.9429,
"barrel_edge": 1.4444,
"hard_hit_edge": 1.7286,
"exit_velocity_edge": 1.72,
"sweet_spot_edge": -1.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"offense_factor": 1.0395,
"quality_score": 0.5271,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "683748",
"espn_rank": null
},
"metrics": {
"pa": 223.0,
"k_percent": 20.2,
"bb_percent": 8.8,
"woba": 0.355,
"xwoba": 0.329,
"xba": 0.249,
"xslg": 0.439,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 42.2,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 21.0,
"whiff_percent": 25.5,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.7339,
"regression_edge": -0.7429,
"xwoba_edge": 0.8571,
"xba_edge": 0.3714,
"xslg_edge": 1.0857,
"barrel_edge": 0.9333,
"hard_hit_edge": 0.6571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "668723",
"player_name": "Ryan Vilade",
"offense_factor": 1.0338,
"quality_score": 0.4503,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "668723",
"espn_rank": null
},
"metrics": {
"pa": 237.0,
"k_percent": 23.4,
"bb_percent": 9.4,
"woba": 0.327,
"xwoba": 0.327,
"xba": 0.252,
"xslg": 0.421,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 39.9,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 17.0,
"whiff_percent": 23.6,
"swing_percent": 48.7
},
"components": {
"expected_quality": 0.5236,
"regression_edge": 0.0,
"xwoba_edge": 0.8,
"xba_edge": 0.4571,
"xslg_edge": 0.8286,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.3286,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.5667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "689414",
"player_name": "Liam Hicks",
"offense_factor": 0.9913,
"quality_score": -0.1157,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "689414",
"espn_rank": null
},
"metrics": {
"pa": 515.0,
"k_percent": 9.9,
"bb_percent": 10.1,
"woba": 0.352,
"xwoba": 0.319,
"xba": 0.261,
"xslg": 0.358,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 27.1,
"exit_velocity_avg": 84.6,
"launch_angle_avg": 14.5,
"whiff_percent": 11.4,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.019,
"regression_edge": -0.9429,
"xwoba_edge": 0.5714,
"xba_edge": 0.7143,
"xslg_edge": -0.0714,
"barrel_edge": -0.6444,
"hard_hit_edge": -1.5,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"offense_factor": 0.9339,
"quality_score": -0.8814,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": false,
"player_id": "676356",
"espn_rank": null
},
"metrics": {
"pa": 325.0,
"k_percent": 21.1,
"bb_percent": 4.6,
"woba": 0.317,
"xwoba": 0.261,
"xba": 0.232,
"xslg": 0.325,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 30.2,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 13.9,
"whiff_percent": 24.9,
"swing_percent": 52.9
},
"components": {
"expected_quality": -0.7644,
"regression_edge": -1.6,
"xwoba_edge": -1.0857,
"xba_edge": -0.1143,
"xslg_edge": -0.5429,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "680700",
"player_name": "Richie Palacios",
"offense_factor": 0.9867,
"quality_score": -0.1772,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "680700",
"espn_rank": null
},
"metrics": {
"pa": 364.0,
"k_percent": 17.0,
"bb_percent": 11.5,
"woba": 0.316,
"xwoba": 0.306,
"xba": 0.243,
"xslg": 0.334,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 28.8,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 13.4,
"whiff_percent": 20.7,
"swing_percent": 46.6
},
"components": {
"expected_quality": -0.1595,
"regression_edge": -0.2857,
"xwoba_edge": 0.2,
"xba_edge": 0.2,
"xslg_edge": -0.4143,
"barrel_edge": -0.5778,
"hard_hit_edge": -1.2571,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670764",
"player_name": "Taylor Walls",
"offense_factor": 0.9131,
"quality_score": -1.1589,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "670764",
"espn_rank": null
},
"metrics": {
"pa": 398.0,
"k_percent": 24.2,
"bb_percent": 10.4,
"woba": 0.278,
"xwoba": 0.251,
"xba": 0.19,
"xslg": 0.261,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 21.9,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 19.4,
"whiff_percent": 22.0,
"swing_percent": 43.2
},
"components": {
"expected_quality": -1.222,
"regression_edge": -0.7714,
"xwoba_edge": -1.3714,
"xba_edge": -1.3143,
"xslg_edge": -1.4571,
"barrel_edge": -0.9778,
"hard_hit_edge": -2.2429,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TB | Drew Rasmussen | True | - | 0.5597 | 1 | 0.9524 | 1.0217 | 0.9120 | 0.9183 | neutral | 0.2710 | 0.2430 | 26 | 4.80 | 25.10 | 5.90 | 33.80 |
| Home NYY | Carlos Rodón | True | - | 0.1185 | 1 | 0.9899 | 1.0543 | 1.0400 | 0.9883 | negative_pitcher_regression | 0.3040 | 0.2540 | 26.80 | 11.20 | 30 | 6.80 | 38.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TB | Drew Rasmussen | True | None | 90 | 92.38 | 2355 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1407 |
| Home NYY | Carlos Rodón | True | None | 89 | 90.56 | 2331 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0391 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9989 |
| home_runs_vs_away_pitcher | 0.9732 |
| home_pitcher_starter_only_factor | 0.9899 |
| away_pitcher_starter_only_factor | 0.9524 |
| home_pitcher_workload_share | 0.6667 |
| away_pitcher_workload_share | 0.7037 |
| home_pitcher_quality_edge | -0.3149 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "607074",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 311.0,
"k_percent": 26.8,
"bb_percent": 11.2,
"woba": 0.254,
"xwoba": 0.304,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 38.3,
"avg_best_speed": 80.2099,
"avg_hyper_speed": 94.0959,
"whiff_percent": 30.0,
"swing_percent": 48.0
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2558,
"command_and_miss": 0.4421,
"regression_edge": -1.4286,
"xwoba_edge": 0.2286,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.6857,
"bb_edge": -0.5,
"pitch_design_score": 0.0391
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607074",
"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": 90.56273224117,
"release_spin_rate": 2330.58265906805,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.56273224117,
"release_spin_rate": 2330.58265906805,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5627,
"release_spin_rate": 2330.5827,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0391,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2794,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1185,
"sample_weight": 1.0,
"run_prevention_factor": 0.9899,
"strikeout_factor": 1.0543,
"walk_factor": 1.04,
"homer_factor": 0.9883,
"woba_minus_xwoba": -0.05,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "607074",
"espn_rank": null
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "656876",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 645.0,
"k_percent": 26.0,
"bb_percent": 4.8,
"woba": 0.243,
"xwoba": 0.271,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 33.8,
"avg_best_speed": 77.4285,
"avg_hyper_speed": 93.597,
"whiff_percent": 25.1,
"swing_percent": 50.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.906,
"command_and_miss": 0.4657,
"regression_edge": -0.8,
"xwoba_edge": 1.1714,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.5857,
"whiff_edge": -0.0143,
"bb_edge": 1.1,
"pitch_design_score": 0.1407
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656876",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 92.37588033984052,
"release_spin_rate": 2355.1143668897917,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 92.37588033984052,
"release_spin_rate": 2355.1143668897917,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3759,
"release_spin_rate": 2355.1144,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1407,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0047,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5597,
"sample_weight": 1.0,
"run_prevention_factor": 0.9524,
"strikeout_factor": 1.0217,
"walk_factor": 0.912,
"homer_factor": 0.9183,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "656876",
"espn_rank": null
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9989,
"home_runs_vs_away_pitcher": 0.9732,
"home_pitcher_starter_only_factor": 0.9899,
"away_pitcher_starter_only_factor": 0.9524,
"home_pitcher_workload_share": 0.6667,
"away_pitcher_workload_share": 0.7037,
"home_pitcher_quality_edge": -0.3149
},
"score_before": {
"away_runs": 3.0,
"home_runs": 3.0
},
"score_after": {
"away_runs": 2.9967,
"home_runs": 2.9196,
"home_win_probability": 0.4878
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away TB | 5-5 | 0.500 | 3.80 | 3.20 | 6 | 1L | average | strong |
| Home NYY | 5-5 | 0.500 | 4.60 | 4.50 | 1 | 1W | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TB | 98-64 | 0.605 | 86 | 0.531 | True |
| Home NYY | 93-68 | 0.578 | 138 | 0.857 | True |
| Signal | - | - | 0.326 | 0.176 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-24 | TB @ NYY | 4 - 6 | NYY | 2 | close |
| 2026-09-23 | TB @ NYY | 2 - 9 | NYY | 7 | blowout |
| 2026-09-22 | TB @ NYY | 6 - 1 | TB | 5 | blowout |
| 2026-09-22 | TB @ NYY | 0 - 2 | NYY | 2 | close |
| 2026-07-09 | NYY @ TB | 12 - 4 | NYY | 8 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TB | - | - | 4 | - | - | - | - |
| Game target NYY | - | - | 3 | - | - | - | - |
| Player finalized TB | 35 | 7 | 4 | 2 | 4 | 1 | 7 |
| Player finalized NYY | 35 | 7 | 3 | 1 | 3 | 3 | 11 |
| Player model fractional TB | 32.07 | 6.77 | 4.29 | 1.05 | 4.17 | 3.65 | 7.20 |
| Player model fractional NYY | 32.82 | 7.22 | 4.33 | 1.53 | 4.69 | 2.55 | 9.02 |
| Simulation box TB | 35 | 7 | 4 | 2 | 4 | 1 | 7 |
| Simulation box NYY | 35 | 7 | 3 | 1 | 3 | 3 | 11 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away TB | Starter | Drew Rasmussen | 5.20 | 2 | 8 | 5 | 3 | 1.96 | 0.86 | True |
| Away TB | Long Reliever | Ian Seymour | 2 | 1 | 1 | 2 | 0 | 3.89 | 1.03 | True |
| Away TB | Setup Man | Cam Booser | 0.20 | 0 | 1 | 0 | 0 | 1.96 | 0.86 | True |
| Away TB | Closer | Bryan Baker | 0.20 | 0 | 1 | 0 | 0 | 1.45 | 0.95 | True |
| Home NYY | Starter | Carlos Rodón | 5.10 | 2 | 4 | 5 | 1 | 2.75 | 1.01 | True |
| Home NYY | Middle Reliever | Ryan Weathers | 1 | 1 | 1 | 1 | 0 | 2.71 | 1.20 | True |
| Home NYY | Middle Reliever (High Leverage) | Paul Blackburn | 1.10 | 0 | 1 | 1 | 0 | 1.22 | 1.06 | True |
| Home NYY | Middle Reliever (High Leverage) | John Schreiber | 1.10 | 0 | 1 | 0 | 0 | 2.22 | 1.06 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | NYY | pitcher | Starter | Carlos Rodón | worse | 5 | 2 | 3 | 1 | 4 | predicted_SO | -3.0000 | deboost | worse |
| away | TB | pitcher | Starter | Drew Rasmussen | worse | 5 | 3 | 2 | 2 | 3 | predicted_BB | 2.0000 | boost | worse |
| away | TB | pitcher | Long Reliever | Ian Seymour | worse | 5 | 4 | 1 | 1 | 4 | predicted_H | 2.0000 | boost | worse |
| home | NYY | pitcher | Middle Reliever | Ryan Weathers | better | 2 | 0 | 2 | 2 | 0 | predicted_H | -2.0000 | deboost | better |
| away | TB | batter | DH | Yandy Díaz | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | 1.6400 | boost | better |
| away | TB | batter | LF | Victor Mesa Jr. | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.5280 | boost | better |
| away | TB | batter | RF | Ryan Vilade | worse | 12 | 4 | 8 | 3 | 9 | predicted_AB | 1.2920 | boost | better |
| home | NYY | batter | CF | Trent Grisham | better | 10 | 8 | 2 | 7 | 3 | predicted_SO | 1.2370 | boost | worse |
| home | NYY | batter | SS | George Lombard Jr. | worse | 8 | 3 | 5 | 3 | 5 | predicted_AB | -1.2000 | deboost | worse |
| home | NYY | batter | C | Austin Wells | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.1950 | boost | better |
| away | TB | batter | 1B | Jonathan Aranda | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -1.1000 | deboost | worse |
| away | TB | batter | 2B | Richie Palacios | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 1.0670 | boost | better |
| home | NYY | batter | DH | Ben Rice | worse | 10 | 1 | 9 | 1 | 9 | predicted_RBI | -1.0500 | deboost | worse |
| away | TB | pitcher | Setup Man | Cam Booser | better | 4 | 0 | 4 | 3 | 1 | predicted_ER | -1.0000 | deboost | better |
| away | TB | pitcher | Closer | Bryan Baker | deboosted | 2 | 0 | 2 | 1 | 1 | predicted_H | -1.0000 | deboost | better |
| home | NYY | batter | 1B | Luis García Jr. | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -1.0000 | deboost | worse |
| home | NYY | pitcher | Middle Reliever (High Leverage) | Paul Blackburn | worse | 3 | 1 | 2 | 1 | 2 | predicted_BB | -1.0000 | deboost | better |
| home | NYY | pitcher | Middle Reliever (High Leverage) | John Schreiber | better | 3 | 2 | 1 | 3 | 0 | predicted_H | -1.0000 | deboost | better |
| away | TB | batter | C | Liam Hicks | better | 10 | 6 | 4 | 7 | 3 | predicted_HR | 0.9100 | boost | better |
| away | TB | batter | SS | Taylor Walls | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | 0.8660 | boost | better |
| home | NYY | batter | RF | Spencer Jones | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 0.8260 | boost | better |
| home | NYY | batter | LF | Cody Bellinger | worse | 11 | 3 | 8 | 4 | 7 | predicted_2B | 0.8120 | boost | better |
| home | NYY | batter | 3B | José Caballero | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.7580 | deboost | worse |
| away | TB | batter | CF | Jonny DeLuca | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 0.6380 | boost | better |
| home | NYY | batter | 2B | Anthony Volpe | worse | 10 | 4 | 6 | 3 | 7 | predicted_BB | 0.6320 | boost | better |
| away | TB | batter | 3B | Junior Caminero | worse | 10 | 2 | 8 | 1 | 9 | predicted_R | -0.6200 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Drew Rasmussen |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5597 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1407 |
| Avg Velo | 92.3759 |
| Avg Spin | 2355.1144 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 8 |
| Season ERA | 2.5500 |
| Season WHIP | 0.8889 |
| Role Avg IP | 5.8060 |
| Recent Avg IP | 6.7330 |
| Last Start IP | 8 |
{
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0128,
"defense_index": 1.118,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1543
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0233,
"defense_index": 1.2017,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1711
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0128,
"opponent_offense_edge": 0.0233,
"defense_strength": 0.118,
"opponent_defense_weakness": -0.2017,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0019,
"run_prevention": 0.9928,
"strikeout": 0.9976
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656876",
"profile": {
"available": true,
"pitcher_id": "656876",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 645.0,
"k_percent": 26.0,
"bb_percent": 4.8,
"woba": 0.243,
"xwoba": 0.271,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 33.8,
"avg_best_speed": 77.4285,
"avg_hyper_speed": 93.597,
"whiff_percent": 25.1,
"swing_percent": 50.1
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.906,
"command_and_miss": 0.4657,
"regression_edge": -0.8,
"xwoba_edge": 1.1714,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.5857,
"whiff_edge": -0.0143,
"bb_edge": 1.1,
"pitch_design_score": 0.1407
},
"quality_score": 0.5597,
"sample_weight": 1.0,
"run_prevention_factor": 0.9524,
"strikeout_factor": 1.0217,
"walk_factor": 0.912,
"homer_factor": 0.9183,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "656876",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9524,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 0.9524,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.912,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9183,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0217,
"adjusted": 7
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 62.2,
"ER": 13,
"H": 37,
"BB": 14,
"SO": 62,
"HR": 2,
"ERA": 1.8670212765957446,
"WHIP": 0.8138297872340425,
"K9": 8.904255319148936,
"HR9": 0.28723404255319146,
"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-10-03T00:00:00"
}{
"available": true,
"pitcher_id": "656876",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 92.37588033984052,
"release_spin_rate": 2355.1143668897917,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 92.37588033984052,
"release_spin_rate": 2355.1143668897917,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3759,
"release_spin_rate": 2355.1144,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1407,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0047,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 31.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8611,
"prior_weight": 0.1389
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656876",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 33.2,
"ER": 3.0,
"R": 3.0,
"H": 17.0,
"BB": 7.0,
"SO": 35.0,
"HR": 1.0,
"BF": 121.0,
"Pitches": 480.0
},
"per_game": {
"IP": 6.2,
"ER": 0.6,
"R": 0.6,
"H": 3.4,
"BB": 1.4,
"SO": 7.0,
"HR": 0.2,
"BF": 24.2,
"Pitches": 96.0
},
"rates": {
"ERA": 0.802,
"WHIP": 0.7129,
"ER_per_IP": 0.08911,
"H_per_IP": 0.50495,
"BB_per_IP": 0.20792,
"SO_per_IP": 1.0396,
"HR_per_IP": 0.0297
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 62.2,
"ER": 13.0,
"R": 13.0,
"H": 37.0,
"BB": 14.0,
"SO": 62.0,
"HR": 2.0,
"BF": 234.0,
"Pitches": 941.0
},
"per_game": {
"IP": 6.1,
"ER": 1.3,
"R": 1.3,
"H": 3.7,
"BB": 1.4,
"SO": 6.2,
"HR": 0.2,
"BF": 23.4,
"Pitches": 94.1
},
"rates": {
"ERA": 1.867,
"WHIP": 0.8138,
"ER_per_IP": 0.20745,
"H_per_IP": 0.59043,
"BB_per_IP": 0.2234,
"SO_per_IP": 0.98936,
"HR_per_IP": 0.03191
}
},
"season": {
"games": 31,
"totals": {
"IP": 180.0,
"ER": 51.0,
"R": 53.0,
"H": 126.0,
"BB": 34.0,
"SO": 184.0,
"HR": 14.0,
"BF": 695.0,
"Pitches": 2761.0
},
"per_game": {
"IP": 5.2,
"ER": 1.6452,
"R": 1.7097,
"H": 4.0645,
"BB": 1.0968,
"SO": 5.9355,
"HR": 0.4516,
"BF": 22.4194,
"Pitches": 89.0645
},
"rates": {
"ERA": 2.55,
"WHIP": 0.8889,
"ER_per_IP": 0.28333,
"H_per_IP": 0.7,
"BB_per_IP": 0.18889,
"SO_per_IP": 1.02222,
"HR_per_IP": 0.07778
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 1.379,
"predicted_H": 4.006,
"predicted_BB": 1.481,
"predicted_SO": 6.391,
"predicted_HR": 0.35,
"predicted_ERA": 1.955,
"predicted_WHIP": 0.8643
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4087,
"form_weight": 0.5913,
"form_reliability": 0.8611,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 31.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8611,
"prior_weight": 0.1389
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.379,
"final": 1.6328,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.006,
"final": 3.5949,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.481,
"final": 1.2844,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 6.391,
"final": 6.2312,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.35,
"final": 0.6156,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.955,
"final": 1.955,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8643,
"final": 0.8643,
"source": "form_only"
}
}
}{
"available": false,
"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 | Ian Seymour |
| Role | Long Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3363 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2091 |
| Avg Velo | 86.1296 |
| Avg Spin | 1962.9441 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.8477 |
| Season WHIP | 1.0762 |
| Role Avg IP | 1.8920 |
| Recent Avg IP | 3.9330 |
| Last Start IP | 0 |
{
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0128,
"defense_index": 1.118,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1543
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0233,
"defense_index": 1.2017,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1711
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0128,
"opponent_offense_edge": 0.0233,
"defense_strength": 0.118,
"opponent_defense_weakness": -0.2017,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0019,
"run_prevention": 0.9928,
"strikeout": 0.9976
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693855",
"profile": {
"available": true,
"pitcher_id": "693855",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 500.0,
"k_percent": 28.7,
"bb_percent": 6.5,
"woba": 0.308,
"xwoba": 0.291,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 36.9,
"avg_best_speed": 77.1895,
"avg_hyper_speed": 93.8128,
"whiff_percent": 29.4,
"swing_percent": 51.7
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.1865,
"command_and_miss": 0.7693,
"regression_edge": 0.4857,
"xwoba_edge": 0.6,
"barrel_edge": -0.6,
"hard_hit_edge": 0.1429,
"whiff_edge": 0.6,
"bb_edge": 0.675,
"pitch_design_score": -0.2091
},
"quality_score": 0.3363,
"sample_weight": 1.0,
"run_prevention_factor": 0.9714,
"strikeout_factor": 1.0617,
"walk_factor": 0.946,
"homer_factor": 1.0243,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "693855",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9714,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9714,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.946,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0243,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0617,
"adjusted": 3
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 45.1,
"ER": 22,
"H": 43,
"BB": 6,
"SO": 56,
"HR": 13,
"ERA": 4.367647058823529,
"WHIP": 1.0808823529411764,
"K9": 11.117647058823529,
"HR9": 2.580882352941176,
"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-10-05T00:00:00"
}{
"available": true,
"pitcher_id": "693855",
"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": 86.1295711647252,
"release_spin_rate": 1962.9440503947853,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.1295711647252,
"release_spin_rate": 1962.9440503947853,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1296,
"release_spin_rate": 1962.9441,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2091,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4938,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.014,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "693855",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 47,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 19.1,
"ER": 7.0,
"R": 7.0,
"H": 13.0,
"BB": 3.0,
"SO": 22.0,
"HR": 4.0,
"BF": 75.0,
"Pitches": 267.0
},
"per_game": {
"IP": 4.0,
"ER": 1.4,
"R": 1.4,
"H": 2.6,
"BB": 0.6,
"SO": 4.4,
"HR": 0.8,
"BF": 15.0,
"Pitches": 53.4
},
"rates": {
"ERA": 3.2586,
"WHIP": 0.8276,
"ER_per_IP": 0.36207,
"H_per_IP": 0.67241,
"BB_per_IP": 0.15517,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.2069
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 45.1,
"ER": 22.0,
"R": 24.0,
"H": 43.0,
"BB": 6.0,
"SO": 56.0,
"HR": 13.0,
"BF": 188.0,
"Pitches": 701.0
},
"per_game": {
"IP": 4.2,
"ER": 2.2,
"R": 2.4,
"H": 4.3,
"BB": 0.6,
"SO": 5.6,
"HR": 1.3,
"BF": 18.8,
"Pitches": 70.1
},
"rates": {
"ERA": 4.3676,
"WHIP": 1.0809,
"ER_per_IP": 0.48529,
"H_per_IP": 0.94853,
"BB_per_IP": 0.13235,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.28676
}
},
"season": {
"games": 47,
"totals": {
"IP": 135.2,
"ER": 58.0,
"R": 63.0,
"H": 110.0,
"BB": 36.0,
"SO": 162.0,
"HR": 26.0,
"BF": 556.0,
"Pitches": 2143.0
},
"per_game": {
"IP": 3.0,
"ER": 1.234,
"R": 1.3404,
"H": 2.3404,
"BB": 0.766,
"SO": 3.4468,
"HR": 0.5532,
"BF": 11.8298,
"Pitches": 45.5957
},
"rates": {
"ERA": 3.8477,
"WHIP": 1.0762,
"ER_per_IP": 0.42752,
"H_per_IP": 0.81081,
"BB_per_IP": 0.26536,
"SO_per_IP": 1.1941,
"HR_per_IP": 0.19165
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.547,
"predicted_H": 2.95,
"predicted_BB": 0.719,
"predicted_SO": 4.094,
"predicted_HR": 0.783,
"predicted_ERA": 3.8949,
"predicted_WHIP": 1.0265
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.414,
"form_weight": 0.586,
"form_reliability": 0.8485,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.014,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 3.2,
"final": 2.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.547,
"final": 0.9065,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 2.95,
"final": 1.7287,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.719,
"final": 0.4213,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.094,
"final": 3.2271,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.783,
"final": 0.4588,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8949,
"final": 3.8949,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0265,
"final": 1.0265,
"source": "form_only"
}
}
}{
"available": false,
"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 | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4179 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0509 |
| Avg Velo | 90.7732 |
| Avg Spin | 2027.3870 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.9597 |
| Season WHIP | 0.7742 |
| Role Avg IP | 0.9610 |
| Recent Avg IP | 0.6670 |
| Last Start IP | 0 |
{
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0128,
"defense_index": 1.118,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1543
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0233,
"defense_index": 1.2017,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1711
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0128,
"opponent_offense_edge": 0.0233,
"defense_strength": 0.118,
"opponent_defense_weakness": -0.2017,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0019,
"run_prevention": 0.9928,
"strikeout": 0.9976
},
"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": 137.0,
"k_percent": 29.6,
"bb_percent": 3.9,
"woba": 0.222,
"xwoba": 0.252,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 37.6,
"avg_best_speed": 81.0831,
"avg_hyper_speed": 94.1974,
"whiff_percent": 28.6,
"swing_percent": 55.5
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.0817,
"command_and_miss": 0.9171,
"regression_edge": -0.8571,
"xwoba_edge": 1.7143,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.0429,
"whiff_edge": 0.4857,
"bb_edge": 1.325,
"pitch_design_score": 0.0509
},
"quality_score": 0.4179,
"sample_weight": 0.548,
"run_prevention_factor": 0.9645,
"strikeout_factor": 1.0341,
"walk_factor": 0.9419,
"homer_factor": 0.9582,
"woba_minus_xwoba": -0.03,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "592155",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9805,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9805,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9682,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9771,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0187,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 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.1,
"ER": 0,
"H": 2,
"BB": 1,
"SO": 6,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.4090909090909091,
"K9": 7.363636363636364,
"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-10-05T00:00:00"
}{
"available": true,
"pitcher_id": "592155",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 9,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.77323781639957,
"release_spin_rate": 2027.3869910134617,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 90.77323781639957,
"release_spin_rate": 2027.3869910134617,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7732,
"release_spin_rate": 2027.387,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0509,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3636,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.535,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6306,
"prior_weight": 0.3694
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "592155",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 12.0,
"Pitches": 46.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 2.4,
"Pitches": 9.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.3,
"BB_per_IP": 0.3,
"SO_per_IP": 0.9,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 91.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.1,
"SO": 0.6,
"HR": 0.0,
"BF": 2.5,
"Pitches": 9.1
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4091,
"ER_per_IP": 0.0,
"H_per_IP": 0.27273,
"BB_per_IP": 0.13636,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.0
}
},
"season": {
"games": 43,
"totals": {
"IP": 41.1,
"ER": 9.0,
"R": 10.0,
"H": 25.0,
"BB": 7.0,
"SO": 45.0,
"HR": 5.0,
"BF": 154.0,
"Pitches": 581.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2093,
"R": 0.2326,
"H": 0.5814,
"BB": 0.1628,
"SO": 1.0465,
"HR": 0.1163,
"BF": 3.5814,
"Pitches": 13.5116
},
"rates": {
"ERA": 1.9597,
"WHIP": 0.7742,
"ER_per_IP": 0.21774,
"H_per_IP": 0.60484,
"BB_per_IP": 0.16935,
"SO_per_IP": 1.08871,
"HR_per_IP": 0.12097
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.154,
"predicted_H": 0.415,
"predicted_BB": 0.196,
"predicted_SO": 0.651,
"predicted_HR": 0.05,
"predicted_ERA": 1.9555,
"predicted_WHIP": 0.8627
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5061,
"form_weight": 0.4939,
"form_reliability": 0.6306,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.535,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6306,
"prior_weight": 0.3694
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.154,
"final": 0.5821,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.415,
"final": 0.7111,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.196,
"final": 0.0968,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.651,
"final": 0.8276,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.05,
"final": 0.5308,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9555,
"final": 1.9555,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8627,
"final": 0.8627,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Baker |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4514 |
| ESPN Rank | - |
| 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.2591 |
| Season WHIP | 0.8394 |
| Role Avg IP | 0.9900 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"team": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0128,
"defense_index": 1.118,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1543
},
"opponent": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0233,
"defense_index": 1.2017,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1711
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.0168,
"offense_edge": 0.0128,
"opponent_offense_edge": 0.0233,
"defense_strength": 0.118,
"opponent_defense_weakness": -0.2017,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0019,
"run_prevention": 0.9928,
"strikeout": 0.9976
},
"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": 227.0,
"k_percent": 25.8,
"bb_percent": 9.0,
"woba": 0.231,
"xwoba": 0.272,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 35.7,
"avg_best_speed": 74.9962,
"avg_hyper_speed": 93.5589,
"whiff_percent": 27.2,
"swing_percent": 52.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9354,
"command_and_miss": 0.3479,
"regression_edge": -1.1714,
"xwoba_edge": 1.1429,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.2857,
"bb_edge": 0.05,
"pitch_design_score": 0.0
},
"quality_score": 0.4514,
"sample_weight": 0.908,
"run_prevention_factor": 0.9616,
"strikeout_factor": 1.0296,
"walk_factor": 0.9964,
"homer_factor": 0.9542,
"woba_minus_xwoba": -0.041,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "641329",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9651,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9651,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9967,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9584,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0269,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 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": 0,
"H": 4,
"BB": 2,
"SO": 5,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.6428571428571429,
"K9": 4.821428571428572,
"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-10-05T00:00:00"
}{
"available": false,
"pitcher_id": "641329",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.284,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7265,
"prior_weight": 0.2735
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "641329",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 65,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 3.0,
"SO": 5.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 144.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.3,
"SO": 0.5,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7742,
"ER_per_IP": 0.0,
"H_per_IP": 0.48387,
"BB_per_IP": 0.29032,
"SO_per_IP": 0.48387,
"HR_per_IP": 0.0
}
},
"season": {
"games": 65,
"totals": {
"IP": 64.1,
"ER": 9.0,
"R": 10.0,
"H": 34.0,
"BB": 20.0,
"SO": 65.0,
"HR": 4.0,
"BF": 247.0,
"Pitches": 980.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1385,
"R": 0.1538,
"H": 0.5231,
"BB": 0.3077,
"SO": 1.0,
"HR": 0.0615,
"BF": 3.8,
"Pitches": 15.0769
},
"rates": {
"ERA": 1.2591,
"WHIP": 0.8394,
"ER_per_IP": 0.1399,
"H_per_IP": 0.5285,
"BB_per_IP": 0.31088,
"SO_per_IP": 1.01036,
"HR_per_IP": 0.06218
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.161,
"predicted_H": 0.665,
"predicted_BB": 0.288,
"predicted_SO": 0.721,
"predicted_HR": 0.05,
"predicted_ERA": 1.4478,
"predicted_WHIP": 0.9539
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4656,
"form_weight": 0.5344,
"form_reliability": 0.7265,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.284,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7265,
"prior_weight": 0.2735
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.161,
"final": 0.086,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.665,
"final": 0.821,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.288,
"final": 0.1539,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.721,
"final": 0.8509,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.05,
"final": 0.0267,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.4478,
"final": 1.4478,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9539,
"final": 0.9539,
"source": "form_only"
}
}
}{
"available": false,
"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.168 | 1.000 | 1.000 | Hitting_2B | 0.173 | 0.000 | 0.827 | 1.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 5.230 | 4.000 | 4.000 | Hitting_AB | 4.075 | 4.000 | -0.075 | 0.000 |
| predicted_AVG | 0.259 | 0.750 | 0.750 | Hitting_AVG | 0.299 | 0.250 | 0.451 | 0.500 |
| predicted_BB | 0.368 | 0.000 | 0.000 | Hitting_BB | 0.363 | 1.000 | -0.363 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.360 | 3.000 | 3.000 | Hitting_H | 1.217 | 1.000 | 1.783 | 2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_OBP | 0.363 | 0.750 | 0.750 | Hitting_OBP | 0.363 | 0.400 | 0.387 | 0.350 |
| predicted_R | 0.606 | 1.000 | 1.000 | Hitting_R | 0.614 | 1.000 | 0.386 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.578 | 0.000 | -0.578 | 0.000 |
| predicted_SLG | 0.415 | 1.000 | 1.000 | Hitting_SLG | 0.454 | 0.250 | 0.546 | 0.750 |
| predicted_SO | 0.632 | 0.000 | 0.000 | Hitting_SO | 0.641 | 1.000 | -0.641 | -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_H: 1.3600 -> 3.0000 (boost 1.6400, better) |
| Biggest Deboost | predicted_AB: 5.2300 -> 4.0000 (deboost -1.2300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 2 | 3 | predicted_R: 0.6060 -> 0.6699 (boost 0.0639, better) | predicted_AB: 5.2300 -> 4.6845 (deboost -0.5455, worse) | Final model input calibrated with local 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.3608 -> 0.3219 (deboost -0.0389, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.5974 -> 1.0000 (boost 0.4026, worse) | predicted_AB: 4.6845 -> 4.0000 (deboost -0.6845, worse) | AB rounded to 4 (raw=5.23), rates preserved: AVG=0.208 HR/AB=0.022 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6542 -> 1.0000 (boost 0.3458, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.5652 (boost 0.5652, better) | predicted_SO: 1.0000 -> 0.8444 (deboost -0.1556, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 5 | 3 | 4 | 4 | predicted_BB: 0.4734 -> 1.0000 (boost 0.5266, better) | predicted_HR: 0.1766 -> 0.0000 (deboost -0.1766, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 5 | 2 | 3 | 3 | 2 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"team": "TB",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.168,
"predicted_3B": 0.006,
"predicted_AB": 5.23,
"predicted_AVG": 0.259,
"predicted_BB": 0.368,
"predicted_H": 1.36,
"predicted_HR": 0.14,
"predicted_OBP": 0.363,
"predicted_R": 0.606,
"predicted_RBI": 0.49,
"predicted_SLG": 0.415,
"predicted_SO": 0.632
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1649,
"predicted_3B": 0.0051,
"predicted_AB": 4.6845,
"predicted_AVG": 0.2725,
"predicted_BB": 0.3798,
"predicted_H": 1.2702,
"predicted_HBP": 0.039,
"predicted_HR": 0.1168,
"predicted_OBP": 0.3608,
"predicted_R": 0.6699,
"predicted_RBI": 0.4558,
"predicted_SLG": 0.4077,
"predicted_SO": 0.5974
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 5.23,
"after": 4.6845,
"delta": -0.5455,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2725,
"delta": 0.0135,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.36,
"after": 1.2702,
"delta": -0.0898,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.606,
"after": 0.6699,
"delta": 0.0639,
"percent_delta": 0.1054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4077,
"delta": -0.0073,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.606,
"after": 0.6699,
"delta": 0.0639,
"percent_delta": 0.1054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.23,
"after": 4.6845,
"delta": -0.5455,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 155
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1649,
"predicted_3B": 0.0051,
"predicted_AB": 4.6845,
"predicted_AVG": 0.2669,
"predicted_BB": 0.3798,
"predicted_H": 1.2505,
"predicted_HBP": 0.039,
"predicted_HR": 0.1145,
"predicted_OBP": 0.3219,
"predicted_R": 0.6542,
"predicted_RBI": 0.4451,
"predicted_SLG": 0.3777,
"predicted_SO": 0.5974
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2725,
"after": 0.2669,
"delta": -0.0056,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3608,
"after": 0.3219,
"delta": -0.0389,
"percent_delta": -0.1078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4077,
"after": 0.3777,
"delta": -0.03,
"percent_delta": -0.0736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.3608,
"after": 0.3219,
"delta": -0.0389,
"percent_delta": -0.1078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=5.23), rates preserved: AVG=0.208 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.1649,
"after": 0.0,
"delta": -0.1649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.6845,
"after": 4.0,
"delta": -0.6845,
"percent_delta": -0.1461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3798,
"after": 0.0,
"delta": -0.3798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2505,
"after": 1.0,
"delta": -0.2505,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1145,
"after": 0.0,
"delta": -0.1145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4451,
"after": 0.0,
"delta": -0.4451,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5974,
"after": 1.0,
"delta": 0.4026,
"percent_delta": 0.6739,
"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.5974,
"after": 1.0,
"delta": 0.4026,
"percent_delta": 0.6739,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.6845,
"after": 4.0,
"delta": -0.6845,
"percent_delta": -0.1461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, 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": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.85,
"bvp": 0.15
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.6542,
"after": 1.0,
"delta": 0.3458,
"percent_delta": 0.5286,
"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_R",
"before": 0.6542,
"after": 1.0,
"delta": 0.3458,
"percent_delta": 0.5286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1711,
"predicted_3B": 0.0121,
"predicted_BB": 0.4734,
"predicted_H": 0.9377,
"predicted_HR": 0.1766,
"predicted_RBI": 0.5652,
"predicted_SO": 0.8444
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1711,
"delta": 0.1711,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4734,
"delta": 0.4734,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9377,
"delta": -0.0623,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1766,
"delta": 0.1766,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5652,
"delta": 0.5652,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8444,
"delta": -0.1556,
"percent_delta": -0.1556,
"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_RBI",
"before": 0.0,
"after": 0.5652,
"delta": 0.5652,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8444,
"delta": -0.1556,
"percent_delta": -0.1556,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.231,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.317,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.41,
"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_AVG",
"before": 0.2669,
"after": 0.231,
"delta": -0.0359,
"percent_delta": -0.1345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4734,
"after": 1.0,
"delta": 0.5266,
"percent_delta": 1.1124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9377,
"after": 1.0,
"delta": 0.0623,
"percent_delta": 0.0664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1766,
"after": 0.0,
"delta": -0.1766,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5652,
"after": 1.0,
"delta": 0.4348,
"percent_delta": 0.7693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3777,
"after": 0.41,
"delta": 0.0323,
"percent_delta": 0.0855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8444,
"after": 1.0,
"delta": 0.1556,
"percent_delta": 0.1843,
"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_BB",
"before": 0.4734,
"after": 1.0,
"delta": 0.5266,
"percent_delta": 1.1124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1766,
"after": 0.0,
"delta": -0.1766,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.231,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.317,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.41,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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_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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"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_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.231,
"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.317,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.41,
"predicted_SO": 0.0,
"predicted_TB": 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
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 1.0,
"delta": 0.832,
"percent_delta": 4.9524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.23,
"after": 4.0,
"delta": -1.23,
"percent_delta": -0.2352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.231,
"delta": -0.028,
"percent_delta": -0.1081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.36,
"after": 3.0,
"delta": 1.64,
"percent_delta": 1.2059,
"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.363,
"after": 0.317,
"delta": -0.046,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.606,
"after": 1.0,
"delta": 0.394,
"percent_delta": 0.6502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.41,
"delta": -0.005,
"percent_delta": -0.012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.632,
"after": 0.0,
"delta": -0.632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.36,
"after": 3.0,
"delta": 1.64,
"percent_delta": 1.2059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.23,
"after": 4.0,
"delta": -1.23,
"percent_delta": -0.2352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 5.230 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 1.360 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.606 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.415 | - |
| predicted_SO | 0.632 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 4.684 | -0.546 |
| predicted_AVG | 0.273 | 0.014 |
| predicted_BB | 0.380 | 0.012 |
| predicted_H | 1.270 | -0.090 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.117 | -0.023 |
| predicted_OBP | 0.361 | -0.002 |
| predicted_R | 0.670 | 0.064 |
| predicted_RBI | 0.456 | -0.034 |
| predicted_SLG | 0.408 | -0.007 |
| predicted_SO | 0.597 | -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.165 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 4.684 | 0.000 |
| predicted_AVG | 0.267 | -0.006 |
| predicted_BB | 0.380 | 0.000 |
| predicted_H | 1.250 | -0.020 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.115 | -0.002 |
| predicted_OBP | 0.322 | -0.039 |
| predicted_R | 0.654 | -0.016 |
| predicted_RBI | 0.445 | -0.011 |
| predicted_SLG | 0.378 | -0.030 |
| predicted_SO | 0.597 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=5.23), rates preserved: AVG=0.208 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 | - |
Sample-size BvP blend (BvP AB=18.0, weight=0.150, 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 | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.171 | 0.171 |
| 3B | 0.012 | 0.012 |
| BB | 0.473 | 0.473 |
| H | 0.938 | -0.062 |
| HR | 0.177 | 0.177 |
| RBI | 0.565 | 0.565 |
| SO | 0.844 | -0.156 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.171 |
| 3B | 0.000 | -0.012 |
| AB | 4.000 | 0.000 |
| AVG | 0.231 | - |
| BB | 1.000 | 0.527 |
| H | 1.000 | 0.062 |
| HR | 0.000 | -0.177 |
| OBP | 0.317 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.435 |
| SLG | 0.410 | - |
| SO | 1.000 | 0.156 |
Player 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.005 |
| predicted_AB | 4.000 | -0.684 |
| predicted_AVG | 0.231 | -0.036 |
| predicted_BB | 1.000 | 0.620 |
| predicted_H | 1.000 | -0.250 |
| predicted_HR | 0.000 | -0.115 |
| predicted_OBP | 0.317 | -0.005 |
| predicted_R | 1.000 | 0.346 |
| predicted_RBI | 1.000 | 0.555 |
| predicted_SLG | 0.410 | 0.032 |
| predicted_SO | 1.000 | 0.403 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 3.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 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 | 7.000 | 1.000 | 0.000 | 0.000 | 0.000 | 6.000 | 2.000 | 1.000 | 0.3500 | 0.4091 | 0.4000 | 0.3500 | 0.0000 | 0.0000 | 0.1000 | 0.0500 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 1.000 | 0.000 | 0.000 | 4.000 | 8.000 | 5.000 | 6.000 | 0.2250 | 0.3111 | 0.2500 | 0.2250 | 0.0000 | 0.1000 | 0.1250 | 0.1500 |
| season | 0.60 | 155 | - | 618.000 | 182.000 | 26.000 | 1.000 | 22.000 | 85.000 | 94.000 | 57.000 | 98.000 | 0.2945 | 0.3603 | 0.4466 | 0.2945 | 0.0356 | 0.1375 | 0.0922 | 0.1586 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1610 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.9840 |
| predicted_AVG | 0.2899 |
| predicted_BB | 0.3950 |
| predicted_H | 1.1550 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.0870 |
| predicted_OBP | 0.3579 |
| predicted_R | 0.7520 |
| predicted_RBI | 0.4120 |
| predicted_SLG | 0.3983 |
| predicted_SO | 0.5530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.1610 | 0.1649 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 5.2300 | 3.9840 | 4.6845 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2899 | 0.2725 | model_form_blend |
| predicted_BB | 0.3680 | 0.3950 | 0.3798 | model_form_blend |
| predicted_H | 1.3600 | 1.1550 | 1.2702 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1400 | 0.0870 | 0.1168 | model_form_blend |
| predicted_OBP | 0.3630 | 0.3579 | 0.3608 | model_form_blend |
| predicted_R | 0.6060 | 0.7520 | 0.6699 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4120 | 0.4558 | model_form_blend |
| predicted_SLG | 0.4150 | 0.3983 | 0.4077 | model_form_blend |
| predicted_SO | 0.6320 | 0.5530 | 0.5974 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 663 |
| Season rows before report date | 663 |
| Report year | 2026 |
| Profile rows used | 155 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 20261005_NYY@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-10-05 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.35 |
| sl_xwoba | 0.346 |
| sl_xba | 0.281 |
| sl_xslg | 0.439 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 48.1 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 6.0 |
| sl_whiff_percent | 14.8 |
| sl_swing_percent | 47.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.173 | 0.000 | 0.000 | Hitting_2B | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.390 | 4.000 | 4.000 | Hitting_AB | 3.907 | 5.000 | 0.093 | -1.000 |
| predicted_AVG | 0.250 | 0.000 | 0.000 | Hitting_AVG | 0.283 | 0.400 | -0.283 | -0.400 |
| predicted_BB | 0.436 | 0.000 | 0.000 | Hitting_BB | 0.460 | 0.000 | -0.460 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.100 | 0.000 | 0.000 | Hitting_H | 1.107 | 2.000 | -1.107 | -2.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_OBP | 0.338 | 0.000 | 0.000 | Hitting_OBP | 0.364 | 0.400 | -0.364 | -0.400 |
| predicted_R | 0.481 | 0.000 | 0.000 | Hitting_R | 0.517 | 1.000 | -0.517 | -1.000 |
| predicted_RBI | 0.560 | 0.000 | 0.000 | Hitting_RBI | 0.654 | 0.000 | -0.654 | 0.000 |
| predicted_SLG | 0.439 | 0.000 | 0.000 | Hitting_SLG | 0.445 | 0.400 | -0.445 | -0.400 |
| predicted_SO | 1.038 | 2.000 | 2.000 | Hitting_SO | 1.067 | 0.000 | 0.933 | 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 | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 1.0380 -> 2.0000 (boost 0.9620, worse) |
| 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 | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2500 -> 0.2572 (boost 0.0072, better) | predicted_AB: 4.3900 -> 4.0789 (deboost -0.3111, worse) | Final model input calibrated with local 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.3420 -> 0.3248 (deboost -0.0172, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 5 | 0 | 5 | 0 | 5 | - | predicted_RBI: 0.5020 -> 0.0000 (deboost -0.5020, worse) | AB rounded to 4 (raw=4.39), rates preserved: AVG=0.205 HR/AB=0.042 |
| 6 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4479 -> 0.0000 (deboost -0.4479, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_RBI: 0.0000 -> 0.5825 (boost 0.5825, better) | predicted_BB: 1.0000 -> 0.4597 (deboost -0.5403, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 3 | 6 | 4 | 5 | predicted_BB: 0.4597 -> 1.0000 (boost 0.5403, better) | predicted_SO: 1.3098 -> 1.0000 (deboost -0.3098, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 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) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"team": "TB",
"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.39,
"predicted_AVG": 0.25,
"predicted_BB": 0.436,
"predicted_H": 1.1,
"predicted_HR": 0.2,
"predicted_OBP": 0.338,
"predicted_R": 0.481,
"predicted_RBI": 0.56,
"predicted_SLG": 0.439,
"predicted_SO": 1.038
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1778,
"predicted_3B": 0.0004,
"predicted_AB": 4.0789,
"predicted_AVG": 0.2572,
"predicted_BB": 0.4351,
"predicted_H": 1.0475,
"predicted_HBP": 0.041,
"predicted_HR": 0.186,
"predicted_OBP": 0.342,
"predicted_R": 0.4587,
"predicted_RBI": 0.5141,
"predicted_SLG": 0.4453,
"predicted_SO": 1.0371
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.39,
"after": 4.0789,
"delta": -0.3111,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2572,
"delta": 0.0072,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0475,
"delta": -0.0525,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4453,
"delta": 0.0063,
"percent_delta": 0.0144,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2572,
"delta": 0.0072,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.39,
"after": 4.0789,
"delta": -0.3111,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 156
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1778,
"predicted_3B": 0.0004,
"predicted_AB": 4.0789,
"predicted_AVG": 0.2528,
"predicted_BB": 0.4351,
"predicted_H": 1.0313,
"predicted_HBP": 0.041,
"predicted_HR": 0.1824,
"predicted_OBP": 0.3248,
"predicted_R": 0.4479,
"predicted_RBI": 0.502,
"predicted_SLG": 0.4307,
"predicted_SO": 1.0371
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3248,
"delta": -0.0172,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4453,
"after": 0.4307,
"delta": -0.0146,
"percent_delta": -0.0328,
"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_OBP",
"before": 0.342,
"after": 0.3248,
"delta": -0.0172,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.39), rates preserved: AVG=0.205 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1778,
"after": 0.0,
"delta": -0.1778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0789,
"after": 4.0,
"delta": -0.0789,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4351,
"after": 0.0,
"delta": -0.4351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1824,
"after": 0.0,
"delta": -0.1824,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.502,
"after": 0.0,
"delta": -0.502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.502,
"after": 0.0,
"delta": -0.502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.4479,
"after": 0.0,
"delta": -0.4479,
"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_R",
"before": 0.4479,
"after": 0.0,
"delta": -0.4479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1581,
"predicted_3B": 0.0104,
"predicted_BB": 0.4597,
"predicted_H": 0.86,
"predicted_HR": 0.1517,
"predicted_RBI": 0.5825,
"predicted_SO": 1.3098
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1581,
"delta": 0.1581,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.4597,
"delta": -0.5403,
"percent_delta": -0.5403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.86,
"delta": -0.14,
"percent_delta": -0.14,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1517,
"delta": 0.1517,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5825,
"delta": 0.5825,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.3098,
"delta": 0.3098,
"percent_delta": 0.3098,
"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.0,
"after": 0.5825,
"delta": 0.5825,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.4597,
"delta": -0.5403,
"percent_delta": -0.5403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.223,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.387,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1581,
"after": 0.0,
"delta": -0.1581,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2528,
"after": 0.223,
"delta": -0.0298,
"percent_delta": -0.1179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4597,
"after": 1.0,
"delta": 0.5403,
"percent_delta": 1.1753,
"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.1517,
"after": 0.0,
"delta": -0.1517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3248,
"after": 0.311,
"delta": -0.0138,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5825,
"after": 1.0,
"delta": 0.4175,
"percent_delta": 0.7167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4307,
"after": 0.387,
"delta": -0.0437,
"percent_delta": -0.1015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3098,
"after": 1.0,
"delta": -0.3098,
"percent_delta": -0.2365,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4597,
"after": 1.0,
"delta": 0.5403,
"percent_delta": 1.1753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3098,
"after": 1.0,
"delta": -0.3098,
"percent_delta": -0.2365,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.223,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.387,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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
}
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.223,
"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.311,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.387,
"predicted_SO": 2.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 4.39,
"after": 4.0,
"delta": -0.39,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.223,
"delta": -0.027,
"percent_delta": -0.108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.436,
"after": 0.0,
"delta": -0.436,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.311,
"delta": -0.027,
"percent_delta": -0.0799,
"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.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.387,
"delta": -0.052,
"percent_delta": -0.1185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.038,
"after": 2.0,
"delta": 0.962,
"percent_delta": 0.9268,
"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.038,
"after": 2.0,
"delta": 0.962,
"percent_delta": 0.9268,
"direction": "boost",
"projection_effect": "worse",
"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.173 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.390 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.436 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 1.038 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.079 | -0.311 |
| predicted_AVG | 0.257 | 0.007 |
| predicted_BB | 0.435 | -0.001 |
| predicted_H | 1.048 | -0.052 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.186 | -0.014 |
| predicted_OBP | 0.342 | 0.004 |
| predicted_R | 0.459 | -0.022 |
| predicted_RBI | 0.514 | -0.046 |
| predicted_SLG | 0.445 | 0.006 |
| predicted_SO | 1.037 | -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.178 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.079 | 0.000 |
| predicted_AVG | 0.253 | -0.004 |
| predicted_BB | 0.435 | 0.000 |
| predicted_H | 1.031 | -0.016 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.182 | -0.004 |
| predicted_OBP | 0.325 | -0.017 |
| predicted_R | 0.448 | -0.011 |
| predicted_RBI | 0.502 | -0.012 |
| predicted_SLG | 0.431 | -0.015 |
| predicted_SO | 1.037 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.39), rates preserved: AVG=0.205 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.158 | 0.158 |
| 3B | 0.010 | 0.010 |
| BB | 0.460 | -0.540 |
| H | 0.860 | -0.140 |
| HR | 0.152 | 0.152 |
| RBI | 0.583 | 0.583 |
| SO | 1.310 | 0.310 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.158 |
| 3B | 0.000 | -0.010 |
| AB | 4.000 | 0.000 |
| AVG | 0.223 | - |
| BB | 1.000 | 0.540 |
| H | 1.000 | 0.140 |
| HR | 0.000 | -0.152 |
| OBP | 0.311 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.417 |
| SLG | 0.387 | - |
| SO | 1.000 | -0.310 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.178 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.079 |
| predicted_AVG | 0.223 | -0.030 |
| predicted_BB | 1.000 | 0.565 |
| predicted_H | 1.000 | -0.031 |
| predicted_HR | 0.000 | -0.182 |
| predicted_OBP | 0.311 | -0.014 |
| predicted_R | 0.000 | -0.448 |
| predicted_RBI | 1.000 | 0.498 |
| predicted_SLG | 0.387 | -0.044 |
| predicted_SO | 1.000 | -0.037 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 | 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 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 5.000 | 0.2778 | 0.3810 | 0.5000 | 0.2778 | 0.0556 | 0.0556 | 0.1667 | 0.2778 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 2.000 | 0.000 | 2.000 | 3.000 | 3.000 | 3.000 | 11.000 | 0.2286 | 0.2895 | 0.4571 | 0.2286 | 0.0571 | 0.0857 | 0.0857 | 0.3143 |
| season | 0.60 | 156 | - | 586.000 | 162.000 | 27.000 | 0.000 | 23.000 | 93.000 | 75.000 | 68.000 | 162.000 | 0.2765 | 0.3581 | 0.4403 | 0.2764 | 0.0393 | 0.1587 | 0.1160 | 0.2764 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1840 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6790 |
| predicted_AVG | 0.2664 |
| predicted_BB | 0.4340 |
| predicted_H | 0.9800 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.1680 |
| predicted_OBP | 0.3471 |
| predicted_R | 0.4300 |
| predicted_RBI | 0.4550 |
| predicted_SLG | 0.4535 |
| predicted_SO | 1.0360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.1840 | 0.1778 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3900 | 3.6790 | 4.0789 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2664 | 0.2572 | model_form_blend |
| predicted_BB | 0.4360 | 0.4340 | 0.4351 | model_form_blend |
| predicted_H | 1.1000 | 0.9800 | 1.0475 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.2000 | 0.1680 | 0.1860 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3471 | 0.3420 | model_form_blend |
| predicted_R | 0.4810 | 0.4300 | 0.4587 | model_form_blend |
| predicted_RBI | 0.5600 | 0.4550 | 0.5141 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4535 | 0.4453 | model_form_blend |
| predicted_SO | 1.0380 | 1.0360 | 1.0371 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 644 |
| Season rows before report date | 644 |
| Report year | 2026 |
| Profile rows used | 156 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20261005_NYY@TB |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.348 |
| sl_xwoba | 0.343 |
| sl_xba | 0.254 |
| sl_xslg | 0.438 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 46.0 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 22.5 |
| 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.160 | 0.000 | 0.000 | Hitting_2B | 0.163 | 1.000 | -0.163 | -1.000 |
| predicted_3B | 0.006 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 4.080 | 4.000 | 4.000 | Hitting_AB | 3.890 | 4.000 | 0.110 | 0.000 |
| predicted_AVG | 0.256 | 0.250 | 0.250 | Hitting_AVG | 0.285 | 0.500 | -0.035 | -0.250 |
| predicted_BB | 0.497 | 0.000 | 0.000 | Hitting_BB | 0.536 | 0.000 | -0.536 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.040 | 1.000 | 1.000 | Hitting_H | 1.107 | 2.000 | -0.107 | -1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_OBP | 0.367 | 0.250 | 0.250 | Hitting_OBP | 0.373 | 0.500 | -0.123 | -0.250 |
| predicted_R | 0.620 | 0.000 | 0.000 | Hitting_R | 0.671 | 1.000 | -0.671 | -1.000 |
| predicted_RBI | 0.610 | 1.000 | 1.000 | Hitting_RBI | 0.672 | 0.000 | 0.328 | 1.000 |
| predicted_SLG | 0.501 | 0.250 | 0.250 | Hitting_SLG | 0.543 | 0.750 | -0.293 | -0.500 |
| predicted_SO | 0.791 | 1.000 | 1.000 | Hitting_SO | 0.788 | 0.000 | 0.212 | 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_RBI: 0.6100 -> 1.0000 (boost 0.3900, better) |
| Biggest Deboost | predicted_R: 0.6200 -> 0.0000 (deboost -0.6200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2560 -> 0.2683 (boost 0.0123, better) | predicted_AB: 4.0800 -> 3.8544 (deboost -0.2256, worse) | Final model input calibrated with local 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.5064 -> 0.4777 (deboost -0.0287, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.4878 -> 1.0000 (boost 0.5122, better) | predicted_HR: 0.2169 -> 0.0000 (deboost -0.2169, worse) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.216 HR/AB=0.053 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6410 -> 1.0000 (boost 0.3590, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 2 | 4 | 3 | 3 | predicted_HR: 0.0000 -> 0.2368 (boost 0.2368, better) | predicted_RBI: 1.0000 -> 0.5352 (deboost -0.4648, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 5 | 4 | 4 | 5 | predicted_HR: 0.2368 -> 1.0000 (boost 0.7632, better) | predicted_2B: 0.1601 -> 0.0000 (deboost -0.1601, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 3 | 0 | 3 | 0 | 3 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"team": "TB",
"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.006,
"predicted_AB": 4.08,
"predicted_AVG": 0.256,
"predicted_BB": 0.497,
"predicted_H": 1.04,
"predicted_HR": 0.23,
"predicted_OBP": 0.367,
"predicted_R": 0.62,
"predicted_RBI": 0.61,
"predicted_SLG": 0.501,
"predicted_SO": 0.791
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1683,
"predicted_3B": 0.0051,
"predicted_AB": 3.8544,
"predicted_AVG": 0.2683,
"predicted_BB": 0.4878,
"predicted_H": 1.0282,
"predicted_HBP": 0.015,
"predicted_HR": 0.2212,
"predicted_OBP": 0.3677,
"predicted_R": 0.6564,
"predicted_RBI": 0.5728,
"predicted_SLG": 0.5064,
"predicted_SO": 0.7792
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.08,
"after": 3.8544,
"delta": -0.2256,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2683,
"delta": 0.0123,
"percent_delta": 0.048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.501,
"after": 0.5064,
"delta": 0.0054,
"percent_delta": 0.0108,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2683,
"delta": 0.0123,
"percent_delta": 0.048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 3.8544,
"delta": -0.2256,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 163
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1683,
"predicted_3B": 0.0051,
"predicted_AB": 3.8544,
"predicted_AVG": 0.2626,
"predicted_BB": 0.4878,
"predicted_H": 1.0123,
"predicted_HBP": 0.015,
"predicted_HR": 0.2169,
"predicted_OBP": 0.3455,
"predicted_R": 0.641,
"predicted_RBI": 0.5593,
"predicted_SLG": 0.4777,
"predicted_SO": 0.7792
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2683,
"after": 0.2626,
"delta": -0.0057,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3677,
"after": 0.3455,
"delta": -0.0222,
"percent_delta": -0.0604,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5064,
"after": 0.4777,
"delta": -0.0287,
"percent_delta": -0.0567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.5064,
"after": 0.4777,
"delta": -0.0287,
"percent_delta": -0.0567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.216 HR/AB=0.053",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1683,
"after": 0.0,
"delta": -0.1683,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8544,
"after": 4.0,
"delta": 0.1456,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4878,
"after": 1.0,
"delta": 0.5122,
"percent_delta": 1.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2169,
"after": 0.0,
"delta": -0.2169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5593,
"after": 1.0,
"delta": 0.4407,
"percent_delta": 0.7879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7792,
"after": 1.0,
"delta": 0.2208,
"percent_delta": 0.2834,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4878,
"after": 1.0,
"delta": 0.5122,
"percent_delta": 1.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2169,
"after": 0.0,
"delta": -0.2169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 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": {
"model_expectation": 0.9158,
"bvp": 0.0842
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.641,
"after": 1.0,
"delta": 0.359,
"percent_delta": 0.5601,
"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_R",
"before": 0.641,
"after": 1.0,
"delta": 0.359,
"percent_delta": 0.5601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1601,
"predicted_3B": 0.0113,
"predicted_BB": 0.5732,
"predicted_H": 0.8007,
"predicted_HR": 0.2368,
"predicted_RBI": 0.5352,
"predicted_SO": 0.8893
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1601,
"delta": 0.1601,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.5732,
"delta": -0.4268,
"percent_delta": -0.4268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8007,
"delta": -0.1993,
"percent_delta": -0.1993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2368,
"delta": 0.2368,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5352,
"delta": -0.4648,
"percent_delta": -0.4648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.8893,
"delta": -0.1107,
"percent_delta": -0.1107,
"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_HR",
"before": 0.0,
"after": 0.2368,
"delta": 0.2368,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5352,
"delta": -0.4648,
"percent_delta": -0.4648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.217,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.327,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.458,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1601,
"after": 0.0,
"delta": -0.1601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2626,
"after": 0.217,
"delta": -0.0456,
"percent_delta": -0.1736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5732,
"after": 1.0,
"delta": 0.4268,
"percent_delta": 0.7446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8007,
"after": 1.0,
"delta": 0.1993,
"percent_delta": 0.2489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2368,
"after": 1.0,
"delta": 0.7632,
"percent_delta": 3.223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3455,
"after": 0.327,
"delta": -0.0185,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5352,
"after": 1.0,
"delta": 0.4648,
"percent_delta": 0.8685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4777,
"after": 0.458,
"delta": -0.0197,
"percent_delta": -0.0412,
"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": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.2368,
"after": 1.0,
"delta": 0.7632,
"percent_delta": 3.223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1601,
"after": 0.0,
"delta": -0.1601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.217,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.327,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.458,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"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_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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
}
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.217,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.327,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.458,
"predicted_SO": 1.0,
"predicted_TB": 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
}
}
],
"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_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.256,
"after": 0.217,
"delta": -0.039,
"percent_delta": -0.1523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.497,
"after": 0.0,
"delta": -0.497,
"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.327,
"delta": -0.04,
"percent_delta": -0.109,
"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.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.501,
"after": 0.458,
"delta": -0.043,
"percent_delta": -0.0858,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.791,
"after": 1.0,
"delta": 0.209,
"percent_delta": 0.2642,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | - |
| predicted_3B | 0.006 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.497 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.367 | - |
| predicted_R | 0.620 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.501 | - |
| predicted_SO | 0.791 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | 0.008 |
| predicted_3B | 0.005 | -0.001 |
| predicted_AB | 3.854 | -0.226 |
| predicted_AVG | 0.268 | 0.012 |
| predicted_BB | 0.488 | -0.009 |
| predicted_H | 1.028 | -0.012 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.221 | -0.009 |
| predicted_OBP | 0.368 | 0.001 |
| predicted_R | 0.656 | 0.036 |
| predicted_RBI | 0.573 | -0.037 |
| predicted_SLG | 0.506 | 0.005 |
| predicted_SO | 0.779 | -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.168 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 3.854 | 0.000 |
| predicted_AVG | 0.263 | -0.006 |
| predicted_BB | 0.488 | 0.000 |
| predicted_H | 1.012 | -0.016 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.217 | -0.004 |
| predicted_OBP | 0.345 | -0.022 |
| predicted_R | 0.641 | -0.015 |
| predicted_RBI | 0.559 | -0.013 |
| predicted_SLG | 0.478 | -0.029 |
| predicted_SO | 0.779 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.216 HR/AB=0.053
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.160 | 0.160 |
| 3B | 0.011 | 0.011 |
| BB | 0.573 | -0.427 |
| H | 0.801 | -0.199 |
| HR | 0.237 | 0.237 |
| RBI | 0.535 | -0.465 |
| SO | 0.889 | -0.111 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.160 |
| 3B | 0.000 | -0.011 |
| AB | 4.000 | 0.000 |
| AVG | 0.217 | - |
| BB | 1.000 | 0.427 |
| H | 1.000 | 0.199 |
| HR | 1.000 | 0.763 |
| OBP | 0.327 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.465 |
| SLG | 0.458 | - |
| SO | 1.000 | 0.111 |
Player 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.005 |
| predicted_AB | 4.000 | 0.146 |
| predicted_AVG | 0.217 | -0.046 |
| predicted_BB | 1.000 | 0.512 |
| predicted_H | 1.000 | -0.012 |
| predicted_HR | 1.000 | 0.783 |
| predicted_OBP | 0.327 | -0.018 |
| predicted_R | 1.000 | 0.359 |
| predicted_RBI | 1.000 | 0.441 |
| predicted_SLG | 0.458 | -0.020 |
| predicted_SO | 1.000 | 0.221 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.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 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 3.000 | 4.000 | 0.3333 | 0.4444 | 0.6000 | 0.3333 | 0.0667 | 0.1333 | 0.2000 | 0.2667 |
| last_10 | 0.20 | 10 | - | 34.000 | 9.000 | 2.000 | 0.000 | 1.000 | 4.000 | 6.000 | 3.000 | 6.000 | 0.2647 | 0.3243 | 0.4118 | 0.2647 | 0.0294 | 0.1177 | 0.0882 | 0.1765 |
| season | 0.60 | 163 | - | 618.000 | 171.000 | 26.000 | 1.000 | 42.000 | 101.000 | 101.000 | 81.000 | 129.000 | 0.2767 | 0.3626 | 0.5259 | 0.2767 | 0.0680 | 0.1634 | 0.1311 | 0.2087 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1790 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.5650 |
| predicted_AVG | 0.2841 |
| predicted_BB | 0.4760 |
| predicted_H | 1.0130 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.2100 |
| predicted_OBP | 0.3686 |
| predicted_R | 0.7030 |
| predicted_RBI | 0.5250 |
| predicted_SLG | 0.5134 |
| predicted_SO | 0.7640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1790 | 0.1683 | model_form_blend |
| predicted_3B | 0.0060 | 0.0040 | 0.0051 | model_form_blend |
| predicted_AB | 4.0800 | 3.5650 | 3.8544 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2841 | 0.2683 | model_form_blend |
| predicted_BB | 0.4970 | 0.4760 | 0.4878 | model_form_blend |
| predicted_H | 1.0400 | 1.0130 | 1.0282 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.2300 | 0.2100 | 0.2212 | model_form_blend |
| predicted_OBP | 0.3670 | 0.3686 | 0.3677 | model_form_blend |
| predicted_R | 0.6200 | 0.7030 | 0.6564 | model_form_blend |
| predicted_RBI | 0.6100 | 0.5250 | 0.5728 | model_form_blend |
| predicted_SLG | 0.5010 | 0.5134 | 0.5064 | model_form_blend |
| predicted_SO | 0.7910 | 0.7640 | 0.7792 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 674 |
| Season rows before report date | 674 |
| Report year | 2026 |
| Profile rows used | 163 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 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 | 3B |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.375 |
| sl_xwoba | 0.364 |
| sl_xba | 0.273 |
| sl_xslg | 0.499 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 49.7 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 24.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.111 | 0.000 | 0.000 | Hitting_2B | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 3.306 | 3.000 | 3.000 | Hitting_AB | 3.420 | 3.000 | -0.420 | 0.000 |
| predicted_AVG | 0.261 | 0.333 | 0.333 | Hitting_AVG | 0.262 | 0.333 | 0.071 | 0.000 |
| predicted_BB | 0.306 | 1.000 | 1.000 | Hitting_BB | 0.337 | 0.000 | 0.663 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.861 | 1.000 | 1.000 | Hitting_H | 0.897 | 1.000 | 0.103 | 0.000 |
| predicted_HR | 0.194 | 1.000 | 1.000 | Hitting_HR | 0.214 | 0.000 | 0.786 | 1.000 |
| predicted_OBP | 0.323 | 0.500 | 0.500 | Hitting_OBP | 0.328 | 0.333 | 0.172 | 0.167 |
| predicted_R | 0.514 | 1.000 | 1.000 | Hitting_R | 0.556 | 0.000 | 0.444 | 1.000 |
| predicted_RBI | 0.472 | 2.000 | 2.000 | Hitting_RBI | 0.527 | 0.000 | 1.473 | 2.000 |
| predicted_SLG | 0.496 | 1.333 | 1.333 | Hitting_SLG | 0.513 | 0.333 | 0.821 | 1.000 |
| predicted_SO | 0.750 | 0.000 | 0.000 | Hitting_SO | 0.724 | 1.000 | -0.724 | -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.4720 -> 2.0000 (boost 1.5280, better) |
| Biggest Deboost | predicted_SO: 0.7500 -> 0.0000 (deboost -0.7500, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AB: 3.3060 -> 3.4017 (boost 0.0957, better) | predicted_SLG: 0.4960 -> 0.4827 (deboost -0.0133, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4827 -> 0.4747 (deboost -0.0080, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.4017 -> 4.0000 (boost 0.5983, better) | predicted_BB: 0.2976 -> 0.0000 (deboost -0.2976, worse) | AB rounded to 4 (raw=3.40), rates preserved: AVG=0.230 HR/AB=0.050 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5073 -> 1.0000 (boost 0.4927, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.0000 -> 0.4156 (boost 0.4156, better) | predicted_RBI: 1.0000 -> 0.5097 (deboost -0.4903, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 1 | 7 | 1 | 7 | predicted_H: 0.7864 -> 1.0000 (boost 0.2136, better) | predicted_RBI: 0.5097 -> 0.0000 (deboost -0.5097, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | play_by_play_realization | 5 | 3 | 2 | 4 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 13 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"position": "LF",
"team": "TB",
"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.042,
"predicted_AB": 3.306,
"predicted_AVG": 0.261,
"predicted_BB": 0.306,
"predicted_H": 0.861,
"predicted_HR": 0.194,
"predicted_OBP": 0.323,
"predicted_R": 0.514,
"predicted_RBI": 0.472,
"predicted_SLG": 0.496,
"predicted_SO": 0.75
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.14,
"predicted_3B": 0.0349,
"predicted_AB": 3.4017,
"predicted_AVG": 0.2683,
"predicted_BB": 0.2976,
"predicted_H": 0.9126,
"predicted_HBP": 0.003,
"predicted_HR": 0.1722,
"predicted_OBP": 0.3271,
"predicted_R": 0.5195,
"predicted_RBI": 0.4766,
"predicted_SLG": 0.4827,
"predicted_SO": 0.7911
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.306,
"after": 3.4017,
"delta": 0.0957,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2683,
"delta": 0.0073,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.861,
"after": 0.9126,
"delta": 0.0516,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4827,
"delta": -0.0133,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.306,
"after": 3.4017,
"delta": 0.0957,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4827,
"delta": -0.0133,
"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": 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.14,
"predicted_3B": 0.0349,
"predicted_AB": 3.4017,
"predicted_AVG": 0.2641,
"predicted_BB": 0.2976,
"predicted_H": 0.8985,
"predicted_HBP": 0.003,
"predicted_HR": 0.1688,
"predicted_OBP": 0.3233,
"predicted_R": 0.5073,
"predicted_RBI": 0.4654,
"predicted_SLG": 0.4747,
"predicted_SO": 0.7911
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.4827,
"after": 0.4747,
"delta": -0.008,
"percent_delta": -0.0166,
"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_SLG",
"before": 0.4827,
"after": 0.4747,
"delta": -0.008,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.40), rates preserved: AVG=0.230 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4017,
"after": 4.0,
"delta": 0.5983,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2976,
"after": 0.0,
"delta": -0.2976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8985,
"after": 1.0,
"delta": 0.1015,
"percent_delta": 0.113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1688,
"after": 0.0,
"delta": -0.1688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4654,
"after": 1.0,
"delta": 0.5346,
"percent_delta": 1.1487,
"direction": "boost",
"projection_effect": "better",
"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": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.4017,
"after": 4.0,
"delta": 0.5983,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2976,
"after": 0.0,
"delta": -0.2976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.5073,
"after": 1.0,
"delta": 0.4927,
"percent_delta": 0.9712,
"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_R",
"before": 0.5073,
"after": 1.0,
"delta": 0.4927,
"percent_delta": 0.9712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1579,
"predicted_3B": 0.0212,
"predicted_BB": 0.4156,
"predicted_H": 0.7864,
"predicted_HR": 0.2009,
"predicted_RBI": 0.5097,
"predicted_SO": 1.0145
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1579,
"delta": 0.1579,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4156,
"delta": 0.4156,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7864,
"delta": -0.2136,
"percent_delta": -0.2136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2009,
"delta": 0.2009,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5097,
"delta": -0.4903,
"percent_delta": -0.4903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4156,
"delta": 0.4156,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5097,
"delta": -0.4903,
"percent_delta": -0.4903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.213,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.299,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.431,
"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_AVG",
"before": 0.2641,
"after": 0.213,
"delta": -0.0511,
"percent_delta": -0.1935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4156,
"after": 0.0,
"delta": -0.4156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7864,
"after": 1.0,
"delta": 0.2136,
"percent_delta": 0.2716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2009,
"after": 0.0,
"delta": -0.2009,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3233,
"after": 0.299,
"delta": -0.0243,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5097,
"after": 0.0,
"delta": -0.5097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4747,
"after": 0.431,
"delta": -0.0437,
"percent_delta": -0.0921,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7864,
"after": 1.0,
"delta": 0.2136,
"percent_delta": 0.2716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5097,
"after": 0.0,
"delta": -0.5097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.213,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.299,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.431,
"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
}
},
{
"index": 10,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"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_HR",
"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_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_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 13,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.213,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.299,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.431,
"predicted_SO": 0.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 3.306,
"after": 3.0,
"delta": -0.306,
"percent_delta": -0.0926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.213,
"delta": -0.048,
"percent_delta": -0.1839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 1.0,
"delta": 0.694,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.861,
"after": 1.0,
"delta": 0.139,
"percent_delta": 0.1614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.194,
"after": 1.0,
"delta": 0.806,
"percent_delta": 4.1546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.299,
"delta": -0.024,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 1.0,
"delta": 0.486,
"percent_delta": 0.9455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.472,
"after": 2.0,
"delta": 1.528,
"percent_delta": 3.2373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.431,
"delta": -0.065,
"percent_delta": -0.131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.472,
"after": 2.0,
"delta": 1.528,
"percent_delta": 3.2373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 3.306 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.306 | - |
| predicted_H | 0.861 | - |
| predicted_HR | 0.194 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.472 | - |
| predicted_SLG | 0.496 | - |
| predicted_SO | 0.750 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.029 |
| predicted_3B | 0.035 | -0.007 |
| predicted_AB | 3.402 | 0.096 |
| predicted_AVG | 0.268 | 0.007 |
| predicted_BB | 0.298 | -0.008 |
| predicted_H | 0.913 | 0.052 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.172 | -0.022 |
| predicted_OBP | 0.327 | 0.004 |
| predicted_R | 0.519 | 0.005 |
| predicted_RBI | 0.477 | 0.005 |
| predicted_SLG | 0.483 | -0.013 |
| predicted_SO | 0.791 | 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.140 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 3.402 | 0.000 |
| predicted_AVG | 0.264 | -0.004 |
| predicted_BB | 0.298 | 0.000 |
| predicted_H | 0.898 | -0.014 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.169 | -0.003 |
| predicted_OBP | 0.323 | -0.004 |
| predicted_R | 0.507 | -0.012 |
| predicted_RBI | 0.465 | -0.011 |
| predicted_SLG | 0.475 | -0.008 |
| predicted_SO | 0.791 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.40), rates preserved: AVG=0.230 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.158 | 0.158 |
| 3B | 0.021 | 0.021 |
| BB | 0.416 | 0.416 |
| H | 0.786 | -0.214 |
| HR | 0.201 | 0.201 |
| RBI | 0.510 | -0.490 |
| SO | 1.014 | 0.014 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.158 |
| 3B | 0.000 | -0.021 |
| AB | 4.000 | 0.000 |
| AVG | 0.213 | - |
| BB | 0.000 | -0.416 |
| H | 1.000 | 0.214 |
| HR | 0.000 | -0.201 |
| OBP | 0.299 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.510 |
| SLG | 0.431 | - |
| SO | 1.000 | -0.014 |
Player 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.035 |
| predicted_AB | 4.000 | 0.598 |
| predicted_AVG | 0.213 | -0.051 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | 0.102 |
| predicted_HR | 0.000 | -0.169 |
| predicted_OBP | 0.299 | -0.024 |
| predicted_R | 1.000 | 0.493 |
| predicted_RBI | 0.000 | -0.465 |
| predicted_SLG | 0.431 | -0.044 |
| predicted_SO | 1.000 | 0.209 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 2.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 | 7.000 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 5.000 | 0.3500 | 0.3810 | 0.4500 | 0.3500 | 0.0000 | 0.1500 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 1.000 | 4.000 | 5.000 | 3.000 | 10.000 | 0.2778 | 0.3333 | 0.4167 | 0.2778 | 0.0278 | 0.1111 | 0.0833 | 0.2778 |
| season | 0.60 | 72 | - | 238.000 | 62.000 | 8.000 | 3.000 | 14.000 | 34.000 | 37.000 | 22.000 | 54.000 | 0.2605 | 0.3218 | 0.4958 | 0.2605 | 0.0588 | 0.1429 | 0.0924 | 0.2269 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0250 |
| predicted_AB | 3.5340 |
| predicted_AVG | 0.2784 |
| predicted_BB | 0.2860 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.3328 |
| predicted_R | 0.5270 |
| predicted_RBI | 0.4830 |
| predicted_SLG | 0.4643 |
| predicted_SO | 0.8480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1800 | 0.1400 | model_form_blend |
| predicted_3B | 0.0420 | 0.0250 | 0.0349 | model_form_blend |
| predicted_AB | 3.3060 | 3.5340 | 3.4017 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2784 | 0.2683 | model_form_blend |
| predicted_BB | 0.3060 | 0.2860 | 0.2976 | model_form_blend |
| predicted_H | 0.8610 | 0.9840 | 0.9126 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1940 | 0.1420 | 0.1722 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3328 | 0.3271 | model_form_blend |
| predicted_R | 0.5140 | 0.5270 | 0.5195 | model_form_blend |
| predicted_RBI | 0.4720 | 0.4830 | 0.4766 | model_form_blend |
| predicted_SLG | 0.4960 | 0.4643 | 0.4827 | model_form_blend |
| predicted_SO | 0.7500 | 0.8480 | 0.7911 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20261003_NYY@TB |
| game_type | full |
| mlbID | 683748 |
| playerID | 683748 |
| playerName | Victor Mesa Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.355 |
| sl_xwoba | 0.329 |
| sl_xba | 0.249 |
| sl_xslg | 0.439 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 42.2 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 21.0 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.090 | 0.000 | 0.000 | Hitting_2B | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 2.708 | 4.000 | 4.000 | Hitting_AB | 3.062 | 2.000 | 0.938 | 2.000 |
| predicted_AVG | 0.221 | 0.000 | 0.000 | Hitting_AVG | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_BB | 0.270 | 0.000 | 0.000 | Hitting_BB | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.320 | 0.000 | 0.000 | Hitting_H | 0.841 | 0.000 | -0.841 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_OBP | 0.274 | 0.000 | 0.000 | Hitting_OBP | 0.344 | 0.000 | -0.344 | 0.000 |
| predicted_R | 0.315 | 0.000 | 0.000 | Hitting_R | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.558 | 0.000 | -0.558 | 0.000 |
| predicted_SLG | 0.345 | 0.000 | 0.000 | Hitting_SLG | 0.485 | 0.000 | -0.485 | 0.000 |
| predicted_SO | 0.730 | 2.000 | 2.000 | Hitting_SO | 0.775 | 0.000 | 1.225 | 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 | 3 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.7080 -> 4.0000 (boost 1.2920, better) |
| Biggest Deboost | predicted_H: 0.3200 -> 0.0000 (deboost -0.3200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 4 | 2 | predicted_H: 0.3200 -> 0.4374 (boost 0.1174, better) | predicted_SLG: 0.3450 -> 0.3352 (deboost -0.0098, worse) | Final model input calibrated with local 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.3352 -> 0.2686 (deboost -0.0666, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7624 -> 1.0000 (boost 0.2376, worse) | predicted_H: 0.4306 -> 0.0000 (deboost -0.4306, worse) | AB rounded to 3 (raw=2.80), rates preserved: AVG=0.134 HR/AB=0.024 |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3052 -> 0.0000 (deboost -0.3052, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.5330 (boost 0.5330, better) | predicted_H: 1.0000 -> 0.7290 (deboost -0.2710, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 5 | 4 | 6 | 3 | predicted_RBI: 0.5330 -> 1.0000 (boost 0.4670, better) | predicted_BB: 0.4295 -> 0.0000 (deboost -0.4295, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | play_by_play_realization | 4 | 2 | 2 | 1 | 3 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 13 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "668723",
"player_name": "Ryan Vilade",
"position": "RF",
"team": "TB",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.09,
"predicted_3B": 0.022,
"predicted_AB": 2.708,
"predicted_AVG": 0.221,
"predicted_BB": 0.27,
"predicted_H": 0.32,
"predicted_HR": 0.06,
"predicted_OBP": 0.274,
"predicted_R": 0.315,
"predicted_RBI": 0.25,
"predicted_SLG": 0.345,
"predicted_SO": 0.73
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0799,
"predicted_3B": 0.0186,
"predicted_AB": 2.798,
"predicted_AVG": 0.2143,
"predicted_BB": 0.2755,
"predicted_H": 0.4374,
"predicted_HBP": 0.057,
"predicted_HR": 0.0693,
"predicted_OBP": 0.2792,
"predicted_R": 0.3125,
"predicted_RBI": 0.335,
"predicted_SLG": 0.3352,
"predicted_SO": 0.7624
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.708,
"after": 2.798,
"delta": 0.09,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2143,
"delta": -0.0067,
"percent_delta": -0.0303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.32,
"after": 0.4374,
"delta": 0.1174,
"percent_delta": 0.3669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2792,
"delta": 0.0052,
"percent_delta": 0.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.335,
"delta": 0.085,
"percent_delta": 0.34,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3352,
"delta": -0.0098,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.32,
"after": 0.4374,
"delta": 0.1174,
"percent_delta": 0.3669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3352,
"delta": -0.0098,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0799,
"predicted_3B": 0.0186,
"predicted_AB": 2.798,
"predicted_AVG": 0.1539,
"predicted_BB": 0.2755,
"predicted_H": 0.4306,
"predicted_HBP": 0.057,
"predicted_HR": 0.0679,
"predicted_OBP": 0.2297,
"predicted_R": 0.3052,
"predicted_RBI": 0.3271,
"predicted_SLG": 0.2686,
"predicted_SO": 0.7624
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2143,
"after": 0.1539,
"delta": -0.0604,
"percent_delta": -0.2818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2792,
"after": 0.2297,
"delta": -0.0495,
"percent_delta": -0.1773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3352,
"after": 0.2686,
"delta": -0.0666,
"percent_delta": -0.1987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.3352,
"after": 0.2686,
"delta": -0.0666,
"percent_delta": -0.1987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.80), rates preserved: AVG=0.134 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.0799,
"after": 0.0,
"delta": -0.0799,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.798,
"after": 3.0,
"delta": 0.202,
"percent_delta": 0.0722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2755,
"after": 0.0,
"delta": -0.2755,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4306,
"after": 0.0,
"delta": -0.4306,
"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.0679,
"after": 0.0,
"delta": -0.0679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3271,
"after": 0.0,
"delta": -0.3271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7624,
"after": 1.0,
"delta": 0.2376,
"percent_delta": 0.3116,
"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.7624,
"after": 1.0,
"delta": 0.2376,
"percent_delta": 0.3116,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4306,
"after": 0.0,
"delta": -0.4306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3052,
"after": 0.0,
"delta": -0.3052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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.3052,
"after": 0.0,
"delta": -0.3052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.0189,
"predicted_BB": 0.4295,
"predicted_H": 0.729,
"predicted_HR": 0.1621,
"predicted_RBI": 0.533,
"predicted_SO": 1.0587
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.156,
"delta": 0.156,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4295,
"delta": 0.4295,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.729,
"delta": -0.271,
"percent_delta": -0.271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1621,
"delta": 0.1621,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.533,
"delta": 0.533,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0587,
"delta": 0.0587,
"percent_delta": 0.0587,
"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_RBI",
"before": 0.0,
"after": 0.533,
"delta": 0.533,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.729,
"delta": -0.271,
"percent_delta": -0.271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.303,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.406,
"predicted_SO": 1.0
},
"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_AVG",
"before": 0.1539,
"after": 0.21,
"delta": 0.0561,
"percent_delta": 0.3645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4295,
"after": 0.0,
"delta": -0.4295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.729,
"after": 1.0,
"delta": 0.271,
"percent_delta": 0.3717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1621,
"after": 0.0,
"delta": -0.1621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2297,
"after": 0.303,
"delta": 0.0733,
"percent_delta": 0.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2686,
"after": 0.406,
"delta": 0.1374,
"percent_delta": 0.5115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0587,
"after": 1.0,
"delta": -0.0587,
"percent_delta": -0.0554,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.533,
"after": 1.0,
"delta": 0.467,
"percent_delta": 0.8762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4295,
"after": 0.0,
"delta": -0.4295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.303,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.406,
"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
}
},
{
"index": 10,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 13,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.303,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.406,
"predicted_SO": 2.0,
"predicted_TB": 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
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.708,
"after": 4.0,
"delta": 1.292,
"percent_delta": 0.4771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.21,
"delta": -0.011,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.303,
"delta": 0.029,
"percent_delta": 0.1058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.315,
"after": 0.0,
"delta": -0.315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.406,
"delta": 0.061,
"percent_delta": 0.1768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.73,
"after": 2.0,
"delta": 1.27,
"percent_delta": 1.7397,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 4,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.708,
"after": 4.0,
"delta": 1.292,
"percent_delta": 0.4771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.090 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 2.708 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.270 | - |
| predicted_H | 0.320 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.315 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 0.730 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.080 | -0.010 |
| predicted_3B | 0.019 | -0.003 |
| predicted_AB | 2.798 | 0.090 |
| predicted_AVG | 0.214 | -0.007 |
| predicted_BB | 0.276 | 0.006 |
| predicted_H | 0.437 | 0.117 |
| predicted_HBP | 0.057 | - |
| predicted_HR | 0.069 | 0.009 |
| predicted_OBP | 0.279 | 0.005 |
| predicted_R | 0.312 | -0.003 |
| predicted_RBI | 0.335 | 0.085 |
| predicted_SLG | 0.335 | -0.010 |
| predicted_SO | 0.762 | 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.080 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 2.798 | 0.000 |
| predicted_AVG | 0.154 | -0.060 |
| predicted_BB | 0.276 | 0.000 |
| predicted_H | 0.431 | -0.007 |
| predicted_HBP | 0.057 | 0.000 |
| predicted_HR | 0.068 | -0.001 |
| predicted_OBP | 0.230 | -0.050 |
| predicted_R | 0.305 | -0.007 |
| predicted_RBI | 0.327 | -0.008 |
| predicted_SLG | 0.269 | -0.067 |
| predicted_SO | 0.762 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.80), rates preserved: AVG=0.134 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.156 | 0.156 |
| 3B | 0.019 | 0.019 |
| BB | 0.429 | 0.429 |
| H | 0.729 | -0.271 |
| HR | 0.162 | 0.162 |
| RBI | 0.533 | 0.533 |
| SO | 1.059 | 0.059 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.156 |
| 3B | 0.000 | -0.019 |
| AB | 3.000 | 0.000 |
| AVG | 0.210 | - |
| BB | 0.000 | -0.429 |
| H | 1.000 | 0.271 |
| HR | 0.000 | -0.162 |
| OBP | 0.303 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.467 |
| SLG | 0.406 | - |
| SO | 1.000 | -0.059 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.080 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 3.000 | 0.202 |
| predicted_AVG | 0.210 | 0.056 |
| predicted_BB | 0.000 | -0.276 |
| predicted_H | 1.000 | 0.569 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.303 | 0.073 |
| predicted_R | 0.000 | -0.305 |
| predicted_RBI | 1.000 | 0.673 |
| predicted_SLG | 0.406 | 0.137 |
| predicted_SO | 1.000 | 0.238 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -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 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.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 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 4.000 | 0.1333 | 0.1875 | 0.1333 | 0.1333 | 0.0000 | 0.1333 | 0.0667 | 0.2667 |
| last_10 | 0.20 | 10 | - | 30.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 4.000 | 10.000 | 0.1333 | 0.2778 | 0.1333 | 0.1333 | 0.0000 | 0.1333 | 0.1333 | 0.3333 |
| season | 0.60 | 89 | - | 241.000 | 59.000 | 8.000 | 2.000 | 11.000 | 42.000 | 28.000 | 24.000 | 65.000 | 0.2448 | 0.3185 | 0.4315 | 0.2448 | 0.0456 | 0.1743 | 0.0996 | 0.2697 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0140 |
| predicted_AB | 2.9220 |
| predicted_AVG | 0.2050 |
| predicted_BB | 0.2830 |
| predicted_H | 0.5990 |
| predicted_HBP | 0.0570 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.2863 |
| predicted_R | 0.3090 |
| predicted_RBI | 0.4520 |
| predicted_SLG | 0.3217 |
| predicted_SO | 0.8070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0900 | 0.0660 | 0.0799 | model_form_blend |
| predicted_3B | 0.0220 | 0.0140 | 0.0186 | model_form_blend |
| predicted_AB | 2.7080 | 2.9220 | 2.7980 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2050 | 0.2143 | model_form_blend |
| predicted_BB | 0.2700 | 0.2830 | 0.2755 | model_form_blend |
| predicted_H | 0.3200 | 0.5990 | 0.4374 | model_form_blend |
| predicted_HBP | - | 0.0570 | 0.0570 | form_only |
| predicted_HR | 0.0600 | 0.0820 | 0.0693 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2863 | 0.2792 | model_form_blend |
| predicted_R | 0.3150 | 0.3090 | 0.3125 | model_form_blend |
| predicted_RBI | 0.2500 | 0.4520 | 0.3350 | model_form_blend |
| predicted_SLG | 0.3450 | 0.3217 | 0.3352 | model_form_blend |
| predicted_SO | 0.7300 | 0.8070 | 0.7624 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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-1B |
| gameID | 20260927_TB@PHI |
| game_type | ph |
| mlbID | 668723 |
| note | Lined out for Aranda in the 6th. |
| playerID | 668723 |
| playerName | Ryan Vilade |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-27 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.327 |
| sl_xwoba | 0.327 |
| sl_xba | 0.252 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 39.9 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 48.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.118 | 0.000 | 0.000 | Hitting_2B | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.710 | 4.000 | 4.000 | Hitting_AB | 3.368 | 3.000 | 0.632 | 1.000 |
| predicted_AVG | 0.227 | 0.250 | 0.250 | Hitting_AVG | 0.316 | 0.000 | -0.066 | 0.250 |
| predicted_BB | 0.396 | 0.000 | 0.000 | Hitting_BB | 0.440 | 0.000 | -0.440 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 1.000 | 1.000 | Hitting_H | 1.064 | 0.000 | -0.064 | 1.000 |
| predicted_HR | 0.090 | 1.000 | 1.000 | Hitting_HR | 0.144 | 0.000 | 0.856 | 1.000 |
| predicted_OBP | 0.346 | 0.250 | 0.250 | Hitting_OBP | 0.409 | 0.000 | -0.159 | 0.250 |
| predicted_R | 0.458 | 1.000 | 1.000 | Hitting_R | 0.368 | 0.000 | 0.632 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 1.000 | Hitting_RBI | 0.736 | 1.000 | 0.264 | 0.000 |
| predicted_SLG | 0.373 | 1.000 | 1.000 | Hitting_SLG | 0.506 | 0.000 | 0.494 | 1.000 |
| predicted_SO | 0.382 | 0.000 | 0.000 | Hitting_SO | 0.344 | 0.000 | -0.344 | 0.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.0900 -> 1.0000 (boost 0.9100, better) |
| Biggest Deboost | predicted_BB: 0.3960 -> 0.0000 (deboost -0.3960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_2B: 0.1180 -> 0.1689 (boost 0.0509, better) | predicted_AB: 3.7100 -> 3.6421 (deboost -0.0679, worse) | Final model input calibrated with local 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.3141 (deboost -0.0310, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.8767 -> 1.0000 (boost 0.1233, better) | predicted_AB: 3.6421 -> 3.0000 (deboost -0.6421, worse) | AB rounded to 3 (raw=3.71), rates preserved: AVG=0.206 HR/AB=0.023 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4187 -> 0.0000 (deboost -0.4187, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.5781 (boost 0.5781, better) | predicted_H: 1.0000 -> 0.7953 (deboost -0.2047, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5781 -> 1.0000 (boost 0.4219, better) | predicted_SO: 0.5222 -> 0.0000 (deboost -0.5222, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | play_by_play_realization | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 13 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "689414",
"player_name": "Liam Hicks",
"position": "C",
"team": "TB",
"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.007,
"predicted_AB": 3.71,
"predicted_AVG": 0.227,
"predicted_BB": 0.396,
"predicted_H": 0.84,
"predicted_HR": 0.09,
"predicted_OBP": 0.346,
"predicted_R": 0.458,
"predicted_RBI": 0.49,
"predicted_SLG": 0.373,
"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
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1689,
"predicted_3B": 0.0061,
"predicted_AB": 3.6421,
"predicted_AVG": 0.2452,
"predicted_BB": 0.3899,
"predicted_H": 0.8905,
"predicted_HBP": 0.047,
"predicted_HR": 0.0861,
"predicted_OBP": 0.3451,
"predicted_R": 0.4288,
"predicted_RBI": 0.5,
"predicted_SLG": 0.3876,
"predicted_SO": 0.3959
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1689,
"delta": 0.0509,
"percent_delta": 0.4314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.71,
"after": 3.6421,
"delta": -0.0679,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2452,
"delta": 0.0182,
"percent_delta": 0.0802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8905,
"delta": 0.0505,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3876,
"delta": 0.0146,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1689,
"delta": 0.0509,
"percent_delta": 0.4314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.71,
"after": 3.6421,
"delta": -0.0679,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 144
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1689,
"predicted_3B": 0.0061,
"predicted_AB": 3.6421,
"predicted_AVG": 0.2407,
"predicted_BB": 0.3899,
"predicted_H": 0.8767,
"predicted_HBP": 0.047,
"predicted_HR": 0.0844,
"predicted_OBP": 0.3141,
"predicted_R": 0.4187,
"predicted_RBI": 0.4883,
"predicted_SLG": 0.36,
"predicted_SO": 0.3959
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.3451,
"after": 0.3141,
"delta": -0.031,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3876,
"after": 0.36,
"delta": -0.0276,
"percent_delta": -0.0712,
"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_OBP",
"before": 0.3451,
"after": 0.3141,
"delta": -0.031,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.71), rates preserved: AVG=0.206 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1689,
"after": 0.0,
"delta": -0.1689,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.6421,
"after": 3.0,
"delta": -0.6421,
"percent_delta": -0.1763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3899,
"after": 0.0,
"delta": -0.3899,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8767,
"after": 1.0,
"delta": 0.1233,
"percent_delta": 0.1406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0844,
"after": 0.0,
"delta": -0.0844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4883,
"after": 0.0,
"delta": -0.4883,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3959,
"after": 0.0,
"delta": -0.3959,
"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.8767,
"after": 1.0,
"delta": 0.1233,
"percent_delta": 0.1406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6421,
"after": 3.0,
"delta": -0.6421,
"percent_delta": -0.1763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.4187,
"after": 0.0,
"delta": -0.4187,
"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_R",
"before": 0.4187,
"after": 0.0,
"delta": -0.4187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1371,
"predicted_3B": 0.0137,
"predicted_BB": 0.4175,
"predicted_H": 0.7953,
"predicted_HR": 0.1371,
"predicted_RBI": 0.5781,
"predicted_SO": 0.5222
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1371,
"delta": 0.1371,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4175,
"delta": 0.4175,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7953,
"delta": -0.2047,
"percent_delta": -0.2047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1371,
"delta": 0.1371,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5781,
"delta": 0.5781,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.5222,
"delta": 0.5222,
"percent_delta": null,
"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_RBI",
"before": 0.0,
"after": 0.5781,
"delta": 0.5781,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7953,
"delta": -0.2047,
"percent_delta": -0.2047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.227,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.315,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.392,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1371,
"after": 0.0,
"delta": -0.1371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2407,
"after": 0.227,
"delta": -0.0137,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4175,
"after": 0.0,
"delta": -0.4175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7953,
"after": 1.0,
"delta": 0.2047,
"percent_delta": 0.2574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1371,
"after": 0.0,
"delta": -0.1371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5781,
"after": 1.0,
"delta": 0.4219,
"percent_delta": 0.7298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.392,
"delta": 0.032,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5222,
"after": 0.0,
"delta": -0.5222,
"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_RBI",
"before": 0.5781,
"after": 1.0,
"delta": 0.4219,
"percent_delta": 0.7298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5222,
"after": 0.0,
"delta": -0.5222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.227,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.315,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.392,
"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
}
},
{
"index": 10,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"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_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
}
],
"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
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "simulation_box_score_reference",
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 13,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.227,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.315,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.392,
"predicted_SO": 0.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 3.71,
"after": 4.0,
"delta": 0.29,
"percent_delta": 0.0782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.0,
"delta": 0.16,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.315,
"delta": -0.031,
"percent_delta": -0.0896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.458,
"after": 1.0,
"delta": 0.542,
"percent_delta": 1.1834,
"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.373,
"after": 0.392,
"delta": 0.019,
"percent_delta": 0.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"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.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}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.007 | - |
| predicted_AB | 3.710 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.396 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.458 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.373 | - |
| 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.169 | 0.051 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.642 | -0.068 |
| predicted_AVG | 0.245 | 0.018 |
| predicted_BB | 0.390 | -0.006 |
| predicted_H | 0.890 | 0.050 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.086 | -0.004 |
| predicted_OBP | 0.345 | -0.001 |
| predicted_R | 0.429 | -0.029 |
| predicted_RBI | 0.500 | 0.010 |
| predicted_SLG | 0.388 | 0.015 |
| predicted_SO | 0.396 | 0.014 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.642 | 0.000 |
| predicted_AVG | 0.241 | -0.005 |
| predicted_BB | 0.390 | 0.000 |
| predicted_H | 0.877 | -0.014 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.084 | -0.002 |
| predicted_OBP | 0.314 | -0.031 |
| predicted_R | 0.419 | -0.010 |
| predicted_RBI | 0.488 | -0.012 |
| predicted_SLG | 0.360 | -0.028 |
| predicted_SO | 0.396 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.71), rates preserved: AVG=0.206 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.137 | 0.137 |
| 3B | 0.014 | 0.014 |
| BB | 0.417 | 0.417 |
| H | 0.795 | -0.205 |
| HR | 0.137 | 0.137 |
| RBI | 0.578 | 0.578 |
| SO | 0.522 | 0.522 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.137 |
| 3B | 0.000 | -0.014 |
| AB | 3.000 | 0.000 |
| AVG | 0.227 | - |
| BB | 0.000 | -0.417 |
| H | 1.000 | 0.205 |
| HR | 0.000 | -0.137 |
| OBP | 0.315 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.422 |
| SLG | 0.392 | - |
| SO | 0.000 | -0.522 |
Player 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.006 |
| predicted_AB | 3.000 | -0.642 |
| predicted_AVG | 0.227 | -0.014 |
| predicted_BB | 0.000 | -0.390 |
| predicted_H | 1.000 | 0.123 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.315 | 0.001 |
| predicted_R | 0.000 | -0.419 |
| predicted_RBI | 1.000 | 0.512 |
| predicted_SLG | 0.392 | 0.032 |
| predicted_SO | 0.000 | -0.396 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 3.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 2.000 | 0.2381 | 0.2727 | 0.3810 | 0.2381 | 0.0000 | 0.0952 | 0.0476 | 0.0952 |
| last_10 | 0.20 | 10 | - | 34.000 | 9.000 | 3.000 | 0.000 | 0.000 | 4.000 | 3.000 | 5.000 | 4.000 | 0.2647 | 0.3590 | 0.3529 | 0.2647 | 0.0000 | 0.1177 | 0.1471 | 0.1177 |
| season | 0.60 | 144 | - | 485.000 | 137.000 | 17.000 | 1.000 | 18.000 | 83.000 | 66.000 | 57.000 | 55.000 | 0.2825 | 0.3661 | 0.4330 | 0.2825 | 0.0371 | 0.1711 | 0.1175 | 0.1134 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2350 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.5540 |
| predicted_AVG | 0.2689 |
| predicted_BB | 0.3820 |
| predicted_H | 0.9560 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.3439 |
| predicted_R | 0.3910 |
| predicted_RBI | 0.5130 |
| predicted_SLG | 0.4066 |
| predicted_SO | 0.4140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.2350 | 0.1689 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 3.7100 | 3.5540 | 3.6421 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2689 | 0.2452 | model_form_blend |
| predicted_BB | 0.3960 | 0.3820 | 0.3899 | model_form_blend |
| predicted_H | 0.8400 | 0.9560 | 0.8905 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.0900 | 0.0810 | 0.0861 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3439 | 0.3451 | model_form_blend |
| predicted_R | 0.4580 | 0.3910 | 0.4288 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5130 | 0.5000 | model_form_blend |
| predicted_SLG | 0.3730 | 0.4066 | 0.3876 | model_form_blend |
| predicted_SO | 0.3820 | 0.4140 | 0.3959 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 125 |
| Season rows before report date | 125 |
| Report year | 2026 |
| Profile rows used | 144 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 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 | C |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 689414 |
| playerID | 689414 |
| playerName | Liam Hicks |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 9.9 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.352 |
| sl_xwoba | 0.319 |
| sl_xba | 0.261 |
| sl_xslg | 0.358 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 27.1 |
| sl_exit_velocity_avg | 84.6 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 11.4 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.238 | 0.000 | 0.000 | Hitting_2B | 0.269 | 1.000 | -0.269 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.362 | 4.000 | 4.000 | Hitting_AB | 3.674 | 4.000 | 0.326 | 0.000 |
| predicted_AVG | 0.266 | 0.250 | 0.250 | Hitting_AVG | 0.278 | 0.250 | -0.028 | 0.000 |
| predicted_BB | 0.162 | 0.000 | 0.000 | Hitting_BB | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.895 | 1.000 | 1.000 | Hitting_H | 1.023 | 1.000 | -0.023 | 0.000 |
| predicted_HR | 0.105 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.300 | 0.250 | 0.250 | Hitting_OBP | 0.312 | 0.250 | -0.062 | 0.000 |
| predicted_R | 0.419 | 0.000 | 0.000 | Hitting_R | 0.483 | 1.000 | -0.483 | -1.000 |
| predicted_RBI | 0.476 | 0.000 | 0.000 | Hitting_RBI | 0.560 | 0.000 | -0.560 | 0.000 |
| predicted_SLG | 0.431 | 0.250 | 0.250 | Hitting_SLG | 0.440 | 0.500 | -0.190 | -0.250 |
| predicted_SO | 0.752 | 1.000 | 1.000 | Hitting_SO | 0.760 | 0.000 | 0.240 | 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.3620 -> 4.0000 (boost 0.6380, better) |
| Biggest Deboost | predicted_RBI: 0.4760 -> 0.0000 (deboost -0.4760, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.3620 -> 3.4373 (boost 0.0753, 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.4569 -> 0.4512 (deboost -0.0057, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.4373 -> 4.0000 (boost 0.5627, better) | predicted_2B: 0.2461 -> 0.0000 (deboost -0.2461, worse) | AB rounded to 4 (raw=3.44), rates preserved: AVG=0.230 HR/AB=0.039 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4455 -> 0.0000 (deboost -0.4455, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.2807 (boost 0.2807, better) | predicted_RBI: 1.0000 -> 0.4858 (deboost -0.5142, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 2 | 7 | 3 | 6 | predicted_2B: 0.1903 -> 1.0000 (boost 0.8097, better) | predicted_RBI: 0.4858 -> 0.0000 (deboost -0.4858, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 1 | 0 | 1 | 0 | 1 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"position": "CF",
"team": "TB",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.238,
"predicted_3B": 0.0,
"predicted_AB": 3.362,
"predicted_AVG": 0.266,
"predicted_BB": 0.162,
"predicted_H": 0.895,
"predicted_HR": 0.105,
"predicted_OBP": 0.3,
"predicted_R": 0.419,
"predicted_RBI": 0.476,
"predicted_SLG": 0.431,
"predicted_SO": 0.752
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2461,
"predicted_3B": 0.0004,
"predicted_AB": 3.4373,
"predicted_AVG": 0.2678,
"predicted_BB": 0.1787,
"predicted_H": 0.9211,
"predicted_HBP": 0.002,
"predicted_HR": 0.135,
"predicted_OBP": 0.3042,
"predicted_R": 0.4562,
"predicted_RBI": 0.4953,
"predicted_SLG": 0.4569,
"predicted_SO": 0.7713
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.362,
"after": 3.4373,
"delta": 0.0753,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4569,
"delta": 0.0259,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.362,
"after": 3.4373,
"delta": 0.0753,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 105
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2461,
"predicted_3B": 0.0004,
"predicted_AB": 3.4373,
"predicted_AVG": 0.2638,
"predicted_BB": 0.1787,
"predicted_H": 0.9068,
"predicted_HBP": 0.002,
"predicted_HR": 0.1324,
"predicted_OBP": 0.3002,
"predicted_R": 0.4455,
"predicted_RBI": 0.4837,
"predicted_SLG": 0.4512,
"predicted_SO": 0.7713
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.4569,
"after": 0.4512,
"delta": -0.0057,
"percent_delta": -0.0125,
"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_SLG",
"before": 0.4569,
"after": 0.4512,
"delta": -0.0057,
"percent_delta": -0.0125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.44), rates preserved: AVG=0.230 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.2461,
"after": 0.0,
"delta": -0.2461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4373,
"after": 4.0,
"delta": 0.5627,
"percent_delta": 0.1637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1787,
"after": 0.0,
"delta": -0.1787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9068,
"after": 1.0,
"delta": 0.0932,
"percent_delta": 0.1028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1324,
"after": 0.0,
"delta": -0.1324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4837,
"after": 1.0,
"delta": 0.5163,
"percent_delta": 1.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7713,
"after": 1.0,
"delta": 0.2287,
"percent_delta": 0.2965,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.4373,
"after": 4.0,
"delta": 0.5627,
"percent_delta": 0.1637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2461,
"after": 0.0,
"delta": -0.2461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"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
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.4455,
"after": 0.0,
"delta": -0.4455,
"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_R",
"before": 0.4455,
"after": 0.0,
"delta": -0.4455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1903,
"predicted_3B": 0.0107,
"predicted_BB": 0.2807,
"predicted_H": 0.7604,
"predicted_HR": 0.1336,
"predicted_RBI": 0.4858,
"predicted_SO": 1.0512
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1903,
"delta": 0.1903,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2807,
"delta": 0.2807,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7604,
"delta": -0.2396,
"percent_delta": -0.2396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1336,
"delta": 0.1336,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4858,
"delta": -0.5142,
"percent_delta": -0.5142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0512,
"delta": 0.0512,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2807,
"delta": 0.2807,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.4858,
"delta": -0.5142,
"percent_delta": -0.5142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.214,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.277,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.386,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1903,
"after": 1.0,
"delta": 0.8097,
"percent_delta": 4.2549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2638,
"after": 0.214,
"delta": -0.0498,
"percent_delta": -0.1888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2807,
"after": 0.0,
"delta": -0.2807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7604,
"after": 1.0,
"delta": 0.2396,
"percent_delta": 0.3151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1336,
"after": 0.0,
"delta": -0.1336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3002,
"after": 0.277,
"delta": -0.0232,
"percent_delta": -0.0773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4858,
"after": 0.0,
"delta": -0.4858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4512,
"after": 0.386,
"delta": -0.0652,
"percent_delta": -0.1445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0512,
"after": 1.0,
"delta": -0.0512,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.1903,
"after": 1.0,
"delta": 0.8097,
"percent_delta": 4.2549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4858,
"after": 0.0,
"delta": -0.4858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.214,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.277,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.386,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"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_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.214,
"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.277,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.386,
"predicted_SO": 1.0,
"predicted_TB": 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
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.238,
"after": 0.0,
"delta": -0.238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.362,
"after": 4.0,
"delta": 0.638,
"percent_delta": 0.1898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.214,
"delta": -0.052,
"percent_delta": -0.1955,
"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.895,
"after": 1.0,
"delta": 0.105,
"percent_delta": 0.1173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.277,
"delta": -0.023,
"percent_delta": -0.0767,
"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.476,
"after": 0.0,
"delta": -0.476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.386,
"delta": -0.045,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 1.0,
"delta": 0.248,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.362,
"after": 4.0,
"delta": 0.638,
"percent_delta": 0.1898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.476,
"after": 0.0,
"delta": -0.476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.362 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.162 | - |
| predicted_H | 0.895 | - |
| predicted_HR | 0.105 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.476 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.752 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.246 | 0.008 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.437 | 0.075 |
| predicted_AVG | 0.268 | 0.002 |
| predicted_BB | 0.179 | 0.017 |
| predicted_H | 0.921 | 0.026 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.135 | 0.030 |
| predicted_OBP | 0.304 | 0.004 |
| predicted_R | 0.456 | 0.037 |
| predicted_RBI | 0.495 | 0.019 |
| predicted_SLG | 0.457 | 0.026 |
| predicted_SO | 0.771 | 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.246 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.437 | 0.000 |
| predicted_AVG | 0.264 | -0.004 |
| predicted_BB | 0.179 | 0.000 |
| predicted_H | 0.907 | -0.014 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.132 | -0.003 |
| predicted_OBP | 0.300 | -0.004 |
| predicted_R | 0.446 | -0.011 |
| predicted_RBI | 0.484 | -0.012 |
| predicted_SLG | 0.451 | -0.006 |
| predicted_SO | 0.771 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.44), rates preserved: AVG=0.230 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 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.190 | 0.190 |
| 3B | 0.011 | 0.011 |
| BB | 0.281 | 0.281 |
| H | 0.760 | -0.240 |
| HR | 0.134 | 0.134 |
| RBI | 0.486 | -0.514 |
| SO | 1.051 | 0.051 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.810 |
| 3B | 0.000 | -0.011 |
| AB | 4.000 | 0.000 |
| AVG | 0.214 | - |
| BB | 0.000 | -0.281 |
| H | 1.000 | 0.240 |
| HR | 0.000 | -0.134 |
| OBP | 0.277 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.486 |
| SLG | 0.386 | - |
| SO | 1.000 | -0.051 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.754 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.563 |
| predicted_AVG | 0.214 | -0.050 |
| predicted_BB | 0.000 | -0.179 |
| predicted_H | 1.000 | 0.093 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.277 | -0.023 |
| predicted_R | 0.000 | -0.446 |
| predicted_RBI | 0.000 | -0.484 |
| predicted_SLG | 0.386 | -0.065 |
| predicted_SO | 1.000 | 0.229 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| 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 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 1.000 | 0.000 | 2.000 | 3.000 | 4.000 | 1.000 | 3.000 | 0.2632 | 0.3000 | 0.6316 | 0.2632 | 0.1053 | 0.1579 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 4.000 | 0.000 | 2.000 | 6.000 | 5.000 | 3.000 | 11.000 | 0.2973 | 0.3500 | 0.5676 | 0.2973 | 0.0541 | 0.1622 | 0.0811 | 0.2973 |
| season | 0.60 | 105 | - | 353.000 | 94.000 | 25.000 | 0.000 | 11.000 | 50.000 | 44.000 | 17.000 | 79.000 | 0.2663 | 0.3000 | 0.4306 | 0.2663 | 0.0312 | 0.1416 | 0.0482 | 0.2238 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2570 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5380 |
| predicted_AVG | 0.2701 |
| predicted_BB | 0.2010 |
| predicted_H | 0.9560 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1750 |
| predicted_OBP | 0.3097 |
| predicted_R | 0.5060 |
| predicted_RBI | 0.5210 |
| predicted_SLG | 0.4914 |
| predicted_SO | 0.7970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2380 | 0.2570 | 0.2461 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3620 | 3.5380 | 3.4373 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2701 | 0.2678 | model_form_blend |
| predicted_BB | 0.1620 | 0.2010 | 0.1787 | model_form_blend |
| predicted_H | 0.8950 | 0.9560 | 0.9211 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1050 | 0.1750 | 0.1350 | model_form_blend |
| predicted_OBP | 0.3000 | 0.3097 | 0.3042 | model_form_blend |
| predicted_R | 0.4190 | 0.5060 | 0.4562 | model_form_blend |
| predicted_RBI | 0.4760 | 0.5210 | 0.4953 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4914 | 0.4569 | model_form_blend |
| predicted_SO | 0.7520 | 0.7970 | 0.7713 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 350 |
| Season rows before report date | 350 |
| Report year | 2026 |
| Profile rows used | 105 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.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 | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 676356 |
| playerID | 676356 |
| playerName | Jonny DeLuca |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.317 |
| sl_xwoba | 0.261 |
| sl_xba | 0.232 |
| sl_xslg | 0.325 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 30.2 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 24.9 |
| 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.125 | 0.000 | 0.000 | Hitting_2B | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 2.933 | 4.000 | 4.000 | Hitting_AB | 3.161 | 4.000 | 0.839 | 0.000 |
| predicted_AVG | 0.264 | 0.000 | 0.000 | Hitting_AVG | 0.245 | 0.250 | -0.245 | -0.250 |
| predicted_BB | 0.383 | 0.000 | 0.000 | Hitting_BB | 0.464 | 0.000 | -0.464 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 0.730 | 0.000 | 0.000 | Hitting_H | 0.775 | 1.000 | -0.775 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.339 | 0.000 | 0.000 | Hitting_OBP | 0.346 | 0.250 | -0.346 | -0.250 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.495 | 0.000 | -0.495 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 0.000 | Hitting_RBI | 0.521 | 2.000 | -0.521 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_SLG | 0.385 | 0.000 | 0.000 | Hitting_SLG | 0.397 | 0.250 | -0.397 | -0.250 |
| predicted_SO | 0.575 | 0.000 | 0.000 | Hitting_SO | 0.627 | 1.000 | -0.627 | -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.9330 -> 4.0000 (boost 1.0670, better) |
| Biggest Deboost | predicted_H: 0.7300 -> 0.0000 (deboost -0.7300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9330 -> 2.9854 (boost 0.0524, better) | predicted_R: 0.4000 -> 0.3480 (deboost -0.0520, worse) | Final model input calibrated with local 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.2609 -> 0.2484 (deboost -0.0125, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_SO: 0.5634 -> 1.0000 (boost 0.4366, worse) | predicted_BB: 0.3839 -> 0.0000 (deboost -0.3839, worse) | AB rounded to 3 (raw=2.99), rates preserved: AVG=0.216 HR/AB=0.021 |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3398 -> 0.0000 (deboost -0.3398, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.4119 (boost 0.4119, better) | predicted_RBI: 1.0000 -> 0.5110 (deboost -0.4890, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 9 | 1 | 8 | 0 | 9 | predicted_SO: 0.7703 -> 1.0000 (boost 0.2297, worse) | predicted_H: 0.6658 -> 0.0000 (deboost -0.6658, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | play_by_play_realization | 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) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 13 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "680700",
"player_name": "Richie Palacios",
"position": "2B",
"team": "TB",
"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.017,
"predicted_AB": 2.933,
"predicted_AVG": 0.264,
"predicted_BB": 0.383,
"predicted_H": 0.73,
"predicted_HR": 0.07,
"predicted_OBP": 0.339,
"predicted_R": 0.4,
"predicted_RBI": 0.61,
"predicted_SLG": 0.385,
"predicted_SO": 0.575
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0144,
"predicted_AB": 2.9854,
"predicted_AVG": 0.2609,
"predicted_BB": 0.3839,
"predicted_H": 0.7532,
"predicted_HBP": 0.021,
"predicted_HR": 0.064,
"predicted_OBP": 0.3408,
"predicted_R": 0.348,
"predicted_RBI": 0.6474,
"predicted_SLG": 0.386,
"predicted_SO": 0.5634
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 2.933,
"after": 2.9854,
"delta": 0.0524,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.348,
"delta": -0.052,
"percent_delta": -0.13,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.933,
"after": 2.9854,
"delta": 0.0524,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4,
"after": 0.348,
"delta": -0.052,
"percent_delta": -0.13,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 120
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0144,
"predicted_AB": 2.9854,
"predicted_AVG": 0.2484,
"predicted_BB": 0.3839,
"predicted_H": 0.7415,
"predicted_HBP": 0.021,
"predicted_HR": 0.0628,
"predicted_OBP": 0.334,
"predicted_R": 0.3398,
"predicted_RBI": 0.6322,
"predicted_SLG": 0.3754,
"predicted_SO": 0.5634
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2609,
"after": 0.2484,
"delta": -0.0125,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3408,
"after": 0.334,
"delta": -0.0068,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3754,
"delta": -0.0106,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.2609,
"after": 0.2484,
"delta": -0.0125,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.99), rates preserved: AVG=0.216 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"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_BB",
"before": 0.3839,
"after": 0.0,
"delta": -0.3839,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7415,
"after": 1.0,
"delta": 0.2585,
"percent_delta": 0.3486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0628,
"after": 0.0,
"delta": -0.0628,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6322,
"after": 1.0,
"delta": 0.3678,
"percent_delta": 0.5818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5634,
"after": 1.0,
"delta": 0.4366,
"percent_delta": 0.7749,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5634,
"after": 1.0,
"delta": 0.4366,
"percent_delta": 0.7749,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3839,
"after": 0.0,
"delta": -0.3839,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.3398,
"after": 0.0,
"delta": -0.3398,
"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_R",
"before": 0.3398,
"after": 0.0,
"delta": -0.3398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1336,
"predicted_3B": 0.0171,
"predicted_BB": 0.4119,
"predicted_H": 0.6658,
"predicted_HR": 0.1064,
"predicted_RBI": 0.511,
"predicted_SO": 0.7703
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1336,
"delta": 0.1336,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4119,
"delta": 0.4119,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6658,
"delta": -0.3342,
"percent_delta": -0.3342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1064,
"delta": 0.1064,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.511,
"delta": -0.489,
"percent_delta": -0.489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7703,
"delta": -0.2297,
"percent_delta": -0.2297,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4119,
"delta": 0.4119,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.511,
"delta": -0.489,
"percent_delta": -0.489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.209,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.305,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.363,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1336,
"after": 0.0,
"delta": -0.1336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2484,
"after": 0.209,
"delta": -0.0394,
"percent_delta": -0.1586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4119,
"after": 0.0,
"delta": -0.4119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6658,
"after": 0.0,
"delta": -0.6658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1064,
"after": 0.0,
"delta": -0.1064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.305,
"delta": -0.029,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.511,
"after": 0.0,
"delta": -0.511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3754,
"after": 0.363,
"delta": -0.0124,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7703,
"after": 1.0,
"delta": 0.2297,
"percent_delta": 0.2982,
"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.7703,
"after": 1.0,
"delta": 0.2297,
"percent_delta": 0.2982,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6658,
"after": 0.0,
"delta": -0.6658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player 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.209,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.305,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.363,
"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
}
},
{
"index": 10,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"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_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
}
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 13,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.209,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.305,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.363,
"predicted_SO": 0.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 2.933,
"after": 4.0,
"delta": 1.067,
"percent_delta": 0.3638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.209,
"delta": -0.055,
"percent_delta": -0.2083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.383,
"after": 0.0,
"delta": -0.383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"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.339,
"after": 0.305,
"delta": -0.034,
"percent_delta": -0.1003,
"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.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.363,
"delta": -0.022,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.575,
"after": 0.0,
"delta": -0.575,
"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.933,
"after": 4.0,
"delta": 1.067,
"percent_delta": 0.3638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.017 | - |
| predicted_AB | 2.933 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.383 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.385 | - |
| predicted_SO | 0.575 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.037 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 2.985 | 0.052 |
| predicted_AVG | 0.261 | -0.003 |
| predicted_BB | 0.384 | 0.001 |
| predicted_H | 0.753 | 0.023 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.064 | -0.006 |
| predicted_OBP | 0.341 | 0.002 |
| predicted_R | 0.348 | -0.052 |
| predicted_RBI | 0.647 | 0.037 |
| predicted_SLG | 0.386 | 0.001 |
| predicted_SO | 0.563 | -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.162 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 2.985 | 0.000 |
| predicted_AVG | 0.248 | -0.013 |
| predicted_BB | 0.384 | 0.000 |
| predicted_H | 0.742 | -0.012 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.063 | -0.001 |
| predicted_OBP | 0.334 | -0.007 |
| predicted_R | 0.340 | -0.008 |
| predicted_RBI | 0.632 | -0.015 |
| predicted_SLG | 0.375 | -0.011 |
| predicted_SO | 0.563 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.99), rates preserved: AVG=0.216 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 | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.134 | 0.134 |
| 3B | 0.017 | 0.017 |
| BB | 0.412 | 0.412 |
| H | 0.666 | -0.334 |
| HR | 0.106 | 0.106 |
| RBI | 0.511 | -0.489 |
| SO | 0.770 | -0.230 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.134 |
| 3B | 0.000 | -0.017 |
| AB | 3.000 | 0.000 |
| AVG | 0.209 | - |
| BB | 0.000 | -0.412 |
| H | 0.000 | -0.666 |
| HR | 0.000 | -0.106 |
| OBP | 0.305 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.511 |
| SLG | 0.363 | - |
| SO | 1.000 | 0.230 |
Player 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.014 |
| predicted_AB | 3.000 | 0.015 |
| predicted_AVG | 0.209 | -0.039 |
| predicted_BB | 0.000 | -0.384 |
| predicted_H | 0.000 | -0.742 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.305 | -0.029 |
| predicted_R | 0.000 | -0.340 |
| predicted_RBI | 0.000 | -0.632 |
| predicted_SLG | 0.363 | -0.012 |
| predicted_SO | 1.000 | 0.437 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 2.000 | 0.000 | 0.000 | 6.000 | 0.000 | 2.000 | 2.000 | 0.3125 | 0.3889 | 0.4375 | 0.3125 | 0.0000 | 0.3750 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 3.000 | 0.000 | 0.000 | 9.000 | 1.000 | 4.000 | 5.000 | 0.2667 | 0.3529 | 0.3667 | 0.2667 | 0.0000 | 0.3000 | 0.1333 | 0.1667 |
| season | 0.60 | 120 | - | 352.000 | 83.000 | 15.000 | 2.000 | 10.000 | 59.000 | 48.000 | 46.000 | 69.000 | 0.2358 | 0.3292 | 0.3750 | 0.2358 | 0.0284 | 0.1676 | 0.1307 | 0.1960 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2110 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.0550 |
| predicted_AVG | 0.2567 |
| predicted_BB | 0.3850 |
| predicted_H | 0.7840 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.3431 |
| predicted_R | 0.2790 |
| predicted_RBI | 0.6970 |
| predicted_SLG | 0.3873 |
| predicted_SO | 0.5480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.2110 | 0.1620 | model_form_blend |
| predicted_3B | 0.0170 | 0.0110 | 0.0144 | model_form_blend |
| predicted_AB | 2.9330 | 3.0550 | 2.9854 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2567 | 0.2609 | model_form_blend |
| predicted_BB | 0.3830 | 0.3850 | 0.3839 | model_form_blend |
| predicted_H | 0.7300 | 0.7840 | 0.7532 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0700 | 0.0560 | 0.0640 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3431 | 0.3408 | model_form_blend |
| predicted_R | 0.4000 | 0.2790 | 0.3480 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6970 | 0.6474 | model_form_blend |
| predicted_SLG | 0.3850 | 0.3873 | 0.3860 | model_form_blend |
| predicted_SO | 0.5750 | 0.5480 | 0.5634 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 386 |
| Season rows before report date | 386 |
| Report year | 2026 |
| Profile rows used | 120 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 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 | 2B |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 680700 |
| playerID | 680700 |
| playerName | Richie Palacios |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.316 |
| sl_xwoba | 0.306 |
| sl_xba | 0.243 |
| sl_xslg | 0.334 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 28.8 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 20.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.143 | 0.000 | 0.000 | Hitting_2B | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.134 | 4.000 | 4.000 | Hitting_AB | 3.222 | 4.000 | 0.778 | 0.000 |
| predicted_AVG | 0.194 | 0.000 | 0.000 | Hitting_AVG | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_BB | 0.378 | 0.000 | 0.000 | Hitting_BB | 0.405 | 0.000 | -0.405 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.560 | 0.000 | 0.000 | Hitting_H | 0.710 | 0.000 | -0.710 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_OBP | 0.291 | 0.000 | 0.000 | Hitting_OBP | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_R | 0.496 | 1.000 | 1.000 | Hitting_R | 0.527 | 0.000 | 0.473 | 1.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.328 | 0.000 | -0.328 | 0.000 |
| predicted_SLG | 0.266 | 0.000 | 0.000 | Hitting_SLG | 0.293 | 0.000 | -0.293 | 0.000 |
| predicted_SO | 0.899 | 1.000 | 1.000 | Hitting_SO | 0.932 | 1.000 | 0.068 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.1340 -> 4.0000 (boost 0.8660, better) |
| Biggest Deboost | predicted_H: 0.5600 -> 0.0000 (deboost -0.5600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.5600 -> 0.6358 (boost 0.0758, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2961 -> 0.2792 (deboost -0.0169, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6259 -> 1.0000 (boost 0.3741, better) | predicted_BB: 0.3664 -> 0.0000 (deboost -0.3664, worse) | AB rounded to 3 (raw=3.19), rates preserved: AVG=0.171 HR/AB=0.008 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5294 -> 1.0000 (boost 0.4706, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_BB: 0.0000 -> 0.4477 (boost 0.4477, better) | predicted_H: 1.0000 -> 0.6243 (deboost -0.3757, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 7 | 3 | 4 | 3 | 4 | predicted_BB: 0.4477 -> 1.0000 (boost 0.5523, better) | predicted_H: 0.6243 -> 0.0000 (deboost -0.6243, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | play_by_play_realization | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 13 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"team": "TB",
"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.017,
"predicted_AB": 3.134,
"predicted_AVG": 0.194,
"predicted_BB": 0.378,
"predicted_H": 0.56,
"predicted_HR": 0.03,
"predicted_OBP": 0.291,
"predicted_R": 0.496,
"predicted_RBI": 0.26,
"predicted_SLG": 0.266,
"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
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1671,
"predicted_3B": 0.0144,
"predicted_AB": 3.1878,
"predicted_AVG": 0.2077,
"predicted_BB": 0.3664,
"predicted_H": 0.6358,
"predicted_HBP": 0.017,
"predicted_HR": 0.0244,
"predicted_OBP": 0.2961,
"predicted_R": 0.5421,
"predicted_RBI": 0.2764,
"predicted_SLG": 0.2847,
"predicted_SO": 0.9223
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.134,
"after": 3.1878,
"delta": 0.0538,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.2077,
"delta": 0.0137,
"percent_delta": 0.0706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.6358,
"delta": 0.0758,
"percent_delta": 0.1354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2961,
"delta": 0.0051,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.266,
"after": 0.2847,
"delta": 0.0187,
"percent_delta": 0.0703,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.56,
"after": 0.6358,
"delta": 0.0758,
"percent_delta": 0.1354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 119
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1671,
"predicted_3B": 0.0144,
"predicted_AB": 3.1878,
"predicted_AVG": 0.1964,
"predicted_BB": 0.3664,
"predicted_H": 0.6259,
"predicted_HBP": 0.017,
"predicted_HR": 0.0239,
"predicted_OBP": 0.2792,
"predicted_R": 0.5294,
"predicted_RBI": 0.2699,
"predicted_SLG": 0.2803,
"predicted_SO": 0.9223
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2077,
"after": 0.1964,
"delta": -0.0113,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2961,
"after": 0.2792,
"delta": -0.0169,
"percent_delta": -0.0571,
"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_OBP",
"before": 0.2961,
"after": 0.2792,
"delta": -0.0169,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.19), rates preserved: AVG=0.171 HR/AB=0.008",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1671,
"after": 0.0,
"delta": -0.1671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.1878,
"after": 3.0,
"delta": -0.1878,
"percent_delta": -0.0589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3664,
"after": 0.0,
"delta": -0.3664,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6259,
"after": 1.0,
"delta": 0.3741,
"percent_delta": 0.5977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2699,
"after": 0.0,
"delta": -0.2699,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9223,
"after": 1.0,
"delta": 0.0777,
"percent_delta": 0.0842,
"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.6259,
"after": 1.0,
"delta": 0.3741,
"percent_delta": 0.5977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3664,
"after": 0.0,
"delta": -0.3664,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.5294,
"after": 1.0,
"delta": 0.4706,
"percent_delta": 0.8889,
"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_R",
"before": 0.5294,
"after": 1.0,
"delta": 0.4706,
"percent_delta": 0.8889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1489,
"predicted_3B": 0.0151,
"predicted_BB": 0.4477,
"predicted_H": 0.6243,
"predicted_HR": 0.0592,
"predicted_RBI": 0.3338,
"predicted_SO": 1.0023
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1489,
"delta": 0.1489,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4477,
"delta": 0.4477,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6243,
"delta": -0.3757,
"percent_delta": -0.3757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0592,
"delta": 0.0592,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.3338,
"delta": 0.3338,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4477,
"delta": 0.4477,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6243,
"delta": -0.3757,
"percent_delta": -0.3757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.199,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.312,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1489,
"after": 0.0,
"delta": -0.1489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4477,
"after": 1.0,
"delta": 0.5523,
"percent_delta": 1.2336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6243,
"after": 0.0,
"delta": -0.6243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0592,
"after": 0.0,
"delta": -0.0592,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2792,
"after": 0.304,
"delta": 0.0248,
"percent_delta": 0.0888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3338,
"after": 0.0,
"delta": -0.3338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2803,
"after": 0.312,
"delta": 0.0317,
"percent_delta": 0.1131,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4477,
"after": 1.0,
"delta": 0.5523,
"percent_delta": 1.2336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6243,
"after": 0.0,
"delta": -0.6243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player 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.199,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.312,
"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
}
},
{
"index": 10,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 13,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.199,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.312,
"predicted_SO": 1.0,
"predicted_SS": 0.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 3.134,
"after": 4.0,
"delta": 0.866,
"percent_delta": 0.2763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.199,
"delta": 0.005,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.0,
"delta": -0.378,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.304,
"delta": 0.013,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.496,
"after": 1.0,
"delta": 0.504,
"percent_delta": 1.0161,
"direction": "boost",
"projection_effect": "better",
"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.266,
"after": 0.312,
"delta": 0.046,
"percent_delta": 0.1729,
"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": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.134,
"after": 4.0,
"delta": 0.866,
"percent_delta": 0.2763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.017 | - |
| predicted_AB | 3.134 | - |
| predicted_AVG | 0.194 | - |
| predicted_BB | 0.378 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.496 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.266 | - |
| 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.167 | 0.024 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.188 | 0.054 |
| predicted_AVG | 0.208 | 0.014 |
| predicted_BB | 0.366 | -0.012 |
| predicted_H | 0.636 | 0.076 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.024 | -0.006 |
| predicted_OBP | 0.296 | 0.005 |
| predicted_R | 0.542 | 0.046 |
| predicted_RBI | 0.276 | 0.016 |
| predicted_SLG | 0.285 | 0.019 |
| predicted_SO | 0.922 | 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.167 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.188 | 0.000 |
| predicted_AVG | 0.196 | -0.011 |
| predicted_BB | 0.366 | 0.000 |
| predicted_H | 0.626 | -0.010 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.024 | -0.001 |
| predicted_OBP | 0.279 | -0.017 |
| predicted_R | 0.529 | -0.013 |
| predicted_RBI | 0.270 | -0.007 |
| predicted_SLG | 0.280 | -0.004 |
| predicted_SO | 0.922 | 0.000 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.19), rates preserved: AVG=0.171 HR/AB=0.008
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.149 | 0.149 |
| 3B | 0.015 | 0.015 |
| BB | 0.448 | 0.448 |
| H | 0.624 | -0.376 |
| HR | 0.059 | 0.059 |
| RBI | 0.334 | 0.334 |
| SO | 1.002 | 0.002 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.149 |
| 3B | 0.000 | -0.015 |
| AB | 3.000 | 0.000 |
| AVG | 0.199 | - |
| BB | 1.000 | 0.552 |
| H | 0.000 | -0.624 |
| HR | 0.000 | -0.059 |
| OBP | 0.304 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -0.334 |
| SLG | 0.312 | - |
| SO | 1.000 | -0.002 |
Player 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.014 |
| predicted_AB | 3.000 | -0.188 |
| predicted_AVG | 0.199 | 0.003 |
| predicted_BB | 1.000 | 0.634 |
| predicted_H | 0.000 | -0.626 |
| predicted_HR | 0.000 | -0.024 |
| predicted_OBP | 0.304 | 0.025 |
| predicted_R | 1.000 | 0.471 |
| predicted_RBI | 0.000 | -0.270 |
| predicted_SLG | 0.312 | 0.032 |
| predicted_SO | 1.000 | 0.078 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | -1.000 |
| H | 0.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 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 5.000 | 1.000 | 6.000 | 0.2632 | 0.3000 | 0.3684 | 0.2632 | 0.0000 | 0.0526 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 2.000 | 0.000 | 0.000 | 3.000 | 6.000 | 4.000 | 9.000 | 0.2069 | 0.3030 | 0.2759 | 0.2069 | 0.0000 | 0.1035 | 0.1379 | 0.3103 |
| season | 0.60 | 119 | - | 373.000 | 81.000 | 17.000 | 2.000 | 2.000 | 36.000 | 59.000 | 45.000 | 107.000 | 0.2172 | 0.3035 | 0.2895 | 0.2172 | 0.0054 | 0.0965 | 0.1206 | 0.2869 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1990 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.2590 |
| predicted_AVG | 0.2259 |
| predicted_BB | 0.3510 |
| predicted_H | 0.7360 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0170 |
| predicted_OBP | 0.3029 |
| predicted_R | 0.6030 |
| predicted_RBI | 0.2980 |
| predicted_SLG | 0.3095 |
| predicted_SO | 0.9530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1990 | 0.1671 | model_form_blend |
| predicted_3B | 0.0170 | 0.0110 | 0.0144 | model_form_blend |
| predicted_AB | 3.1340 | 3.2590 | 3.1878 | model_form_blend |
| predicted_AVG | 0.1940 | 0.2259 | 0.2077 | model_form_blend |
| predicted_BB | 0.3780 | 0.3510 | 0.3664 | model_form_blend |
| predicted_H | 0.5600 | 0.7360 | 0.6358 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0300 | 0.0170 | 0.0244 | model_form_blend |
| predicted_OBP | 0.2910 | 0.3029 | 0.2961 | model_form_blend |
| predicted_R | 0.4960 | 0.6030 | 0.5421 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2980 | 0.2764 | model_form_blend |
| predicted_SLG | 0.2660 | 0.3095 | 0.2847 | model_form_blend |
| predicted_SO | 0.8990 | 0.9530 | 0.9223 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 427 |
| Season rows before report date | 427 |
| Report year | 2026 |
| Profile rows used | 119 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.278 |
| sl_xwoba | 0.251 |
| sl_xba | 0.19 |
| sl_xslg | 0.261 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 21.9 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 22.0 |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.097 | 2.000 | 1.903 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.645 | 0.000 | 0.355 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.065 | 1.000 | 0.935 | 4.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.761 | 8.000 | -0.561 | -2.800 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 5.935 | 10.000 | 2.065 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 5 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 2 |
| Better Metrics | 2 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_BB: 1.0000 -> 3.0000 (boost 2.0000, worse) |
| Biggest Deboost | predicted_IP: 6.3333 -> 5.2000 (deboost -1.1333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | pitcher_quality_guardrail | 1 | 0 | 1 | 0 | 1 | - | 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. |
| 8 | play_by_play_realization | 5 | 3 | 2 | 2 | 3 | predicted_BB: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "656876",
"player_name": "Drew Rasmussen",
"position": "Starter",
"team": "TB",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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": 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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"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_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 2.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.1,
"after": 5.2,
"delta": -0.9,
"percent_delta": -0.1475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 9,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 5.2,
"delta": -1.1333,
"percent_delta": -0.1789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 5.2,
"delta": -1.1333,
"percent_delta": -0.1789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | 6.333 | - |
| predicted_SO | 6.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 6.000 | 0.000 |
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 3.000 | - |
| BF | 26.000 | - |
| ER | 2.000 | - |
| H | 5.000 | - |
| HR | 0.000 | - |
| IP | 5.200 | - |
| Pitches | 101.000 | - |
| R | 2.000 | - |
| 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 | 33.200 | 3.000 | 17.000 | 7.000 | 35.000 | 1.000 | 0.8020 | 0.7129 | 0.0891 | 0.5050 | 0.2079 | 1.0396 | 0.0297 |
| last_10 | 0.35 | 10 | 62.200 | 13.000 | 37.000 | 14.000 | 62.000 | 2.000 | 1.8670 | 0.8138 | 0.2074 | 0.5904 | 0.2234 | 0.9894 | 0.0319 |
| season | 0.20 | 31 | 180.000 | 51.000 | 126.000 | 34.000 | 184.000 | 14.000 | 2.5500 | 0.8889 | 0.2833 | 0.7000 | 0.1889 | 1.0222 | 0.0778 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4810 |
| predicted_ER | 1.3790 |
| predicted_ERA | 1.9550 |
| predicted_H | 4.0060 |
| predicted_HR | 0.3500 |
| predicted_IP | 6.1000 |
| predicted_SO | 6.3910 |
| predicted_WHIP | 0.8643 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4810 | 1.2844 | model_form_blend |
| predicted_ER | 2.0000 | 1.3790 | 1.6328 | model_form_blend |
| predicted_ERA | - | 1.9550 | 1.9550 | form_only |
| predicted_H | 3.0000 | 4.0060 | 3.5949 | model_form_blend |
| predicted_HR | 1.0000 | 0.3500 | 0.6156 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 6.0000 | 6.3910 | 6.2312 | model_form_blend |
| predicted_WHIP | - | 0.8643 | 0.8643 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.2 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 8 |
| HR | 0 |
| BF | 26 |
| Pitches | 101 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 6 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 8.0 |
| Pitching_Pitches | 101 |
| Pitching_R | 0 |
| Pitching_SO | 10 |
| Pitching_Strikes | 69 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20261003_NYY@TB |
| game_type | full |
| mlbID | 656876 |
| playerID | 656876 |
| playerName | Drew Rasmussen |
| pos | P |
| started | True |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-03 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.243 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 33.8 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 50.1 |
| sl_avg_best_speed | 77.428542965 |
| sl_avg_hyper_speed | 93.596998204 |
| 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.750 | 0.000 | -0.750 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.312 | 1.000 | -0.312 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 2.396 | 1.000 | -0.396 | 1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 2.685 | 3.000 | -0.685 | -1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 3.375 | 4.000 | -2.375 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 5 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.0000 -> 2.0000 (boost 2.0000, worse) |
| 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_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 5 | 4 | 1 | 1 | 4 | predicted_H: 0.0000 -> 2.0000 (boost 2.0000, worse) | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "693855",
"player_name": "Ian Seymour",
"position": "Long Reliever",
"team": "TB",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 2.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"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": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 2.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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"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": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 8.000 | - |
| ER | 1.000 | - |
| H | 2.000 | - |
| HR | 1.000 | - |
| IP | 2.000 | - |
| Pitches | 32.000 | - |
| R | 1.000 | - |
| 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 | 19.100 | 7.000 | 13.000 | 3.000 | 22.000 | 4.000 | 3.2586 | 0.8276 | 0.3621 | 0.6724 | 0.1552 | 1.1379 | 0.2069 |
| last_10 | 0.35 | 10 | 45.100 | 22.000 | 43.000 | 6.000 | 56.000 | 13.000 | 4.3676 | 1.0809 | 0.4853 | 0.9485 | 0.1323 | 1.2353 | 0.2868 |
| season | 0.20 | 47 | 135.200 | 58.000 | 110.000 | 36.000 | 162.000 | 26.000 | 3.8477 | 1.0762 | 0.4275 | 0.8108 | 0.2654 | 1.1941 | 0.1916 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7190 |
| predicted_ER | 1.5470 |
| predicted_ERA | 3.8949 |
| predicted_H | 2.9500 |
| predicted_HR | 0.7830 |
| predicted_IP | 3.2000 |
| predicted_SO | 4.0940 |
| predicted_WHIP | 1.0265 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7190 | 0.4213 | model_form_blend |
| predicted_ER | 0.0000 | 1.5470 | 0.9065 | model_form_blend |
| predicted_ERA | - | 3.8949 | 3.8949 | form_only |
| predicted_H | 0.0000 | 2.9500 | 1.7287 | model_form_blend |
| predicted_HR | 0.0000 | 0.7830 | 0.4588 | model_form_blend |
| predicted_IP | 1.0000 | 3.2000 | 2.2000 | model_form_blend |
| predicted_SO | 2.0000 | 4.0940 | 3.2271 | model_form_blend |
| predicted_WHIP | - | 1.0265 | 1.0265 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 48 |
| Season rows before report date | 48 |
| Report year | 2026 |
| Profile rows used | 47 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 8 |
| Pitches | 32 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 10 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.00 |
| 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 | 3.0 |
| Pitching_Pitches | 41 |
| Pitching_R | 1 |
| Pitching_SO | 4 |
| Pitching_Strikes | 27 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 693855 |
| playerID | 693855 |
| playerName | Ian Seymour |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.308 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 36.9 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 51.7 |
| sl_avg_best_speed | 77.189549826 |
| sl_avg_hyper_speed | 93.81275102 |
| 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.163 | 1.000 | -0.163 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.581 | 0.000 | -0.581 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.777 | 0.100 | -0.577 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.047 | 0.000 | -0.047 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 4 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 4 |
| Better Metrics | 3 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| 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_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 4 | 0 | 4 | 3 | 1 | - | predicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "592155",
"player_name": "Cam Booser",
"position": "Setup Man",
"team": "TB",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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.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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"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_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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": null,
"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
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": null,
"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"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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.667 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 2.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 0.200 | - |
| Pitches | 8.000 | - |
| R | 0.000 | - |
| 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 | 0.000 | 1.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.3000 | 0.3000 | 0.9000 | 0.0000 |
| last_10 | 0.35 | 10 | 7.100 | 0.000 | 2.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.4091 | 0.0000 | 0.2727 | 0.1364 | 0.8182 | 0.0000 |
| season | 0.20 | 43 | 41.100 | 9.000 | 25.000 | 7.000 | 45.000 | 5.000 | 1.9597 | 0.7742 | 0.2177 | 0.6048 | 0.1694 | 1.0887 | 0.1210 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1960 |
| predicted_ER | 0.1540 |
| predicted_ERA | 1.9555 |
| predicted_H | 0.4150 |
| predicted_HR | 0.0500 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6510 |
| predicted_WHIP | 0.8627 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1960 | 0.0968 | model_form_blend |
| predicted_ER | 1.0000 | 0.1540 | 0.5821 | model_form_blend |
| predicted_ERA | - | 1.9555 | 1.9555 | form_only |
| predicted_H | 1.0000 | 0.4150 | 0.7111 | model_form_blend |
| predicted_HR | 1.0000 | 0.0500 | 0.5308 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6510 | 0.8276 | model_form_blend |
| predicted_WHIP | - | 0.8627 | 0.8627 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 43 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 8 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| 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 | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 592155 |
| playerID | 592155 |
| playerName | Cam Booser |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.222 |
| sl_xwoba | 0.252 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 37.6 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 55.5 |
| sl_avg_best_speed | 81.083061042 |
| sl_avg_hyper_speed | 94.197371771 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.328 | 0.000 | -0.328 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.936 | 1.000 | -0.736 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.970 | 0.000 | 0.030 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "641329",
"player_name": "Bryan Baker",
"position": "Closer",
"team": "TB",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 0.2,
"delta": -0.8,
"percent_delta": -0.8,
"direction": "deboost",
"projection_effect": "worse",
"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": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 0.2,
"delta": -0.8,
"percent_delta": -0.8,
"direction": "deboost",
"projection_effect": "worse",
"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": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 2.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 0.200 | - |
| Pitches | 10.000 | - |
| R | 0.000 | - |
| SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 3.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.6000 | 0.2000 | 0.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 0.000 | 5.000 | 3.000 | 5.000 | 0.000 | 0.0000 | 0.7742 | 0.0000 | 0.4839 | 0.2903 | 0.4839 | 0.0000 |
| season | 0.20 | 65 | 64.100 | 9.000 | 34.000 | 20.000 | 65.000 | 4.000 | 1.2591 | 0.8394 | 0.1399 | 0.5285 | 0.3109 | 1.0104 | 0.0622 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2880 |
| predicted_ER | 0.1610 |
| predicted_ERA | 1.4478 |
| predicted_H | 0.6650 |
| predicted_HR | 0.0500 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7210 |
| predicted_WHIP | 0.9539 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2880 | 0.1539 | model_form_blend |
| predicted_ER | 0.0000 | 0.1610 | 0.0860 | model_form_blend |
| predicted_ERA | - | 1.4478 | 1.4478 | form_only |
| predicted_H | 1.0000 | 0.6650 | 0.8210 | model_form_blend |
| predicted_HR | 0.0000 | 0.0500 | 0.0267 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7210 | 0.8509 | model_form_blend |
| predicted_WHIP | - | 0.9539 | 0.9539 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 67 |
| Season rows before report date | 67 |
| Report year | 2026 |
| Profile rows used | 65 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 10 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-10-05 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.231 |
| sl_xwoba | 0.272 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 52.6 |
| sl_avg_best_speed | 74.996232987 |
| sl_avg_hyper_speed | 93.55885961 |
| Field | Value |
|---|---|
| Pitcher | Carlos Rodón |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1185 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0391 |
| Avg Velo | 90.5627 |
| Avg Spin | 2330.5827 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 2.6680 |
| Season WHIP | 1.0553 |
| Role Avg IP | 5.2710 |
| Recent Avg IP | 6 |
| Last Start IP | 8 |
{
"team": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0233,
"defense_index": 1.2017,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1711
},
"opponent": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0128,
"defense_index": 1.118,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1543
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0168,
"offense_edge": 0.0233,
"opponent_offense_edge": 0.0128,
"defense_strength": 0.2017,
"opponent_defense_weakness": -0.118,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0062,
"run_prevention": 0.981,
"strikeout": 0.9995
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607074",
"profile": {
"available": true,
"pitcher_id": "607074",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 311.0,
"k_percent": 26.8,
"bb_percent": 11.2,
"woba": 0.254,
"xwoba": 0.304,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 38.3,
"avg_best_speed": 80.2099,
"avg_hyper_speed": 94.0959,
"whiff_percent": 30.0,
"swing_percent": 48.0
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2558,
"command_and_miss": 0.4421,
"regression_edge": -1.4286,
"xwoba_edge": 0.2286,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.6857,
"bb_edge": -0.5,
"pitch_design_score": 0.0391
},
"quality_score": 0.1185,
"sample_weight": 1.0,
"run_prevention_factor": 0.9899,
"strikeout_factor": 1.0543,
"walk_factor": 1.04,
"homer_factor": 0.9883,
"woba_minus_xwoba": -0.05,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "607074",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9899,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9899,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 1.04,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9883,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0543,
"adjusted": 6
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 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": 14,
"H": 33,
"BB": 19,
"SO": 57,
"HR": 5,
"ERA": 2.3625,
"WHIP": 0.975,
"K9": 9.61875,
"HR9": 0.84375,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-22T00:00:00"
}{
"available": true,
"pitcher_id": "607074",
"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": 90.56273224117,
"release_spin_rate": 2330.58265906805,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.56273224117,
"release_spin_rate": 2330.58265906805,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5627,
"release_spin_rate": 2330.5827,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0391,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2794,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "607074",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 6.0,
"R": 7.0,
"H": 15.0,
"BB": 8.0,
"SO": 33.0,
"HR": 3.0,
"BF": 112.0,
"Pitches": 468.0
},
"per_game": {
"IP": 6.0,
"ER": 1.2,
"R": 1.4,
"H": 3.0,
"BB": 1.6,
"SO": 6.6,
"HR": 0.6,
"BF": 22.4,
"Pitches": 93.6
},
"rates": {
"ERA": 1.8,
"WHIP": 0.7667,
"ER_per_IP": 0.2,
"H_per_IP": 0.5,
"BB_per_IP": 0.26667,
"SO_per_IP": 1.1,
"HR_per_IP": 0.1
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.1,
"ER": 14.0,
"R": 18.0,
"H": 33.0,
"BB": 19.0,
"SO": 57.0,
"HR": 5.0,
"BF": 211.0,
"Pitches": 892.0
},
"per_game": {
"IP": 5.1,
"ER": 1.4,
"R": 1.8,
"H": 3.3,
"BB": 1.9,
"SO": 5.7,
"HR": 0.5,
"BF": 21.1,
"Pitches": 89.2
},
"rates": {
"ERA": 2.3625,
"WHIP": 0.975,
"ER_per_IP": 0.2625,
"H_per_IP": 0.61875,
"BB_per_IP": 0.35625,
"SO_per_IP": 1.06875,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 16,
"totals": {
"IP": 84.1,
"ER": 25.0,
"R": 30.0,
"H": 51.0,
"BB": 38.0,
"SO": 91.0,
"HR": 7.0,
"BF": 340.0,
"Pitches": 1438.0
},
"per_game": {
"IP": 5.1,
"ER": 1.5625,
"R": 1.875,
"H": 3.1875,
"BB": 2.375,
"SO": 5.6875,
"HR": 0.4375,
"BF": 21.25,
"Pitches": 89.875
},
"rates": {
"ERA": 2.668,
"WHIP": 1.0553,
"ER_per_IP": 0.29644,
"H_per_IP": 0.60474,
"BB_per_IP": 0.45059,
"SO_per_IP": 1.07905,
"HR_per_IP": 0.083
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.751,
"predicted_H": 3.794,
"predicted_BB": 1.977,
"predicted_SO": 6.001,
"predicted_HR": 0.613,
"predicted_ERA": 2.7548,
"predicted_WHIP": 1.0088
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.751,
"final": 1.8632,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.794,
"final": 3.8868,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.977,
"final": 1.9874,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 6.001,
"final": 6.4511,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.613,
"final": 0.3368,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7548,
"final": 2.7548,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0088,
"final": 1.0088,
"source": "form_only"
}
}
}{
"available": false,
"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 Weathers |
| Role | Middle Reliever |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0108 |
| ESPN Rank | - |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0503 |
| Avg Velo | 88.9654 |
| Avg Spin | 2333.7436 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.5612 |
| Season WHIP | 1.2158 |
| Role Avg IP | 0.8330 |
| Recent Avg IP | 0.8330 |
| Last Start IP | 0 |
{
"team": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0233,
"defense_index": 1.2017,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1711
},
"opponent": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0128,
"defense_index": 1.118,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1543
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0168,
"offense_edge": 0.0233,
"opponent_offense_edge": 0.0128,
"defense_strength": 0.2017,
"opponent_defense_weakness": -0.118,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0062,
"run_prevention": 0.981,
"strikeout": 0.9995
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "677960",
"profile": {
"available": true,
"pitcher_id": "677960",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 565.0,
"k_percent": 25.2,
"bb_percent": 6.7,
"woba": 0.306,
"xwoba": 0.319,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 40.6,
"avg_best_speed": 77.6823,
"avg_hyper_speed": 94.6018,
"whiff_percent": 27.0,
"swing_percent": 44.8
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.0996,
"command_and_miss": 0.4143,
"regression_edge": -0.3714,
"xwoba_edge": -0.2,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.3857,
"whiff_edge": 0.2571,
"bb_edge": 0.625,
"pitch_design_score": -0.0503
},
"quality_score": 0.0108,
"sample_weight": 1.0,
"run_prevention_factor": 0.9991,
"strikeout_factor": 1.028,
"walk_factor": 0.95,
"homer_factor": 1.0463,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "677960",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9991,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.95,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0463,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.028,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 46.2,
"ER": 11,
"H": 42,
"BB": 12,
"SO": 39,
"HR": 2,
"ERA": 2.121428571428571,
"WHIP": 1.157142857142857,
"K9": 7.5214285714285705,
"HR9": 0.3857142857142857,
"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-10-05T00:00:00"
}{
"available": true,
"pitcher_id": "677960",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.96544929273789,
"release_spin_rate": 2333.743615585118,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.96544929273789,
"release_spin_rate": 2333.743615585118,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9654,
"release_spin_rate": 2333.7436,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0503,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3595,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "677960",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 18.0,
"ER": 4.0,
"R": 4.0,
"H": 16.0,
"BB": 5.0,
"SO": 11.0,
"HR": 1.0,
"BF": 71.0,
"Pitches": 295.0
},
"per_game": {
"IP": 3.2,
"ER": 0.8,
"R": 0.8,
"H": 3.2,
"BB": 1.0,
"SO": 2.2,
"HR": 0.2,
"BF": 14.2,
"Pitches": 59.0
},
"rates": {
"ERA": 2.0,
"WHIP": 1.1667,
"ER_per_IP": 0.22222,
"H_per_IP": 0.88889,
"BB_per_IP": 0.27778,
"SO_per_IP": 0.61111,
"HR_per_IP": 0.05556
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 46.2,
"ER": 11.0,
"R": 11.0,
"H": 42.0,
"BB": 12.0,
"SO": 39.0,
"HR": 2.0,
"BF": 188.0,
"Pitches": 776.0
},
"per_game": {
"IP": 4.2,
"ER": 1.1,
"R": 1.1,
"H": 4.2,
"BB": 1.2,
"SO": 3.9,
"HR": 0.2,
"BF": 18.8,
"Pitches": 77.6
},
"rates": {
"ERA": 2.1214,
"WHIP": 1.1571,
"ER_per_IP": 0.23571,
"H_per_IP": 0.9,
"BB_per_IP": 0.25714,
"SO_per_IP": 0.83571,
"HR_per_IP": 0.04286
}
},
"season": {
"games": 27,
"totals": {
"IP": 139.0,
"ER": 55.0,
"R": 61.0,
"H": 130.0,
"BB": 39.0,
"SO": 143.0,
"HR": 18.0,
"BF": 574.0,
"Pitches": 2303.0
},
"per_game": {
"IP": 5.0,
"ER": 2.037,
"R": 2.2593,
"H": 4.8148,
"BB": 1.4444,
"SO": 5.2963,
"HR": 0.6667,
"BF": 21.2593,
"Pitches": 85.2963
},
"rates": {
"ERA": 3.5612,
"WHIP": 1.2158,
"ER_per_IP": 0.39568,
"H_per_IP": 0.93525,
"BB_per_IP": 0.28058,
"SO_per_IP": 1.02878,
"HR_per_IP": 0.1295
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.135,
"predicted_H": 3.45,
"predicted_BB": 1.087,
"predicted_SO": 3.01,
"predicted_HR": 0.297,
"predicted_ERA": 2.7093,
"predicted_WHIP": 1.2032
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.416,
"form_weight": 0.584,
"form_reliability": 0.8438,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 3.2,
"final": 2.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.135,
"final": 1.4948,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.45,
"final": 3.2628,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.087,
"final": 0.6348,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 3.01,
"final": 2.1739,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.297,
"final": 0.5894,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7093,
"final": 2.7093,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2032,
"final": 1.2032,
"source": "form_only"
}
}
}{
"available": false,
"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 Blackburn |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1948 |
| ESPN Rank | - |
| 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 | 1.5112 |
| Season WHIP | 1.0522 |
| Role Avg IP | 1.3700 |
| Recent Avg IP | 1.2670 |
| Last Start IP | 0 |
{
"team": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0233,
"defense_index": 1.2017,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1711
},
"opponent": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0128,
"defense_index": 1.118,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1543
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0168,
"offense_edge": 0.0233,
"opponent_offense_edge": 0.0128,
"defense_strength": 0.2017,
"opponent_defense_weakness": -0.118,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0062,
"run_prevention": 0.981,
"strikeout": 0.9995
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621112",
"profile": {
"available": true,
"pitcher_id": "621112",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 319.0,
"k_percent": 20.5,
"bb_percent": 9.8,
"woba": 0.259,
"xwoba": 0.296,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 35.2,
"avg_best_speed": 75.0557,
"avg_hyper_speed": 93.4658,
"whiff_percent": 22.8,
"swing_percent": 45.7
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.654,
"command_and_miss": -0.2529,
"regression_edge": -1.0571,
"xwoba_edge": 0.4571,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.3857,
"whiff_edge": -0.3429,
"bb_edge": -0.15,
"pitch_design_score": 0.0
},
"quality_score": 0.1948,
"sample_weight": 1.0,
"run_prevention_factor": 0.9834,
"strikeout_factor": 0.9771,
"walk_factor": 1.012,
"homer_factor": 0.9424,
"woba_minus_xwoba": -0.037,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": false,
"player_id": "621112",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9834,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9834,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9424,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9771,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 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": 7,
"BB": 6,
"SO": 4,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.1818181818181817,
"K9": 3.272727272727272,
"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-10-05T00:00:00"
}{
"available": false,
"pitcher_id": "621112",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.446,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7867,
"prior_weight": 0.2133
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "621112",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 65,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 0.0,
"R": 1.0,
"H": 3.0,
"BB": 2.0,
"SO": 1.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 0.2,
"HR": 0.0,
"BF": 4.8,
"Pitches": 18.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7895,
"ER_per_IP": 0.0,
"H_per_IP": 0.47368,
"BB_per_IP": 0.31579,
"SO_per_IP": 0.15789,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 0.0,
"R": 1.0,
"H": 7.0,
"BB": 6.0,
"SO": 4.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.1,
"H": 0.7,
"BB": 0.6,
"SO": 0.4,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.1818,
"ER_per_IP": 0.0,
"H_per_IP": 0.63636,
"BB_per_IP": 0.54545,
"SO_per_IP": 0.36364,
"HR_per_IP": 0.0
}
},
"season": {
"games": 65,
"totals": {
"IP": 89.1,
"ER": 15.0,
"R": 19.0,
"H": 60.0,
"BB": 34.0,
"SO": 69.0,
"HR": 7.0,
"BF": 350.0,
"Pitches": 1293.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2308,
"R": 0.2923,
"H": 0.9231,
"BB": 0.5231,
"SO": 1.0615,
"HR": 0.1077,
"BF": 5.3846,
"Pitches": 19.8923
},
"rates": {
"ERA": 1.5112,
"WHIP": 1.0522,
"ER_per_IP": 0.16791,
"H_per_IP": 0.67164,
"BB_per_IP": 0.3806,
"SO_per_IP": 0.77239,
"HR_per_IP": 0.07836
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.169,
"predicted_H": 0.818,
"predicted_BB": 0.5,
"predicted_SO": 0.592,
"predicted_HR": 0.055,
"predicted_ERA": 1.2242,
"predicted_WHIP": 1.0617
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4401,
"form_weight": 0.5599,
"form_reliability": 0.7867,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.446,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7867,
"prior_weight": 0.2133
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.169,
"final": 0.0946,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.818,
"final": 0.458,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.5,
"final": 0.7201,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.592,
"final": 0.7716,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0308,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.2242,
"final": 1.2242,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0617,
"final": 1.0617,
"source": "form_only"
}
}
}{
"available": false,
"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 (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0926 |
| ESPN Rank | - |
| 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.1765 |
| Season WHIP | 1.2032 |
| Role Avg IP | 0.9170 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"team": {
"team": "NYY",
"games": 161,
"wins": 93,
"losses": 68,
"win_pct": 0.5776,
"runs_scored": 739.0,
"runs_allowed": 601.0,
"run_differential": 138.0,
"run_differential_per_game": 0.8571,
"avg_runs_scored": 4.5901,
"avg_runs_allowed": 3.7329,
"offense_index": 1.0233,
"defense_index": 1.2017,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1711
},
"opponent": {
"team": "TB",
"games": 162,
"wins": 98,
"losses": 64,
"win_pct": 0.6049,
"runs_scored": 736.0,
"runs_allowed": 650.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5309,
"avg_runs_scored": 4.5432,
"avg_runs_allowed": 4.0123,
"offense_index": 1.0128,
"defense_index": 1.118,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1543
},
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.0168,
"offense_edge": 0.0233,
"opponent_offense_edge": 0.0128,
"defense_strength": 0.2017,
"opponent_defense_weakness": -0.118,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0062,
"run_prevention": 0.981,
"strikeout": 0.9995
},
"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": 224.0,
"k_percent": 16.3,
"bb_percent": 10.6,
"woba": 0.3,
"xwoba": 0.309,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 38.0,
"avg_best_speed": 77.8632,
"avg_hyper_speed": 93.8817,
"whiff_percent": 20.9,
"swing_percent": 44.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.1668,
"command_and_miss": -0.6579,
"regression_edge": -0.2571,
"xwoba_edge": 0.0857,
"barrel_edge": 0.4667,
"hard_hit_edge": -0.0143,
"whiff_edge": -0.6143,
"bb_edge": -0.35,
"pitch_design_score": 0.0
},
"quality_score": -0.0926,
"sample_weight": 0.896,
"run_prevention_factor": 1.0079,
"strikeout_factor": 0.9483,
"walk_factor": 1.0251,
"homer_factor": 0.9648,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "670167",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0071,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0071,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0225,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9685,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9537,
"adjusted": 2
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 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": 8,
"BB": 2,
"SO": 5,
"HR": 0,
"ERA": 1.8620689655172415,
"WHIP": 1.0344827586206897,
"K9": 4.655172413793104,
"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-10-05T00:00:00"
}{
"available": false,
"pitcher_id": "670167",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.871,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7202,
"prior_weight": 0.2798
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "670167",
"report_date": "20261008",
"season_year": 2026,
"rows_used": 68,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 3.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 58.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.0,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 3.0,
"H": 8.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 128.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.8,
"BB": 0.2,
"SO": 0.5,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.8
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.0345,
"ER_per_IP": 0.2069,
"H_per_IP": 0.82759,
"BB_per_IP": 0.2069,
"SO_per_IP": 0.51724,
"HR_per_IP": 0.0
}
},
"season": {
"games": 68,
"totals": {
"IP": 62.1,
"ER": 22.0,
"R": 26.0,
"H": 49.0,
"BB": 26.0,
"SO": 42.0,
"HR": 7.0,
"BF": 252.0,
"Pitches": 1023.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3235,
"R": 0.3824,
"H": 0.7206,
"BB": 0.3824,
"SO": 0.6176,
"HR": 0.1029,
"BF": 3.7059,
"Pitches": 15.0441
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.2032,
"ER_per_IP": 0.35294,
"H_per_IP": 0.7861,
"BB_per_IP": 0.41711,
"SO_per_IP": 0.6738,
"HR_per_IP": 0.1123
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.197,
"predicted_H": 0.671,
"predicted_BB": 0.175,
"predicted_SO": 0.585,
"predicted_HR": 0.046,
"predicted_ERA": 2.2209,
"predicted_WHIP": 1.0593
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4682,
"form_weight": 0.5318,
"form_reliability": 0.7202,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.871,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7202,
"prior_weight": 0.2798
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.197,
"final": 0.1048,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.671,
"final": 0.825,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.175,
"final": 0.0931,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.585,
"final": 0.3111,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.046,
"final": 0.0245,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2209,
"final": 2.2209,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0593,
"final": 1.0593,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.161 | 0.000 | 0.000 | Hitting_2B | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.510 | 4.000 | 4.000 | Hitting_AB | 3.756 | 3.000 | 0.244 | 1.000 |
| predicted_AVG | 0.194 | 0.500 | 0.500 | Hitting_AVG | 0.209 | 0.000 | 0.291 | 0.500 |
| predicted_BB | 0.492 | 1.000 | 1.000 | Hitting_BB | 0.541 | 0.000 | 0.459 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.870 | 2.000 | 2.000 | Hitting_H | 0.785 | 0.000 | 1.215 | 2.000 |
| predicted_HR | 0.110 | 1.000 | 1.000 | Hitting_HR | 0.157 | 0.000 | 0.843 | 1.000 |
| predicted_OBP | 0.294 | 0.600 | 0.600 | Hitting_OBP | 0.306 | 0.000 | 0.294 | 0.600 |
| predicted_R | 0.559 | 1.000 | 1.000 | Hitting_R | 0.598 | 0.000 | 0.402 | 1.000 |
| predicted_RBI | 0.470 | 1.000 | 1.000 | Hitting_RBI | 0.528 | 0.000 | 0.472 | 1.000 |
| predicted_SLG | 0.338 | 1.250 | 1.250 | Hitting_SLG | 0.390 | 0.000 | 0.860 | 1.250 |
| predicted_SO | 0.763 | 2.000 | 2.000 | Hitting_SO | 0.787 | 0.000 | 1.213 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 2 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_SO: 0.7630 -> 2.0000 (boost 1.2370, worse) |
| Biggest Deboost | predicted_AB: 4.5100 -> 4.0000 (deboost -0.5100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 1 | 4 | predicted_AVG: 0.1940 -> 0.1990 (boost 0.0050, better) | predicted_AB: 4.5100 -> 3.9603 (deboost -0.5497, worse) | Final model input calibrated with local 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.3280 -> 0.3095 (deboost -0.0185, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.7438 -> 1.0000 (boost 0.2562, worse) | predicted_BB: 0.4523 -> 0.0000 (deboost -0.4523, worse) | AB rounded to 4 (raw=4.51), rates preserved: AVG=0.158 HR/AB=0.021 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4878 -> 0.0000 (deboost -0.4878, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.5062 (boost 0.5062, better) | predicted_H: 1.0000 -> 0.7862 (deboost -0.2138, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 6 | 3 | 5 | 4 | predicted_BB: 0.4114 -> 1.0000 (boost 0.5886, better) | predicted_RBI: 0.5062 -> 0.0000 (deboost -0.5062, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 5 | 5 | 0 | 4 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "663757",
"player_name": "Trent Grisham",
"position": "CF",
"team": "NYY",
"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.017,
"predicted_AB": 4.51,
"predicted_AVG": 0.194,
"predicted_BB": 0.492,
"predicted_H": 0.87,
"predicted_HR": 0.11,
"predicted_OBP": 0.294,
"predicted_R": 0.559,
"predicted_RBI": 0.47,
"predicted_SLG": 0.338,
"predicted_SO": 0.763
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1311,
"predicted_3B": 0.014,
"predicted_AB": 3.9603,
"predicted_AVG": 0.199,
"predicted_BB": 0.4517,
"predicted_H": 0.7817,
"predicted_HBP": 0.002,
"predicted_HR": 0.0974,
"predicted_OBP": 0.2926,
"predicted_R": 0.4923,
"predicted_RBI": 0.4354,
"predicted_SLG": 0.328,
"predicted_SO": 0.7448
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.51,
"after": 3.9603,
"delta": -0.5497,
"percent_delta": -0.1219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.199,
"delta": 0.005,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.7817,
"delta": -0.0883,
"percent_delta": -0.1015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.559,
"after": 0.4923,
"delta": -0.0667,
"percent_delta": -0.1193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.328,
"delta": -0.01,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.199,
"delta": 0.005,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.51,
"after": 3.9603,
"delta": -0.5497,
"percent_delta": -0.1219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 118
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1311,
"predicted_3B": 0.014,
"predicted_AB": 3.9603,
"predicted_AVG": 0.1961,
"predicted_BB": 0.4523,
"predicted_H": 0.7767,
"predicted_HBP": 0.002,
"predicted_HR": 0.0966,
"predicted_OBP": 0.2785,
"predicted_R": 0.4878,
"predicted_RBI": 0.4314,
"predicted_SLG": 0.3095,
"predicted_SO": 0.7438
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2926,
"after": 0.2785,
"delta": -0.0141,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3095,
"delta": -0.0185,
"percent_delta": -0.0564,
"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_SLG",
"before": 0.328,
"after": 0.3095,
"delta": -0.0185,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.51), rates preserved: AVG=0.158 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.1311,
"after": 0.0,
"delta": -0.1311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4523,
"after": 0.0,
"delta": -0.4523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7767,
"after": 1.0,
"delta": 0.2233,
"percent_delta": 0.2875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0966,
"after": 0.0,
"delta": -0.0966,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4314,
"after": 0.0,
"delta": -0.4314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7438,
"after": 1.0,
"delta": 0.2562,
"percent_delta": 0.3444,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7438,
"after": 1.0,
"delta": 0.2562,
"percent_delta": 0.3444,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4523,
"after": 0.0,
"delta": -0.4523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8609,
"bvp": 0.1391
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.4878,
"after": 0.0,
"delta": -0.4878,
"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_R",
"before": 0.4878,
"after": 0.0,
"delta": -0.4878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1533,
"predicted_3B": 0.0129,
"predicted_BB": 0.4114,
"predicted_H": 0.7862,
"predicted_HR": 0.173,
"predicted_RBI": 0.5062,
"predicted_SO": 0.9431
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1533,
"delta": 0.1533,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4114,
"delta": 0.4114,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7862,
"delta": -0.2138,
"percent_delta": -0.2138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.173,
"delta": 0.173,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5062,
"delta": 0.5062,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9431,
"delta": -0.0569,
"percent_delta": -0.0569,
"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_RBI",
"before": 0.0,
"after": 0.5062,
"delta": 0.5062,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7862,
"delta": -0.2138,
"percent_delta": -0.2138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.214,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.298,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.403,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1533,
"after": 0.0,
"delta": -0.1533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.1961,
"after": 0.214,
"delta": 0.0179,
"percent_delta": 0.0913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4114,
"after": 1.0,
"delta": 0.5886,
"percent_delta": 1.4307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7862,
"after": 1.0,
"delta": 0.2138,
"percent_delta": 0.2719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2785,
"after": 0.298,
"delta": 0.0195,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5062,
"after": 0.0,
"delta": -0.5062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3095,
"after": 0.403,
"delta": 0.0935,
"percent_delta": 0.3021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9431,
"after": 1.0,
"delta": 0.0569,
"percent_delta": 0.0603,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4114,
"after": 1.0,
"delta": 0.5886,
"percent_delta": 1.4307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5062,
"after": 0.0,
"delta": -0.5062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.214,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.298,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.403,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"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.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.214,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.298,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.403,
"predicted_SO": 2.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 4.51,
"after": 4.0,
"delta": -0.51,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.214,
"delta": 0.02,
"percent_delta": 0.1031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "better",
"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.11,
"after": 1.0,
"delta": 0.89,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.559,
"after": 1.0,
"delta": 0.441,
"percent_delta": 0.7889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.403,
"delta": 0.065,
"percent_delta": 0.1923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.763,
"after": 2.0,
"delta": 1.237,
"percent_delta": 1.6212,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.763,
"after": 2.0,
"delta": 1.237,
"percent_delta": 1.6212,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.51,
"after": 4.0,
"delta": -0.51,
"percent_delta": -0.1131,
"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.017 | - |
| predicted_AB | 4.510 | - |
| predicted_AVG | 0.194 | - |
| predicted_BB | 0.492 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.559 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.338 | - |
| predicted_SO | 0.763 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.030 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.960 | -0.550 |
| predicted_AVG | 0.199 | 0.005 |
| predicted_BB | 0.452 | -0.040 |
| predicted_H | 0.782 | -0.088 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.097 | -0.013 |
| predicted_OBP | 0.293 | -0.001 |
| predicted_R | 0.492 | -0.067 |
| predicted_RBI | 0.435 | -0.035 |
| predicted_SLG | 0.328 | -0.010 |
| predicted_SO | 0.745 | -0.018 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.960 | 0.000 |
| predicted_AVG | 0.196 | -0.003 |
| predicted_BB | 0.452 | 0.001 |
| predicted_H | 0.777 | -0.005 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.097 | -0.001 |
| predicted_OBP | 0.279 | -0.014 |
| predicted_R | 0.488 | -0.005 |
| predicted_RBI | 0.431 | -0.004 |
| predicted_SLG | 0.309 | -0.019 |
| predicted_SO | 0.744 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.51), rates preserved: AVG=0.158 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.153 | 0.153 |
| 3B | 0.013 | 0.013 |
| BB | 0.411 | 0.411 |
| H | 0.786 | -0.214 |
| HR | 0.173 | 0.173 |
| RBI | 0.506 | 0.506 |
| SO | 0.943 | -0.057 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.153 |
| 3B | 0.000 | -0.013 |
| AB | 4.000 | 0.000 |
| AVG | 0.214 | - |
| BB | 1.000 | 0.589 |
| H | 1.000 | 0.214 |
| HR | 0.000 | -0.173 |
| OBP | 0.298 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.506 |
| SLG | 0.403 | - |
| SO | 1.000 | 0.057 |
Player 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.014 |
| predicted_AB | 4.000 | 0.040 |
| predicted_AVG | 0.214 | 0.018 |
| predicted_BB | 1.000 | 0.548 |
| predicted_H | 1.000 | 0.223 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.298 | 0.019 |
| predicted_R | 0.000 | -0.488 |
| predicted_RBI | 0.000 | -0.431 |
| predicted_SLG | 0.403 | 0.094 |
| predicted_SO | 1.000 | 0.256 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 0.2500 | 0.3077 | 0.2500 | 0.2500 | 0.0000 | 0.0833 | 0.0833 | 0.1667 |
| last_10 | 0.20 | 10 | - | 30.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 4.000 | 9.000 | 0.1333 | 0.2286 | 0.1333 | 0.1333 | 0.0000 | 0.1000 | 0.1333 | 0.3000 |
| season | 0.60 | 118 | - | 418.000 | 88.000 | 19.000 | 2.000 | 17.000 | 58.000 | 66.000 | 58.000 | 90.000 | 0.2105 | 0.3042 | 0.3876 | 0.2105 | 0.0407 | 0.1388 | 0.1388 | 0.2153 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0920 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.2400 |
| predicted_AVG | 0.2056 |
| predicted_BB | 0.3990 |
| predicted_H | 0.6660 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.2907 |
| predicted_R | 0.4050 |
| predicted_RBI | 0.3900 |
| predicted_SLG | 0.3150 |
| predicted_SO | 0.7210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.0920 | 0.1311 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0140 | model_form_blend |
| predicted_AB | 4.5100 | 3.2400 | 3.9603 | model_form_blend |
| predicted_AVG | 0.1940 | 0.2056 | 0.1990 | model_form_blend |
| predicted_BB | 0.4920 | 0.3990 | 0.4517 | model_form_blend |
| predicted_H | 0.8700 | 0.6660 | 0.7817 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1100 | 0.0810 | 0.0974 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2907 | 0.2926 | model_form_blend |
| predicted_R | 0.5590 | 0.4050 | 0.4923 | model_form_blend |
| predicted_RBI | 0.4700 | 0.3900 | 0.4354 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3150 | 0.3280 | model_form_blend |
| predicted_SO | 0.7630 | 0.7210 | 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 | 492 |
| Season rows before report date | 492 |
| Report year | 2026 |
| Profile rows used | 118 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 663757 |
| playerID | 663757 |
| playerName | Trent Grisham |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.311 |
| sl_xwoba | 0.337 |
| sl_xba | 0.245 |
| sl_xslg | 0.429 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 18.2 |
| sl_swing_percent | 39.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.156 | 0.000 | 0.000 | Hitting_2B | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 4.050 | 5.000 | 5.000 | Hitting_AB | 3.830 | 3.000 | 1.170 | 2.000 |
| predicted_AVG | 0.341 | 0.200 | 0.200 | Hitting_AVG | 0.271 | 0.667 | -0.071 | -0.467 |
| predicted_BB | 0.571 | 0.000 | 0.000 | Hitting_BB | 0.604 | 1.000 | -0.604 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_H | 1.380 | 1.000 | 1.000 | Hitting_H | 1.038 | 2.000 | -0.038 | -1.000 |
| predicted_HR | 0.670 | 0.000 | 0.000 | Hitting_HR | 0.269 | 2.000 | -0.269 | -2.000 |
| predicted_OBP | 0.435 | 0.200 | 0.200 | Hitting_OBP | 0.375 | 0.750 | -0.175 | -0.550 |
| predicted_R | 0.708 | 0.000 | 0.000 | Hitting_R | 0.720 | 2.000 | -0.720 | -2.000 |
| predicted_RBI | 1.050 | 0.000 | 0.000 | Hitting_RBI | 0.681 | 2.000 | -0.681 | -2.000 |
| predicted_SLG | 0.855 | 0.200 | 0.200 | Hitting_SLG | 0.535 | 2.667 | -0.335 | -2.467 |
| predicted_SO | 1.039 | 1.000 | 1.000 | Hitting_SO | 1.057 | 0.000 | -0.057 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 4.0500 -> 5.0000 (boost 0.9500, better) |
| Biggest Deboost | predicted_RBI: 1.0500 -> 0.0000 (deboost -1.0500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 1 | 5 | predicted_R: 0.7080 -> 0.7710 (boost 0.0630, better) | predicted_AB: 4.0500 -> 3.8991 (deboost -0.1509, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.8146 -> 0.8304 (boost 0.0158, better) | predicted_OBP: 0.4335 -> 0.4242 (deboost -0.0093, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_HR: 0.5651 -> 1.0000 (boost 0.4349, better) | predicted_BB: 0.5967 -> 0.0000 (deboost -0.5967, worse) | AB rounded to 4 (raw=4.05), rates preserved: AVG=0.296 HR/AB=0.140 |
| 6 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062) |
| 7 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7640 -> 1.0000 (boost 0.2360, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.0000 -> 0.4586 (boost 0.4586, better) | predicted_RBI: 1.0000 -> 0.5846 (deboost -0.4154, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 4 | 5 | 5 | 4 | predicted_HR: 0.2771 -> 1.0000 (boost 0.7229, better) | predicted_SLG: 0.8304 -> 0.4800 (deboost -0.3504, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 5 | 1 | 4 | 1 | 4 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "700250",
"player_name": "Ben Rice",
"position": "DH",
"team": "NYY",
"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.026,
"predicted_AB": 4.05,
"predicted_AVG": 0.341,
"predicted_BB": 0.571,
"predicted_H": 1.38,
"predicted_HR": 0.67,
"predicted_OBP": 0.435,
"predicted_R": 0.708,
"predicted_RBI": 1.05,
"predicted_SLG": 0.855,
"predicted_SO": 1.039
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1897,
"predicted_3B": 0.0212,
"predicted_AB": 3.8991,
"predicted_AVG": 0.3382,
"predicted_BB": 0.5959,
"predicted_H": 1.3188,
"predicted_HBP": 0.024,
"predicted_HR": 0.5698,
"predicted_OBP": 0.4335,
"predicted_R": 0.771,
"predicted_RBI": 0.9848,
"predicted_SLG": 0.8146,
"predicted_SO": 1.0543
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.05,
"after": 3.8991,
"delta": -0.1509,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.38,
"after": 1.3188,
"delta": -0.0612,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.67,
"after": 0.5698,
"delta": -0.1002,
"percent_delta": -0.1496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.708,
"after": 0.771,
"delta": 0.063,
"percent_delta": 0.089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.05,
"after": 0.9848,
"delta": -0.0652,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.855,
"after": 0.8146,
"delta": -0.0404,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.708,
"after": 0.771,
"delta": 0.063,
"percent_delta": 0.089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.05,
"after": 3.8991,
"delta": -0.1509,
"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": 154
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1897,
"predicted_3B": 0.0212,
"predicted_AB": 3.8991,
"predicted_AVG": 0.3361,
"predicted_BB": 0.5967,
"predicted_H": 1.3104,
"predicted_HBP": 0.024,
"predicted_HR": 0.5651,
"predicted_OBP": 0.4242,
"predicted_R": 0.764,
"predicted_RBI": 0.9758,
"predicted_SLG": 0.8304,
"predicted_SO": 1.0528
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.4335,
"after": 0.4242,
"delta": -0.0093,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.8146,
"after": 0.8304,
"delta": 0.0158,
"percent_delta": 0.0194,
"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_SLG",
"before": 0.8146,
"after": 0.8304,
"delta": 0.0158,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4335,
"after": 0.4242,
"delta": -0.0093,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.05), rates preserved: AVG=0.296 HR/AB=0.140",
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1897,
"after": 0.0,
"delta": -0.1897,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8991,
"after": 4.0,
"delta": 0.1009,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5967,
"after": 0.0,
"delta": -0.5967,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3104,
"after": 1.0,
"delta": -0.3104,
"percent_delta": -0.2369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5651,
"after": 1.0,
"delta": 0.4349,
"percent_delta": 0.7696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0528,
"after": 1.0,
"delta": -0.0528,
"percent_delta": -0.0502,
"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_HR",
"before": 0.5651,
"after": 1.0,
"delta": 0.4349,
"percent_delta": 0.7696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5967,
"after": 0.0,
"delta": -0.5967,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_HR",
"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_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.8609,
"bvp": 0.1391
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.764,
"after": 1.0,
"delta": 0.236,
"percent_delta": 0.3089,
"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_R",
"before": 0.764,
"after": 1.0,
"delta": 0.236,
"percent_delta": 0.3089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1504,
"predicted_3B": 0.016,
"predicted_BB": 0.4586,
"predicted_H": 0.7933,
"predicted_HR": 0.2771,
"predicted_RBI": 0.5846,
"predicted_SO": 1.2456
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1504,
"delta": 0.1504,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4586,
"delta": 0.4586,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7933,
"delta": -0.2067,
"percent_delta": -0.2067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2771,
"delta": 0.2771,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5846,
"delta": -0.4154,
"percent_delta": -0.4154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2456,
"delta": 0.2456,
"percent_delta": 0.2456,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.4586,
"delta": 0.4586,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5846,
"delta": -0.4154,
"percent_delta": -0.4154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.211,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.302,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.48,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1504,
"after": 0.0,
"delta": -0.1504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3361,
"after": 0.211,
"delta": -0.1251,
"percent_delta": -0.3722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4586,
"after": 1.0,
"delta": 0.5414,
"percent_delta": 1.1805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7933,
"after": 1.0,
"delta": 0.2067,
"percent_delta": 0.2606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2771,
"after": 1.0,
"delta": 0.7229,
"percent_delta": 2.6088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.4242,
"after": 0.302,
"delta": -0.1222,
"percent_delta": -0.2881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5846,
"after": 1.0,
"delta": 0.4154,
"percent_delta": 0.7106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.8304,
"after": 0.48,
"delta": -0.3504,
"percent_delta": -0.422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2456,
"after": 1.0,
"delta": -0.2456,
"percent_delta": -0.1972,
"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_HR",
"before": 0.2771,
"after": 1.0,
"delta": 0.7229,
"percent_delta": 2.6088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.8304,
"after": 0.48,
"delta": -0.3504,
"percent_delta": -0.422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.211,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.302,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.48,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"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_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.211,
"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.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.48,
"predicted_SO": 1.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 4.05,
"after": 5.0,
"delta": 0.95,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.341,
"after": 0.211,
"delta": -0.13,
"percent_delta": -0.3812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.571,
"after": 0.0,
"delta": -0.571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.38,
"after": 1.0,
"delta": -0.38,
"percent_delta": -0.2754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.435,
"after": 0.302,
"delta": -0.133,
"percent_delta": -0.3057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.708,
"after": 0.0,
"delta": -0.708,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.855,
"after": 0.48,
"delta": -0.375,
"percent_delta": -0.4386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.05,
"after": 5.0,
"delta": 0.95,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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.156 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 4.050 | - |
| predicted_AVG | 0.341 | - |
| predicted_BB | 0.571 | - |
| predicted_H | 1.380 | - |
| predicted_HR | 0.670 | - |
| predicted_OBP | 0.435 | - |
| predicted_R | 0.708 | - |
| predicted_RBI | 1.050 | - |
| predicted_SLG | 0.855 | - |
| predicted_SO | 1.039 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.034 |
| predicted_3B | 0.021 | -0.005 |
| predicted_AB | 3.899 | -0.151 |
| predicted_AVG | 0.338 | -0.003 |
| predicted_BB | 0.596 | 0.025 |
| predicted_H | 1.319 | -0.061 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.570 | -0.100 |
| predicted_OBP | 0.433 | -0.002 |
| predicted_R | 0.771 | 0.063 |
| predicted_RBI | 0.985 | -0.065 |
| predicted_SLG | 0.815 | -0.040 |
| predicted_SO | 1.054 | 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.190 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.899 | 0.000 |
| predicted_AVG | 0.336 | -0.002 |
| predicted_BB | 0.597 | 0.001 |
| predicted_H | 1.310 | -0.008 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.565 | -0.005 |
| predicted_OBP | 0.424 | -0.009 |
| predicted_R | 0.764 | -0.007 |
| predicted_RBI | 0.976 | -0.009 |
| predicted_SLG | 0.830 | 0.016 |
| predicted_SO | 1.053 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.05), rates preserved: AVG=0.296 HR/AB=0.140
| 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 | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | -1.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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.150 | 0.150 |
| 3B | 0.016 | 0.016 |
| BB | 0.459 | 0.459 |
| H | 0.793 | -0.207 |
| HR | 0.277 | 0.277 |
| RBI | 0.585 | -0.415 |
| SO | 1.246 | 0.246 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.150 |
| 3B | 0.000 | -0.016 |
| AB | 4.000 | 0.000 |
| AVG | 0.211 | - |
| BB | 1.000 | 0.541 |
| H | 1.000 | 0.207 |
| HR | 1.000 | 0.723 |
| OBP | 0.302 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.415 |
| SLG | 0.480 | - |
| SO | 1.000 | -0.246 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.190 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.101 |
| predicted_AVG | 0.211 | -0.125 |
| predicted_BB | 1.000 | 0.403 |
| predicted_H | 1.000 | -0.310 |
| predicted_HR | 1.000 | 0.435 |
| predicted_OBP | 0.302 | -0.122 |
| predicted_R | 1.000 | 0.236 |
| predicted_RBI | 1.000 | 0.024 |
| predicted_SLG | 0.480 | -0.350 |
| predicted_SO | 1.000 | -0.053 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 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 | 9.000 | 2.000 | 0.000 | 4.000 | 8.000 | 6.000 | 4.000 | 5.000 | 0.5000 | 0.5909 | 1.2778 | 0.5000 | 0.2222 | 0.4444 | 0.2222 | 0.2778 |
| last_10 | 0.20 | 10 | - | 37.000 | 14.000 | 3.000 | 0.000 | 6.000 | 10.000 | 10.000 | 7.000 | 13.000 | 0.3784 | 0.4773 | 0.9459 | 0.3784 | 0.1622 | 0.2703 | 0.1892 | 0.3513 |
| season | 0.60 | 154 | - | 575.000 | 156.000 | 24.000 | 4.000 | 44.000 | 101.000 | 109.000 | 88.000 | 160.000 | 0.2713 | 0.3726 | 0.5565 | 0.2713 | 0.0765 | 0.1757 | 0.1530 | 0.2783 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2330 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.7050 |
| predicted_AVG | 0.3346 |
| predicted_BB | 0.6280 |
| predicted_H | 1.2400 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.4410 |
| predicted_OBP | 0.4316 |
| predicted_R | 0.8520 |
| predicted_RBI | 0.9010 |
| predicted_SLG | 0.7627 |
| predicted_SO | 1.0740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.2330 | 0.1897 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0212 | model_form_blend |
| predicted_AB | 4.0500 | 3.7050 | 3.8991 | model_form_blend |
| predicted_AVG | 0.3410 | 0.3346 | 0.3382 | model_form_blend |
| predicted_BB | 0.5710 | 0.6280 | 0.5959 | model_form_blend |
| predicted_H | 1.3800 | 1.2400 | 1.3188 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.6700 | 0.4410 | 0.5698 | model_form_blend |
| predicted_OBP | 0.4350 | 0.4316 | 0.4335 | model_form_blend |
| predicted_R | 0.7080 | 0.8520 | 0.7710 | model_form_blend |
| predicted_RBI | 1.0500 | 0.9010 | 0.9848 | model_form_blend |
| predicted_SLG | 0.8550 | 0.7627 | 0.8146 | model_form_blend |
| predicted_SO | 1.0390 | 1.0740 | 1.0543 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 636 |
| Season rows before report date | 636 |
| Report year | 2026 |
| Profile rows used | 154 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 8 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 700250 |
| playerID | 700250 |
| playerName | Ben Rice |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.384 |
| sl_xwoba | 0.378 |
| sl_xba | 0.267 |
| sl_xslg | 0.511 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 25.4 |
| 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.173 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.210 | 4.000 | 4.000 | Hitting_AB | 3.914 | 4.000 | 0.086 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.000 | Hitting_AVG | 0.296 | 0.000 | -0.296 | 0.000 |
| predicted_BB | 0.167 | 0.000 | 0.000 | Hitting_BB | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 1.000 | 0.000 | 0.000 | Hitting_H | 1.159 | 0.000 | -1.159 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.212 | 0.000 | -0.212 | 0.000 |
| predicted_OBP | 0.283 | 0.000 | 0.000 | Hitting_OBP | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_R | 0.467 | 0.000 | 0.000 | Hitting_R | 0.543 | 0.000 | -0.543 | 0.000 |
| predicted_RBI | 0.590 | 0.000 | 0.000 | Hitting_RBI | 0.470 | 0.000 | -0.470 | 0.000 |
| predicted_SLG | 0.453 | 0.000 | 0.000 | Hitting_SLG | 0.503 | 0.000 | -0.503 | 0.000 |
| predicted_SO | 0.667 | 1.000 | 1.000 | Hitting_SO | 0.808 | 2.000 | 0.192 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.6670 -> 1.0000 (boost 0.3330, worse) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2370 -> 0.2427 (boost 0.0057, better) | predicted_AB: 4.2100 -> 3.8881 (deboost -0.3219, worse) | Final model input calibrated with local 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.2851 -> 0.2736 (deboost -0.0115, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.6834 -> 1.0000 (boost 0.3166, worse) | predicted_RBI: 0.5415 -> 0.0000 (deboost -0.5415, worse) | AB rounded to 4 (raw=4.21), rates preserved: AVG=0.203 HR/AB=0.048 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4524 -> 0.0000 (deboost -0.4524, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.6283 (boost 0.6283, better) | predicted_H: 1.0000 -> 0.8845 (deboost -0.1155, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 6 | 3 | 5 | 4 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 0.2002 -> 0.0000 (deboost -0.2002, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 4 | 0 | 4 | 0 | 4 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"team": "NYY",
"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.033,
"predicted_AB": 4.21,
"predicted_AVG": 0.237,
"predicted_BB": 0.167,
"predicted_H": 1.0,
"predicted_HR": 0.22,
"predicted_OBP": 0.283,
"predicted_R": 0.467,
"predicted_RBI": 0.59,
"predicted_SLG": 0.453,
"predicted_SO": 0.667
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1439,
"predicted_3B": 0.0269,
"predicted_AB": 3.8881,
"predicted_AVG": 0.2427,
"predicted_BB": 0.1748,
"predicted_H": 0.9426,
"predicted_HBP": 0.002,
"predicted_HR": 0.2035,
"predicted_OBP": 0.2851,
"predicted_R": 0.4566,
"predicted_RBI": 0.5465,
"predicted_SLG": 0.4513,
"predicted_SO": 0.6844
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.21,
"after": 3.8881,
"delta": -0.3219,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2427,
"delta": 0.0057,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9426,
"delta": -0.0574,
"percent_delta": -0.0574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2427,
"delta": 0.0057,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.21,
"after": 3.8881,
"delta": -0.3219,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 150
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1439,
"predicted_3B": 0.0269,
"predicted_AB": 3.8881,
"predicted_AVG": 0.2409,
"predicted_BB": 0.175,
"predicted_H": 0.9366,
"predicted_HBP": 0.002,
"predicted_HR": 0.2018,
"predicted_OBP": 0.2736,
"predicted_R": 0.4524,
"predicted_RBI": 0.5415,
"predicted_SLG": 0.4475,
"predicted_SO": 0.6834
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2851,
"after": 0.2736,
"delta": -0.0115,
"percent_delta": -0.0403,
"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_OBP",
"before": 0.2851,
"after": 0.2736,
"delta": -0.0115,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.21), rates preserved: AVG=0.203 HR/AB=0.048",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1439,
"after": 0.0,
"delta": -0.1439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8881,
"after": 4.0,
"delta": 0.1119,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.175,
"after": 0.0,
"delta": -0.175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9366,
"after": 1.0,
"delta": 0.0634,
"percent_delta": 0.0677,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2018,
"after": 0.0,
"delta": -0.2018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5415,
"after": 0.0,
"delta": -0.5415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6834,
"after": 1.0,
"delta": 0.3166,
"percent_delta": 0.4633,
"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.6834,
"after": 1.0,
"delta": 0.3166,
"percent_delta": 0.4633,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5415,
"after": 0.0,
"delta": -0.5415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"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": 0.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": {
"model_expectation": 0.9333,
"bvp": 0.0667
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.4524,
"after": 0.0,
"delta": -0.4524,
"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_R",
"before": 0.4524,
"after": 0.0,
"delta": -0.4524,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1785,
"predicted_3B": 0.021,
"predicted_BB": 0.2002,
"predicted_H": 0.8845,
"predicted_HR": 0.2326,
"predicted_RBI": 0.6283,
"predicted_SO": 0.9285
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1785,
"delta": 0.1785,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2002,
"delta": 0.2002,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8845,
"delta": -0.1155,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.2326,
"delta": 0.2326,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.6283,
"delta": 0.6283,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9285,
"delta": -0.0715,
"percent_delta": -0.0715,
"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_RBI",
"before": 0.0,
"after": 0.6283,
"delta": 0.6283,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8845,
"delta": -0.1155,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.229,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.273,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.466,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1785,
"after": 0.0,
"delta": -0.1785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2409,
"after": 0.229,
"delta": -0.0119,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2002,
"after": 0.0,
"delta": -0.2002,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8845,
"after": 1.0,
"delta": 0.1155,
"percent_delta": 0.1306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2326,
"after": 1.0,
"delta": 0.7674,
"percent_delta": 3.2992,
"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.6283,
"after": 1.0,
"delta": 0.3717,
"percent_delta": 0.5916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4475,
"after": 0.466,
"delta": 0.0185,
"percent_delta": 0.0413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9285,
"after": 1.0,
"delta": 0.0715,
"percent_delta": 0.077,
"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_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": 0.2002,
"after": 0.0,
"delta": -0.2002,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.229,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.273,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.466,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"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.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.229,
"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.273,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.466,
"predicted_SO": 1.0,
"predicted_TB": 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
}
}
],
"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_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.237,
"after": 0.229,
"delta": -0.008,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"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.283,
"after": 0.273,
"delta": -0.01,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.466,
"delta": 0.013,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 4.210 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.167 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.467 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.453 | - |
| predicted_SO | 0.667 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | -0.029 |
| predicted_3B | 0.027 | -0.006 |
| predicted_AB | 3.888 | -0.322 |
| predicted_AVG | 0.243 | 0.006 |
| predicted_BB | 0.175 | 0.008 |
| predicted_H | 0.943 | -0.057 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.203 | -0.017 |
| predicted_OBP | 0.285 | 0.002 |
| predicted_R | 0.457 | -0.010 |
| predicted_RBI | 0.546 | -0.043 |
| predicted_SLG | 0.451 | -0.002 |
| predicted_SO | 0.684 | 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.144 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 3.888 | 0.000 |
| predicted_AVG | 0.241 | -0.002 |
| predicted_BB | 0.175 | 0.000 |
| predicted_H | 0.937 | -0.006 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.202 | -0.002 |
| predicted_OBP | 0.274 | -0.012 |
| predicted_R | 0.452 | -0.004 |
| predicted_RBI | 0.541 | -0.005 |
| predicted_SLG | 0.448 | -0.004 |
| predicted_SO | 0.683 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.21), rates preserved: AVG=0.203 HR/AB=0.048
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.178 | 0.178 |
| 3B | 0.021 | 0.021 |
| BB | 0.200 | 0.200 |
| H | 0.884 | -0.116 |
| HR | 0.233 | 0.233 |
| RBI | 0.628 | 0.628 |
| SO | 0.928 | -0.072 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.178 |
| 3B | 0.000 | -0.021 |
| AB | 4.000 | 0.000 |
| AVG | 0.229 | - |
| BB | 0.000 | -0.200 |
| H | 1.000 | 0.116 |
| HR | 1.000 | 0.767 |
| OBP | 0.273 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.372 |
| SLG | 0.466 | - |
| SO | 1.000 | 0.072 |
Player 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.027 |
| predicted_AB | 4.000 | 0.112 |
| predicted_AVG | 0.229 | -0.012 |
| predicted_BB | 0.000 | -0.175 |
| predicted_H | 1.000 | 0.063 |
| predicted_HR | 1.000 | 0.798 |
| predicted_OBP | 0.273 | -0.001 |
| predicted_R | 1.000 | 0.548 |
| predicted_RBI | 1.000 | 0.459 |
| predicted_SLG | 0.466 | 0.019 |
| predicted_SO | 1.000 | 0.317 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 3.000 | 0.2500 | 0.2941 | 0.4375 | 0.2500 | 0.0625 | 0.1250 | 0.0625 | 0.1875 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 9.000 | 0.1714 | 0.2162 | 0.2571 | 0.1714 | 0.0286 | 0.0571 | 0.0571 | 0.2571 |
| season | 0.60 | 150 | - | 528.000 | 146.000 | 26.000 | 5.000 | 31.000 | 93.000 | 70.000 | 25.000 | 100.000 | 0.2765 | 0.3081 | 0.5208 | 0.2765 | 0.0587 | 0.1761 | 0.0474 | 0.1894 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.4700 |
| predicted_AVG | 0.2501 |
| predicted_BB | 0.1850 |
| predicted_H | 0.8680 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1820 |
| predicted_OBP | 0.2879 |
| predicted_R | 0.4430 |
| predicted_RBI | 0.4900 |
| predicted_SLG | 0.4491 |
| predicted_SO | 0.7070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.1060 | 0.1439 | model_form_blend |
| predicted_3B | 0.0330 | 0.0190 | 0.0269 | model_form_blend |
| predicted_AB | 4.2100 | 3.4700 | 3.8881 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2501 | 0.2427 | model_form_blend |
| predicted_BB | 0.1670 | 0.1850 | 0.1748 | model_form_blend |
| predicted_H | 1.0000 | 0.8680 | 0.9426 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.2200 | 0.1820 | 0.2035 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2879 | 0.2851 | model_form_blend |
| predicted_R | 0.4670 | 0.4430 | 0.4566 | model_form_blend |
| predicted_RBI | 0.5900 | 0.4900 | 0.5465 | model_form_blend |
| predicted_SLG | 0.4530 | 0.4491 | 0.4513 | model_form_blend |
| predicted_SO | 0.6670 | 0.7070 | 0.6844 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 151 |
| Season rows before report date | 151 |
| Report year | 2026 |
| Profile rows used | 150 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1B |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 671277 |
| playerID | 671277 |
| playerName | Luis García Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.355 |
| sl_xwoba | 0.341 |
| sl_xba | 0.276 |
| sl_xslg | 0.486 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 20.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.188 | 1.000 | 1.000 | Hitting_2B | 0.206 | 0.000 | 0.794 | 1.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 4.650 | 4.000 | 4.000 | Hitting_AB | 3.790 | 4.000 | 0.210 | 0.000 |
| predicted_AVG | 0.228 | 0.250 | 0.250 | Hitting_AVG | 0.276 | 0.250 | -0.026 | 0.000 |
| predicted_BB | 0.436 | 0.000 | 0.000 | Hitting_BB | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 1.060 | 1.000 | 1.000 | Hitting_H | 1.046 | 1.000 | -0.046 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.277 | 0.250 | 0.250 | Hitting_OBP | 0.353 | 0.250 | -0.103 | 0.000 |
| predicted_R | 0.556 | 0.000 | 0.000 | Hitting_R | 0.597 | 0.000 | -0.597 | 0.000 |
| predicted_RBI | 0.630 | 0.000 | 0.000 | Hitting_RBI | 0.594 | 0.000 | -0.594 | 0.000 |
| predicted_SLG | 0.377 | 0.500 | 0.500 | Hitting_SLG | 0.447 | 0.250 | 0.053 | 0.250 |
| predicted_SO | 0.647 | 0.000 | 0.000 | Hitting_SO | 0.622 | 0.000 | -0.622 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.1880 -> 1.0000 (boost 0.8120, better) |
| Biggest Deboost | predicted_AB: 4.6500 -> 4.0000 (deboost -0.6500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.6470 -> 0.6997 (boost 0.0527, worse) | predicted_AB: 4.6500 -> 4.3253 (deboost -0.3247, worse) | Final model input calibrated with local 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.2764 -> 0.2878 (boost 0.0114, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.6191 -> 1.0000 (boost 0.3809, better) | predicted_BB: 0.3725 -> 0.0000 (deboost -0.3725, worse) | AB rounded to 4 (raw=4.65), rates preserved: AVG=0.193 HR/AB=0.035 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4945 -> 0.0000 (deboost -0.4945, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 0.3791 (boost 0.3791, better) | predicted_RBI: 1.0000 -> 0.5084 (deboost -0.4916, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 7 | 2 | 6 | 3 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_HR: 0.1450 -> 0.0000 (deboost -0.1450, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 4 | 0 | 4 | 1 | 3 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "641355",
"player_name": "Cody Bellinger",
"position": "LF",
"team": "NYY",
"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.023,
"predicted_AB": 4.65,
"predicted_AVG": 0.228,
"predicted_BB": 0.436,
"predicted_H": 1.06,
"predicted_HR": 0.17,
"predicted_OBP": 0.277,
"predicted_R": 0.556,
"predicted_RBI": 0.63,
"predicted_SLG": 0.377,
"predicted_SO": 0.647
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1584,
"predicted_3B": 0.0191,
"predicted_AB": 4.3253,
"predicted_AVG": 0.2279,
"predicted_BB": 0.372,
"predicted_H": 0.9856,
"predicted_HBP": 0.002,
"predicted_HR": 0.1652,
"predicted_OBP": 0.2764,
"predicted_R": 0.499,
"predicted_RBI": 0.6248,
"predicted_SLG": 0.3817,
"predicted_SO": 0.6997
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.65,
"after": 4.3253,
"delta": -0.3247,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.436,
"after": 0.372,
"delta": -0.064,
"percent_delta": -0.1468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.9856,
"delta": -0.0744,
"percent_delta": -0.0702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.499,
"delta": -0.057,
"percent_delta": -0.1025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.647,
"after": 0.6997,
"delta": 0.0527,
"percent_delta": 0.0815,
"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.647,
"after": 0.6997,
"delta": 0.0527,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 4.3253,
"delta": -0.3247,
"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": 133
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1584,
"predicted_3B": 0.0191,
"predicted_AB": 4.3253,
"predicted_AVG": 0.2264,
"predicted_BB": 0.3725,
"predicted_H": 0.9793,
"predicted_HBP": 0.002,
"predicted_HR": 0.1638,
"predicted_OBP": 0.2878,
"predicted_R": 0.4945,
"predicted_RBI": 0.6191,
"predicted_SLG": 0.3855,
"predicted_SO": 0.6987
},
"changed_metrics": [
{
"metric": "predicted_OBP",
"before": 0.2764,
"after": 0.2878,
"delta": 0.0114,
"percent_delta": 0.0412,
"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_OBP",
"before": 0.2764,
"after": 0.2878,
"delta": 0.0114,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.65), rates preserved: AVG=0.193 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.1584,
"after": 0.0,
"delta": -0.1584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.3253,
"after": 4.0,
"delta": -0.3253,
"percent_delta": -0.0752,
"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_HR",
"before": 0.1638,
"after": 0.0,
"delta": -0.1638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6191,
"after": 1.0,
"delta": 0.3809,
"percent_delta": 0.6152,
"direction": "boost",
"projection_effect": "better",
"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": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6191,
"after": 1.0,
"delta": 0.3809,
"percent_delta": 0.6152,
"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
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, 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": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.85,
"bvp": 0.15
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.4945,
"after": 0.0,
"delta": -0.4945,
"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_R",
"before": 0.4945,
"after": 0.0,
"delta": -0.4945,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.166,
"predicted_3B": 0.0151,
"predicted_BB": 0.3791,
"predicted_H": 0.8608,
"predicted_HR": 0.145,
"predicted_RBI": 0.5084,
"predicted_SO": 0.7756
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.166,
"delta": 0.166,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3791,
"delta": 0.3791,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8608,
"delta": -0.1392,
"percent_delta": -0.1392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.145,
"delta": 0.145,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5084,
"delta": -0.4916,
"percent_delta": -0.4916,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.7756,
"delta": -0.2244,
"percent_delta": -0.2244,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3791,
"delta": 0.3791,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.5084,
"delta": -0.4916,
"percent_delta": -0.4916,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.221,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.296,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.384,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.166,
"after": 1.0,
"delta": 0.834,
"percent_delta": 5.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2264,
"after": 0.221,
"delta": -0.0054,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3791,
"after": 1.0,
"delta": 0.6209,
"percent_delta": 1.6378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8608,
"after": 1.0,
"delta": 0.1392,
"percent_delta": 0.1617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2878,
"after": 0.296,
"delta": 0.0082,
"percent_delta": 0.0285,
"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.5084,
"after": 1.0,
"delta": 0.4916,
"percent_delta": 0.967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7756,
"after": 1.0,
"delta": 0.2244,
"percent_delta": 0.2893,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"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_HR",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.221,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.296,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.384,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 1.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_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.221,
"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.296,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.384,
"predicted_SO": 0.0,
"predicted_TB": 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
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 1.0,
"delta": 0.812,
"percent_delta": 4.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.65,
"after": 4.0,
"delta": -0.65,
"percent_delta": -0.1398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.221,
"delta": -0.007,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.436,
"after": 0.0,
"delta": -0.436,
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.296,
"delta": 0.019,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.384,
"delta": 0.007,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.188,
"after": 1.0,
"delta": 0.812,
"percent_delta": 4.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 4.0,
"delta": -0.65,
"percent_delta": -0.1398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.023 | - |
| predicted_AB | 4.650 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.436 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.377 | - |
| predicted_SO | 0.647 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.158 | -0.030 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 4.325 | -0.325 |
| predicted_AVG | 0.228 | -0.000 |
| predicted_BB | 0.372 | -0.064 |
| predicted_H | 0.986 | -0.074 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.165 | -0.005 |
| predicted_OBP | 0.276 | -0.001 |
| predicted_R | 0.499 | -0.057 |
| predicted_RBI | 0.625 | -0.005 |
| predicted_SLG | 0.382 | 0.005 |
| predicted_SO | 0.700 | 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.158 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.325 | 0.000 |
| predicted_AVG | 0.226 | -0.002 |
| predicted_BB | 0.372 | 0.001 |
| predicted_H | 0.979 | -0.006 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.164 | -0.001 |
| predicted_OBP | 0.288 | 0.011 |
| predicted_R | 0.494 | -0.005 |
| predicted_RBI | 0.619 | -0.006 |
| predicted_SLG | 0.386 | 0.004 |
| predicted_SO | 0.699 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.65), rates preserved: AVG=0.193 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.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 | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.166 | 0.166 |
| 3B | 0.015 | 0.015 |
| BB | 0.379 | 0.379 |
| H | 0.861 | -0.139 |
| HR | 0.145 | 0.145 |
| RBI | 0.508 | -0.492 |
| SO | 0.776 | -0.224 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.834 |
| 3B | 0.000 | -0.015 |
| AB | 4.000 | 0.000 |
| AVG | 0.221 | - |
| BB | 1.000 | 0.621 |
| H | 1.000 | 0.139 |
| HR | 0.000 | -0.145 |
| OBP | 0.296 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.492 |
| SLG | 0.384 | - |
| SO | 1.000 | 0.224 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.842 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | -0.325 |
| predicted_AVG | 0.221 | -0.005 |
| predicted_BB | 1.000 | 0.627 |
| predicted_H | 1.000 | 0.021 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.296 | 0.008 |
| predicted_R | 1.000 | 0.506 |
| predicted_RBI | 1.000 | 0.381 |
| predicted_SLG | 0.384 | -0.002 |
| predicted_SO | 1.000 | 0.301 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| 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 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 5.000 | 0.1905 | 0.1905 | 0.3333 | 0.1905 | 0.0476 | 0.1905 | 0.0000 | 0.2381 |
| last_10 | 0.20 | 10 | - | 40.000 | 6.000 | 0.000 | 0.000 | 2.000 | 6.000 | 2.000 | 1.000 | 9.000 | 0.1500 | 0.1707 | 0.3000 | 0.1500 | 0.0500 | 0.1500 | 0.0250 | 0.2250 |
| season | 0.60 | 133 | - | 503.000 | 133.000 | 25.000 | 3.000 | 18.000 | 77.000 | 74.000 | 58.000 | 86.000 | 0.2644 | 0.3363 | 0.4334 | 0.2644 | 0.0358 | 0.1531 | 0.1153 | 0.1710 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1200 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.9040 |
| predicted_AVG | 0.2278 |
| predicted_BB | 0.2890 |
| predicted_H | 0.8890 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1590 |
| predicted_OBP | 0.2756 |
| predicted_R | 0.4250 |
| predicted_RBI | 0.6180 |
| predicted_SLG | 0.3877 |
| predicted_SO | 0.7680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1200 | 0.1584 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 4.6500 | 3.9040 | 4.3253 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2278 | 0.2279 | model_form_blend |
| predicted_BB | 0.4360 | 0.2890 | 0.3720 | model_form_blend |
| predicted_H | 1.0600 | 0.8890 | 0.9856 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1700 | 0.1590 | 0.1652 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2756 | 0.2764 | model_form_blend |
| predicted_R | 0.5560 | 0.4250 | 0.4990 | model_form_blend |
| predicted_RBI | 0.6300 | 0.6180 | 0.6248 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3877 | 0.3817 | model_form_blend |
| predicted_SO | 0.6470 | 0.7680 | 0.6997 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 539 |
| Season rows before report date | 539 |
| Report year | 2026 |
| Profile rows used | 133 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20261005_NYY@TB |
| game_type | full |
| mlbID | 641355 |
| playerID | 641355 |
| playerName | Cody Bellinger |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.336 |
| sl_xwoba | 0.335 |
| sl_xba | 0.271 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 37.8 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 17.6 |
| sl_whiff_percent | 20.0 |
| 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.089 | 0.000 | 0.000 | Hitting_2B | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.200 | 3.000 | 3.000 | Hitting_AB | 3.641 | 4.000 | -0.641 | -1.000 |
| predicted_AVG | 0.234 | 0.333 | 0.333 | Hitting_AVG | 0.226 | 0.000 | 0.107 | 0.333 |
| predicted_BB | 0.222 | 1.000 | 1.000 | Hitting_BB | 0.246 | 0.000 | 0.754 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.980 | 1.000 | 1.000 | Hitting_H | 0.824 | 0.000 | 0.176 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.274 | 0.500 | 0.500 | Hitting_OBP | 0.277 | 0.000 | 0.223 | 0.500 |
| predicted_R | 0.578 | 1.000 | 1.000 | Hitting_R | 0.570 | 0.000 | 0.430 | 1.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_SLG | 0.391 | 0.333 | 0.333 | Hitting_SLG | 0.354 | 0.000 | -0.021 | 0.333 |
| predicted_SO | 1.022 | 1.000 | 1.000 | Hitting_SO | 1.035 | 1.000 | -0.035 | 0.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 | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.2220 -> 1.0000 (boost 0.7780, better) |
| Biggest Deboost | predicted_AB: 4.2000 -> 3.0000 (deboost -1.2000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.2000 -> 4.0113 (deboost -0.1887, worse) | Final model input calibrated with local 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.3933 -> 0.3834 (deboost -0.0099, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.9482 -> 1.0000 (boost 0.0518, better) | predicted_RBI: 0.4904 -> 0.0000 (deboost -0.4904, worse) | AB rounded to 4 (raw=4.20), rates preserved: AVG=0.206 HR/AB=0.037 |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5780 -> 1.0000 (boost 0.4220, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.5145 (boost 0.5145, better) | predicted_H: 1.0000 -> 0.8208 (deboost -0.1792, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5145 -> 1.0000 (boost 0.4855, better) | predicted_SO: 1.2752 -> 1.0000 (deboost -0.2752, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | play_by_play_realization | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 13 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "806146",
"player_name": "George Lombard Jr.",
"position": "SS",
"team": "NYY",
"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.022,
"predicted_AB": 4.2,
"predicted_AVG": 0.234,
"predicted_BB": 0.222,
"predicted_H": 0.98,
"predicted_HR": 0.16,
"predicted_OBP": 0.274,
"predicted_R": 0.578,
"predicted_RBI": 0.49,
"predicted_SLG": 0.391,
"predicted_SO": 1.022
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0187,
"predicted_AB": 4.0113,
"predicted_AVG": 0.2386,
"predicted_BB": 0.1943,
"predicted_H": 0.9543,
"predicted_HBP": 0.016,
"predicted_HR": 0.1559,
"predicted_OBP": 0.2749,
"predicted_R": 0.5833,
"predicted_RBI": 0.4949,
"predicted_SLG": 0.3933,
"predicted_SO": 1.0363
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 4.2,
"after": 4.0113,
"delta": -0.1887,
"percent_delta": -0.0449,
"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_AB",
"before": 4.2,
"after": 4.0113,
"delta": -0.1887,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0886,
"predicted_3B": 0.0187,
"predicted_AB": 4.0113,
"predicted_AVG": 0.2364,
"predicted_BB": 0.1946,
"predicted_H": 0.9482,
"predicted_HBP": 0.016,
"predicted_HR": 0.1546,
"predicted_OBP": 0.2717,
"predicted_R": 0.578,
"predicted_RBI": 0.4904,
"predicted_SLG": 0.3834,
"predicted_SO": 1.0348
},
"changed_metrics": [
{
"metric": "predicted_SLG",
"before": 0.3933,
"after": 0.3834,
"delta": -0.0099,
"percent_delta": -0.0252,
"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_SLG",
"before": 0.3933,
"after": 0.3834,
"delta": -0.0099,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.20), rates preserved: AVG=0.206 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.0886,
"after": 0.0,
"delta": -0.0886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1946,
"after": 0.0,
"delta": -0.1946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9482,
"after": 1.0,
"delta": 0.0518,
"percent_delta": 0.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1546,
"after": 0.0,
"delta": -0.1546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4904,
"after": 0.0,
"delta": -0.4904,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9482,
"after": 1.0,
"delta": 0.0518,
"percent_delta": 0.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4904,
"after": 0.0,
"delta": -0.4904,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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_R",
"before": 0.578,
"after": 1.0,
"delta": 0.422,
"percent_delta": 0.7301,
"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_R",
"before": 0.578,
"after": 1.0,
"delta": 0.422,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1521,
"predicted_3B": 0.0144,
"predicted_BB": 0.2384,
"predicted_H": 0.8208,
"predicted_HR": 0.1651,
"predicted_RBI": 0.5145,
"predicted_SO": 1.2752
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1521,
"delta": 0.1521,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2384,
"delta": 0.2384,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.8208,
"delta": -0.1792,
"percent_delta": -0.1792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1651,
"delta": 0.1651,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.5145,
"delta": 0.5145,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.2752,
"delta": 0.2752,
"percent_delta": 0.2752,
"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_RBI",
"before": 0.0,
"after": 0.5145,
"delta": 0.5145,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.8208,
"delta": -0.1792,
"percent_delta": -0.1792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.218,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.397,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1521,
"after": 0.0,
"delta": -0.1521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2364,
"after": 0.218,
"delta": -0.0184,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2384,
"after": 0.0,
"delta": -0.2384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8208,
"after": 1.0,
"delta": 0.1792,
"percent_delta": 0.2183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1651,
"after": 0.0,
"delta": -0.1651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5145,
"after": 1.0,
"delta": 0.4855,
"percent_delta": 0.9436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3834,
"after": 0.397,
"delta": 0.0136,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2752,
"after": 1.0,
"delta": -0.2752,
"percent_delta": -0.2158,
"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.5145,
"after": 1.0,
"delta": 0.4855,
"percent_delta": 0.9436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.2752,
"after": 1.0,
"delta": -0.2752,
"percent_delta": -0.2158,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.218,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.397,
"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
}
},
{
"index": 10,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 13,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.218,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.397,
"predicted_SO": 1.0,
"predicted_SS": 0.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 4.2,
"after": 3.0,
"delta": -1.2,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.218,
"delta": -0.016,
"percent_delta": -0.0684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 1.0,
"delta": 0.778,
"percent_delta": 3.5045,
"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_R",
"before": 0.578,
"after": 1.0,
"delta": 0.422,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.397,
"delta": 0.006,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.222,
"after": 1.0,
"delta": 0.778,
"percent_delta": 3.5045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2,
"after": 3.0,
"delta": -1.2,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.222 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.578 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 1.022 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.000 |
| predicted_3B | 0.019 | -0.003 |
| predicted_AB | 4.011 | -0.189 |
| predicted_AVG | 0.239 | 0.005 |
| predicted_BB | 0.194 | -0.028 |
| predicted_H | 0.954 | -0.026 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.156 | -0.004 |
| predicted_OBP | 0.275 | 0.001 |
| predicted_R | 0.583 | 0.005 |
| predicted_RBI | 0.495 | 0.005 |
| predicted_SLG | 0.393 | 0.002 |
| predicted_SO | 1.036 | 0.014 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.011 | 0.000 |
| predicted_AVG | 0.236 | -0.002 |
| predicted_BB | 0.195 | 0.000 |
| predicted_H | 0.948 | -0.006 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.155 | -0.001 |
| predicted_OBP | 0.272 | -0.003 |
| predicted_R | 0.578 | -0.005 |
| predicted_RBI | 0.490 | -0.005 |
| predicted_SLG | 0.383 | -0.010 |
| predicted_SO | 1.035 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=4.20), rates preserved: AVG=0.206 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 | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.152 | 0.152 |
| 3B | 0.014 | 0.014 |
| BB | 0.238 | 0.238 |
| H | 0.821 | -0.179 |
| HR | 0.165 | 0.165 |
| RBI | 0.514 | 0.514 |
| SO | 1.275 | 0.275 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.152 |
| 3B | 0.000 | -0.014 |
| AB | 4.000 | 0.000 |
| AVG | 0.218 | - |
| BB | 0.000 | -0.238 |
| H | 1.000 | 0.179 |
| HR | 0.000 | -0.165 |
| OBP | 0.270 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.486 |
| SLG | 0.397 | - |
| SO | 1.000 | -0.275 |
Player 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.019 |
| predicted_AB | 4.000 | -0.011 |
| predicted_AVG | 0.218 | -0.018 |
| predicted_BB | 0.000 | -0.195 |
| predicted_H | 1.000 | 0.052 |
| predicted_HR | 0.000 | -0.155 |
| predicted_OBP | 0.270 | -0.002 |
| predicted_R | 1.000 | 0.422 |
| predicted_RBI | 1.000 | 0.510 |
| predicted_SLG | 0.397 | 0.014 |
| predicted_SO | 1.000 | -0.035 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 |
| 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 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.000 | 6.000 | 0.2105 | 0.2105 | 0.2105 | 0.2105 | 0.0000 | 0.0526 | 0.0000 | 0.3158 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 1.000 | 0.000 | 3.000 | 8.000 | 7.000 | 0.000 | 12.000 | 0.2821 | 0.2821 | 0.5385 | 0.2821 | 0.0769 | 0.2051 | 0.0000 | 0.3077 |
| season | 0.60 | 45 | - | 164.000 | 40.000 | 4.000 | 1.000 | 7.000 | 23.000 | 26.000 | 10.000 | 46.000 | 0.2439 | 0.2881 | 0.4085 | 0.2439 | 0.0427 | 0.1402 | 0.0610 | 0.2805 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0880 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7370 |
| predicted_AVG | 0.2453 |
| predicted_BB | 0.1540 |
| predicted_H | 0.9170 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1500 |
| predicted_OBP | 0.2763 |
| predicted_R | 0.5910 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.3967 |
| predicted_SO | 1.0570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0890 | 0.0880 | 0.0886 | model_form_blend |
| predicted_3B | 0.0220 | 0.0140 | 0.0187 | model_form_blend |
| predicted_AB | 4.2000 | 3.7370 | 4.0113 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2453 | 0.2386 | model_form_blend |
| predicted_BB | 0.2220 | 0.1540 | 0.1943 | model_form_blend |
| predicted_H | 0.9800 | 0.9170 | 0.9543 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1600 | 0.1500 | 0.1559 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2763 | 0.2749 | model_form_blend |
| predicted_R | 0.5780 | 0.5910 | 0.5833 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5020 | 0.4949 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3967 | 0.3933 | model_form_blend |
| predicted_SO | 1.0220 | 1.0570 | 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 | 142 |
| Season rows before report date | 142 |
| Report year | 2026 |
| Profile rows used | 45 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20261005_NYY@TB |
| game_type | full |
| mlbID | 806146 |
| playerID | 806146 |
| playerName | George Lombard Jr. |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.303 |
| sl_xwoba | 0.298 |
| sl_xba | 0.24 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 35.1 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 25.6 |
| 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.073 | 1.000 | 1.000 | Hitting_2B | 0.069 | 1.000 | 0.931 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.805 | 4.000 | 4.000 | Hitting_AB | 3.011 | 3.000 | 0.989 | 1.000 |
| predicted_AVG | 0.246 | 0.250 | 0.250 | Hitting_AVG | 0.193 | 0.333 | 0.057 | -0.083 |
| predicted_BB | 0.382 | 0.000 | 0.000 | Hitting_BB | 0.437 | 0.000 | -0.437 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 1.000 | 1.000 | Hitting_H | 0.582 | 1.000 | 0.418 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.339 | 0.250 | 0.250 | Hitting_OBP | 0.299 | 0.333 | -0.049 | -0.083 |
| predicted_R | 0.333 | 1.000 | 1.000 | Hitting_R | 0.370 | 0.000 | 0.630 | 1.000 |
| predicted_RBI | 0.460 | 1.000 | 1.000 | Hitting_RBI | 0.310 | 0.000 | 0.690 | 1.000 |
| predicted_SLG | 0.410 | 0.500 | 0.500 | Hitting_SLG | 0.343 | 0.667 | 0.157 | -0.167 |
| predicted_SO | 0.854 | 2.000 | 2.000 | Hitting_SO | 0.913 | 2.000 | 1.087 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.8050 -> 4.0000 (boost 1.1950, better) |
| Biggest Deboost | predicted_BB: 0.3820 -> 0.0000 (deboost -0.3820, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4100 -> 0.4213 (boost 0.0113, 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.4213 -> 0.3894 (deboost -0.0319, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.6920 -> 1.0000 (boost 0.3080, better) | predicted_RBI: 0.4562 -> 0.0000 (deboost -0.4562, worse) | AB rounded to 3 (raw=2.83), rates preserved: AVG=0.224 HR/AB=0.035 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3785 -> 0.0000 (deboost -0.3785, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 5 | 4 | 1 | 4 | 1 | predicted_RBI: 0.0000 -> 0.3380 (boost 0.3380, better) | predicted_H: 1.0000 -> 0.5867 (deboost -0.4133, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 0 | 8 | 0 | 8 | - | predicted_H: 0.5867 -> 0.0000 (deboost -0.5867, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 6 | 6 | 0 | 5 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "669224",
"player_name": "Austin Wells",
"position": "C",
"team": "NYY",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.073,
"predicted_3B": 0.0,
"predicted_AB": 2.805,
"predicted_AVG": 0.246,
"predicted_BB": 0.382,
"predicted_H": 0.66,
"predicted_HR": 0.09,
"predicted_OBP": 0.339,
"predicted_R": 0.333,
"predicted_RBI": 0.46,
"predicted_SLG": 0.41,
"predicted_SO": 0.854
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1129,
"predicted_3B": 0.0004,
"predicted_AB": 2.826,
"predicted_AVG": 0.2524,
"predicted_BB": 0.4086,
"predicted_H": 0.6965,
"predicted_HBP": 0.016,
"predicted_HR": 0.099,
"predicted_OBP": 0.3416,
"predicted_R": 0.382,
"predicted_RBI": 0.4604,
"predicted_SLG": 0.4213,
"predicted_SO": 0.839
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2524,
"delta": 0.0064,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4213,
"delta": 0.0113,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4213,
"delta": 0.0113,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 123
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1129,
"predicted_3B": 0.0004,
"predicted_AB": 2.826,
"predicted_AVG": 0.2449,
"predicted_BB": 0.4092,
"predicted_H": 0.692,
"predicted_HBP": 0.016,
"predicted_HR": 0.0982,
"predicted_OBP": 0.3404,
"predicted_R": 0.3785,
"predicted_RBI": 0.4562,
"predicted_SLG": 0.3894,
"predicted_SO": 0.8378
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.2524,
"after": 0.2449,
"delta": -0.0075,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4213,
"after": 0.3894,
"delta": -0.0319,
"percent_delta": -0.0757,
"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_SLG",
"before": 0.4213,
"after": 0.3894,
"delta": -0.0319,
"percent_delta": -0.0757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.83), rates preserved: AVG=0.224 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.1129,
"after": 0.0,
"delta": -0.1129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.826,
"after": 3.0,
"delta": 0.174,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4092,
"after": 0.0,
"delta": -0.4092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "better",
"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.4562,
"after": 0.0,
"delta": -0.4562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8378,
"after": 1.0,
"delta": 0.1622,
"percent_delta": 0.1936,
"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.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4562,
"after": 0.0,
"delta": -0.4562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.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": {
"model_expectation": 0.9158,
"bvp": 0.0842
}
},
{
"index": 7,
"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_R",
"before": 0.3785,
"after": 0.0,
"delta": -0.3785,
"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_R",
"before": 0.3785,
"after": 0.0,
"delta": -0.3785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1161,
"predicted_3B": 0.0074,
"predicted_BB": 0.3331,
"predicted_H": 0.5867,
"predicted_HR": 0.1502,
"predicted_RBI": 0.338,
"predicted_SO": 1.0082
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1161,
"delta": 0.1161,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3331,
"delta": 0.3331,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.5867,
"delta": -0.4133,
"percent_delta": -0.4133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1502,
"delta": 0.1502,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.338,
"delta": 0.338,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.338,
"delta": 0.338,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.5867,
"delta": -0.4133,
"percent_delta": -0.4133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.191,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.276,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.38,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1161,
"after": 0.0,
"delta": -0.1161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2449,
"after": 0.191,
"delta": -0.0539,
"percent_delta": -0.2201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3331,
"after": 0.0,
"delta": -0.3331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5867,
"after": 0.0,
"delta": -0.5867,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1502,
"after": 0.0,
"delta": -0.1502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3404,
"after": 0.276,
"delta": -0.0644,
"percent_delta": -0.1892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3894,
"after": 0.38,
"delta": -0.0094,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 0,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5867,
"after": 0.0,
"delta": -0.5867,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player 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.191,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.276,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.38,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 1.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_R": 1.0,
"predicted_RBI": 1.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_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.191,
"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.276,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.38,
"predicted_SO": 2.0,
"predicted_TB": 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
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.073,
"after": 1.0,
"delta": 0.927,
"percent_delta": 12.6986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.805,
"after": 4.0,
"delta": 1.195,
"percent_delta": 0.426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.191,
"delta": -0.055,
"percent_delta": -0.2236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"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.339,
"after": 0.276,
"delta": -0.063,
"percent_delta": -0.1858,
"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.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.38,
"delta": -0.03,
"percent_delta": -0.0732,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.854,
"after": 2.0,
"delta": 1.146,
"percent_delta": 1.3419,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.805,
"after": 4.0,
"delta": 1.195,
"percent_delta": 0.426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.073 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.805 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.382 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 0.854 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.113 | 0.040 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.826 | 0.021 |
| predicted_AVG | 0.252 | 0.006 |
| predicted_BB | 0.409 | 0.027 |
| predicted_H | 0.697 | 0.036 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.099 | 0.009 |
| predicted_OBP | 0.342 | 0.003 |
| predicted_R | 0.382 | 0.049 |
| predicted_RBI | 0.460 | 0.000 |
| predicted_SLG | 0.421 | 0.011 |
| predicted_SO | 0.839 | -0.015 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.113 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.826 | 0.000 |
| predicted_AVG | 0.245 | -0.008 |
| predicted_BB | 0.409 | 0.001 |
| predicted_H | 0.692 | -0.005 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.098 | -0.001 |
| predicted_OBP | 0.340 | -0.001 |
| predicted_R | 0.379 | -0.004 |
| predicted_RBI | 0.456 | -0.004 |
| predicted_SLG | 0.389 | -0.032 |
| predicted_SO | 0.838 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=2.83), rates preserved: AVG=0.224 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=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 | 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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.116 | 0.116 |
| 3B | 0.007 | 0.007 |
| BB | 0.333 | 0.333 |
| H | 0.587 | -0.413 |
| HR | 0.150 | 0.150 |
| RBI | 0.338 | 0.338 |
| SO | 1.008 | 0.008 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.116 |
| 3B | 0.000 | -0.007 |
| AB | 3.000 | 0.000 |
| AVG | 0.191 | - |
| BB | 0.000 | -0.333 |
| H | 0.000 | -0.587 |
| HR | 0.000 | -0.150 |
| OBP | 0.276 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.338 |
| SLG | 0.380 | - |
| SO | 1.000 | -0.008 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.113 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.174 |
| predicted_AVG | 0.191 | -0.054 |
| predicted_BB | 0.000 | -0.409 |
| predicted_H | 0.000 | -0.692 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.276 | -0.064 |
| predicted_R | 0.000 | -0.379 |
| predicted_RBI | 0.000 | -0.456 |
| predicted_SLG | 0.380 | -0.009 |
| predicted_SO | 1.000 | 0.162 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 5.000 | 2.000 | 0.000 | 0.000 | 4.000 | 3.000 | 2.000 | 4.000 | 0.3571 | 0.3889 | 0.5000 | 0.3571 | 0.0000 | 0.2857 | 0.1429 | 0.2857 |
| last_10 | 0.20 | 10 | - | 27.000 | 10.000 | 2.000 | 0.000 | 2.000 | 6.000 | 6.000 | 7.000 | 7.000 | 0.3704 | 0.4722 | 0.6667 | 0.3704 | 0.0741 | 0.2222 | 0.2593 | 0.2593 |
| season | 0.60 | 123 | - | 345.000 | 67.000 | 9.000 | 0.000 | 14.000 | 36.000 | 41.000 | 47.000 | 105.000 | 0.1942 | 0.2932 | 0.3420 | 0.1942 | 0.0406 | 0.1043 | 0.1362 | 0.3044 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1660 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8540 |
| predicted_AVG | 0.2610 |
| predicted_BB | 0.4440 |
| predicted_H | 0.7450 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1110 |
| predicted_OBP | 0.3451 |
| predicted_R | 0.4470 |
| predicted_RBI | 0.4610 |
| predicted_SLG | 0.4363 |
| predicted_SO | 0.8190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0730 | 0.1660 | 0.1129 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.8050 | 2.8540 | 2.8260 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2610 | 0.2524 | model_form_blend |
| predicted_BB | 0.3820 | 0.4440 | 0.4086 | model_form_blend |
| predicted_H | 0.6600 | 0.7450 | 0.6965 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0900 | 0.1110 | 0.0990 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3451 | 0.3416 | model_form_blend |
| predicted_R | 0.3330 | 0.4470 | 0.3820 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4610 | 0.4604 | model_form_blend |
| predicted_SLG | 0.4100 | 0.4363 | 0.4213 | model_form_blend |
| predicted_SO | 0.8540 | 0.8190 | 0.8390 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 378 |
| Season rows before report date | 378 |
| Report year | 2026 |
| Profile rows used | 123 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 669224 |
| playerID | 669224 |
| playerName | Austin Wells |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.281 |
| sl_xwoba | 0.302 |
| sl_xba | 0.211 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 42.7 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 27.9 |
| 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.176 | 0.000 | 0.000 | Hitting_2B | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.235 | 3.000 | 3.000 | Hitting_AB | 3.366 | 3.000 | -0.366 | 0.000 |
| predicted_AVG | 0.245 | 0.333 | 0.333 | Hitting_AVG | 0.264 | 0.333 | 0.069 | 0.000 |
| predicted_BB | 0.368 | 1.000 | 1.000 | Hitting_BB | 0.411 | 0.000 | 0.589 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 0.794 | 1.000 | 1.000 | Hitting_H | 0.888 | 1.000 | 0.112 | 0.000 |
| predicted_HR | 0.029 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.322 | 0.500 | 0.500 | Hitting_OBP | 0.344 | 0.333 | 0.156 | 0.167 |
| predicted_R | 0.353 | 0.000 | 0.000 | Hitting_R | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_RBI | 0.382 | 1.000 | 1.000 | Hitting_RBI | 0.482 | 0.000 | 0.518 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_SLG | 0.336 | 0.333 | 0.333 | Hitting_SLG | 0.373 | 0.333 | -0.039 | 0.000 |
| predicted_SO | 0.824 | 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 | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3680 -> 1.0000 (boost 0.6320, better) |
| Biggest Deboost | predicted_R: 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 | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.2350 -> 3.3153 (boost 0.0803, better) | predicted_OBP: 0.3220 -> 0.3164 (deboost -0.0056, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_AB: 3.3153 -> 4.0000 (boost 0.6847, better) | predicted_RBI: 0.3860 -> 0.0000 (deboost -0.3860, worse) | AB rounded to 4 (raw=3.32), rates preserved: AVG=0.224 HR/AB=0.009 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.000) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3133 -> 0.0000 (deboost -0.3133, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4060 (boost 0.4060, better) | predicted_H: 1.0000 -> 0.7101 (deboost -0.2899, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 9 | 1 | 8 | 2 | 7 | predicted_H: 0.7101 -> 1.0000 (boost 0.2899, better) | predicted_RBI: 0.4060 -> 0.0000 (deboost -0.4060, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 3 | 2 | 1 | 2 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "683011",
"player_name": "Anthony Volpe",
"position": "2B",
"team": "NYY",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.015,
"predicted_AB": 3.235,
"predicted_AVG": 0.245,
"predicted_BB": 0.368,
"predicted_H": 0.794,
"predicted_HR": 0.029,
"predicted_OBP": 0.322,
"predicted_R": 0.353,
"predicted_RBI": 0.382,
"predicted_SLG": 0.336,
"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
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1869,
"predicted_3B": 0.0129,
"predicted_AB": 3.3153,
"predicted_AVG": 0.2459,
"predicted_BB": 0.3404,
"predicted_H": 0.8162,
"predicted_HBP": 0.003,
"predicted_HR": 0.0294,
"predicted_OBP": 0.3164,
"predicted_R": 0.3162,
"predicted_RBI": 0.3895,
"predicted_SLG": 0.3367,
"predicted_SO": 0.8817
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.235,
"after": 3.3153,
"delta": 0.0803,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3164,
"delta": -0.0056,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.8817,
"delta": 0.0577,
"percent_delta": 0.07,
"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.235,
"after": 3.3153,
"delta": 0.0803,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3164,
"delta": -0.0056,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1869,
"predicted_3B": 0.0129,
"predicted_AB": 3.3153,
"predicted_AVG": 0.2446,
"predicted_BB": 0.3409,
"predicted_H": 0.811,
"predicted_HBP": 0.003,
"predicted_HR": 0.0292,
"predicted_OBP": 0.315,
"predicted_R": 0.3133,
"predicted_RBI": 0.386,
"predicted_SLG": 0.3352,
"predicted_SO": 0.8805
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.32), rates preserved: AVG=0.224 HR/AB=0.009",
"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.1869,
"after": 0.0,
"delta": -0.1869,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3153,
"after": 4.0,
"delta": 0.6847,
"percent_delta": 0.2065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3409,
"after": 0.0,
"delta": -0.3409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.811,
"after": 1.0,
"delta": 0.189,
"percent_delta": 0.233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8805,
"after": 1.0,
"delta": 0.1195,
"percent_delta": 0.1357,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.3153,
"after": 4.0,
"delta": 0.6847,
"percent_delta": 0.2065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, 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": [],
"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
}
},
{
"index": 7,
"step": "consistency_constraints",
"description": "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_R",
"before": 0.3133,
"after": 0.0,
"delta": -0.3133,
"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_R",
"before": 0.3133,
"after": 0.0,
"delta": -0.3133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.0118,
"predicted_BB": 0.3113,
"predicted_H": 0.7101,
"predicted_HR": 0.0823,
"predicted_RBI": 0.406,
"predicted_SO": 1.183
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.147,
"delta": 0.147,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.3113,
"delta": 0.3113,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7101,
"delta": -0.2899,
"percent_delta": -0.2899,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0823,
"delta": 0.0823,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.406,
"delta": 0.406,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.183,
"delta": 0.183,
"percent_delta": 0.183,
"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_RBI",
"before": 0.0,
"after": 0.406,
"delta": 0.406,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.7101,
"delta": -0.2899,
"percent_delta": -0.2899,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.203,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.273,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.322,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.203,
"delta": -0.0416,
"percent_delta": -0.1701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3113,
"after": 0.0,
"delta": -0.3113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7101,
"after": 1.0,
"delta": 0.2899,
"percent_delta": 0.4083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_OBP",
"before": 0.315,
"after": 0.273,
"delta": -0.042,
"percent_delta": -0.1333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3352,
"after": 0.322,
"delta": -0.0132,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.183,
"after": 1.0,
"delta": -0.183,
"percent_delta": -0.1547,
"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.7101,
"after": 1.0,
"delta": 0.2899,
"percent_delta": 0.4083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.203,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.273,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.322,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"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_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.203,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.273,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.322,
"predicted_SO": 1.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 3.235,
"after": 3.0,
"delta": -0.235,
"percent_delta": -0.0726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.203,
"delta": -0.042,
"percent_delta": -0.1714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 1.0,
"delta": 0.632,
"percent_delta": 1.7174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.794,
"after": 1.0,
"delta": 0.206,
"percent_delta": 0.2594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.273,
"delta": -0.049,
"percent_delta": -0.1522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.382,
"after": 1.0,
"delta": 0.618,
"percent_delta": 1.6178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.322,
"delta": -0.014,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 1.0,
"delta": 0.176,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"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_R",
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.235 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 0.794 | - |
| predicted_HR | 0.029 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.353 | - |
| predicted_RBI | 0.382 | - |
| predicted_SLG | 0.336 | - |
| 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.187 | 0.011 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.315 | 0.080 |
| predicted_AVG | 0.246 | 0.001 |
| predicted_BB | 0.340 | -0.028 |
| predicted_H | 0.816 | 0.022 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.029 | 0.000 |
| predicted_OBP | 0.316 | -0.006 |
| predicted_R | 0.316 | -0.037 |
| predicted_RBI | 0.390 | 0.008 |
| predicted_SLG | 0.337 | 0.001 |
| predicted_SO | 0.882 | 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.187 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.315 | 0.000 |
| predicted_AVG | 0.245 | -0.001 |
| predicted_BB | 0.341 | 0.001 |
| predicted_H | 0.811 | -0.005 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.029 | -0.000 |
| predicted_OBP | 0.315 | -0.001 |
| predicted_R | 0.313 | -0.003 |
| predicted_RBI | 0.386 | -0.004 |
| predicted_SLG | 0.335 | -0.002 |
| predicted_SO | 0.880 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.32), rates preserved: AVG=0.224 HR/AB=0.009
| 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.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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.147 | 0.147 |
| 3B | 0.012 | 0.012 |
| BB | 0.311 | 0.311 |
| H | 0.710 | -0.290 |
| HR | 0.082 | 0.082 |
| RBI | 0.406 | 0.406 |
| SO | 1.183 | 0.183 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.147 |
| 3B | 0.000 | -0.012 |
| AB | 4.000 | 0.000 |
| AVG | 0.203 | - |
| BB | 0.000 | -0.311 |
| H | 1.000 | 0.290 |
| HR | 0.000 | -0.082 |
| OBP | 0.273 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.406 |
| SLG | 0.322 | - |
| SO | 1.000 | -0.183 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.187 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.685 |
| predicted_AVG | 0.203 | -0.042 |
| predicted_BB | 0.000 | -0.341 |
| predicted_H | 1.000 | 0.189 |
| predicted_HR | 0.000 | -0.029 |
| predicted_OBP | 0.273 | -0.042 |
| predicted_R | 0.000 | -0.313 |
| predicted_RBI | 0.000 | -0.386 |
| predicted_SLG | 0.322 | -0.013 |
| predicted_SO | 1.000 | 0.120 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| 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 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 7.000 | 0.2353 | 0.2778 | 0.2941 | 0.2353 | 0.0000 | 0.1177 | 0.0588 | 0.4118 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 3.000 | 0.000 | 0.000 | 4.000 | 1.000 | 2.000 | 10.000 | 0.2632 | 0.3000 | 0.3421 | 0.2632 | 0.0000 | 0.1053 | 0.0526 | 0.2632 |
| season | 0.60 | 68 | - | 220.000 | 54.000 | 12.000 | 1.000 | 2.000 | 26.000 | 24.000 | 25.000 | 56.000 | 0.2455 | 0.3224 | 0.3364 | 0.2455 | 0.0091 | 0.1182 | 0.1136 | 0.2545 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2020 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.4270 |
| predicted_AVG | 0.2471 |
| predicted_BB | 0.3020 |
| predicted_H | 0.8470 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0300 |
| predicted_OBP | 0.3086 |
| predicted_R | 0.2650 |
| predicted_RBI | 0.4000 |
| predicted_SLG | 0.3376 |
| predicted_SO | 0.9620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.2020 | 0.1869 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 3.2350 | 3.4270 | 3.3153 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2471 | 0.2459 | model_form_blend |
| predicted_BB | 0.3680 | 0.3020 | 0.3404 | model_form_blend |
| predicted_H | 0.7940 | 0.8470 | 0.8162 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0290 | 0.0300 | 0.0294 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3086 | 0.3164 | model_form_blend |
| predicted_R | 0.3530 | 0.2650 | 0.3162 | model_form_blend |
| predicted_RBI | 0.3820 | 0.4000 | 0.3895 | model_form_blend |
| predicted_SLG | 0.3360 | 0.3376 | 0.3367 | model_form_blend |
| predicted_SO | 0.8240 | 0.9620 | 0.8817 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 224 |
| Season rows before report date | 224 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260929_BOS@NYY |
| game_type | full |
| mlbID | 683011 |
| playerID | 683011 |
| playerName | Anthony Volpe |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-09-29 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.297 |
| sl_xwoba | 0.291 |
| sl_xba | 0.232 |
| sl_xslg | 0.334 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 37.0 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 25.2 |
| 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.151 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 3.174 | 4.000 | 4.000 | Hitting_AB | 3.288 | 4.000 | 0.712 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.000 | Hitting_AVG | 0.256 | 0.000 | -0.256 | 0.000 |
| predicted_BB | 0.291 | 0.000 | 0.000 | Hitting_BB | 0.351 | 0.000 | -0.351 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.756 | 0.000 | 0.000 | Hitting_H | 0.841 | 0.000 | -0.841 | 0.000 |
| predicted_HR | 0.128 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.302 | 0.000 | 0.000 | Hitting_OBP | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_R | 0.453 | 0.000 | 0.000 | Hitting_R | 0.472 | 0.000 | -0.472 | 0.000 |
| predicted_RBI | 0.465 | 0.000 | 0.000 | Hitting_RBI | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_SLG | 0.414 | 0.000 | 0.000 | Hitting_SLG | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_SO | 1.291 | 2.000 | 2.000 | Hitting_SO | 1.336 | 1.000 | 0.664 | 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.1740 -> 4.0000 (boost 0.8260, better) |
| Biggest Deboost | predicted_H: 0.7560 -> 0.0000 (deboost -0.7560, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1740 -> 3.2947 (boost 0.1207, better) | predicted_SLG: 0.4140 -> 0.3844 (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 | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.2947 -> 4.0000 (boost 0.7053, better) | predicted_RBI: 0.4260 -> 0.0000 (deboost -0.4260, worse) | AB rounded to 4 (raw=3.29), rates preserved: AVG=0.207 HR/AB=0.035 |
| 6 | 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 |
| 7 | hitter_rate_engine | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 0.0000 -> 0.4894 (boost 0.4894, better) | predicted_SO: 2.0000 -> 1.6077 (deboost -0.3923, better) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 8 | lineup_integer_allocation | 10 | 4 | 6 | 3 | 7 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 0.4894 -> 0.0000 (deboost -0.4894, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 9 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 10 | play_by_play_realization | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 11 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 12 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 13 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "682987",
"player_name": "Spencer Jones",
"position": "RF",
"team": "NYY",
"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.012,
"predicted_AB": 3.174,
"predicted_AVG": 0.238,
"predicted_BB": 0.291,
"predicted_H": 0.756,
"predicted_HR": 0.128,
"predicted_OBP": 0.302,
"predicted_R": 0.453,
"predicted_RBI": 0.465,
"predicted_SLG": 0.414,
"predicted_SO": 1.291
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1383,
"predicted_3B": 0.0103,
"predicted_AB": 3.2947,
"predicted_AVG": 0.2281,
"predicted_BB": 0.2783,
"predicted_H": 0.7501,
"predicted_HBP": 0.01,
"predicted_HR": 0.1174,
"predicted_OBP": 0.2887,
"predicted_R": 0.4979,
"predicted_RBI": 0.4299,
"predicted_SLG": 0.3844,
"predicted_SO": 1.3372
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.174,
"after": 3.2947,
"delta": 0.1207,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2281,
"delta": -0.0099,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2887,
"delta": -0.0133,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.3844,
"delta": -0.0296,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.174,
"after": 3.2947,
"delta": 0.1207,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.3844,
"delta": -0.0296,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 86
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1383,
"predicted_3B": 0.0103,
"predicted_AB": 3.2947,
"predicted_AVG": 0.2262,
"predicted_BB": 0.2787,
"predicted_H": 0.7453,
"predicted_HBP": 0.01,
"predicted_HR": 0.1164,
"predicted_OBP": 0.2866,
"predicted_R": 0.4934,
"predicted_RBI": 0.426,
"predicted_SLG": 0.3805,
"predicted_SO": 1.3353
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.29), rates preserved: AVG=0.207 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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1383,
"after": 0.0,
"delta": -0.1383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.2947,
"after": 4.0,
"delta": 0.7053,
"percent_delta": 0.2141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2787,
"after": 0.0,
"delta": -0.2787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7453,
"after": 1.0,
"delta": 0.2547,
"percent_delta": 0.3417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1164,
"after": 0.0,
"delta": -0.1164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3353,
"after": 2.0,
"delta": 0.6647,
"percent_delta": 0.4978,
"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.2947,
"after": 4.0,
"delta": 0.7053,
"percent_delta": 0.2141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_R",
"before": 0.4934,
"after": 0.0,
"delta": -0.4934,
"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_R",
"before": 0.4934,
"after": 0.0,
"delta": -0.4934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 7,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1633,
"predicted_3B": 0.0126,
"predicted_BB": 0.2924,
"predicted_H": 0.7605,
"predicted_HR": 0.1561,
"predicted_RBI": 0.4894,
"predicted_SO": 1.6077
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1633,
"delta": 0.1633,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2924,
"delta": 0.2924,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.7605,
"delta": -0.2395,
"percent_delta": -0.2395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1561,
"delta": 0.1561,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.4894,
"delta": 0.4894,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.6077,
"delta": -0.3923,
"percent_delta": -0.1962,
"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_RBI",
"before": 0.0,
"after": 0.4894,
"delta": 0.4894,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.6077,
"delta": -0.3923,
"percent_delta": -0.1962,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.215,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.281,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.402,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1633,
"after": 0.0,
"delta": -0.1633,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2262,
"after": 0.215,
"delta": -0.0112,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2924,
"after": 0.0,
"delta": -0.2924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7605,
"after": 1.0,
"delta": 0.2395,
"percent_delta": 0.3149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1561,
"after": 0.0,
"delta": -0.1561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2866,
"after": 0.281,
"delta": -0.0056,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4894,
"after": 0.0,
"delta": -0.4894,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3805,
"after": 0.402,
"delta": 0.0215,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6077,
"after": 2.0,
"delta": 0.3923,
"percent_delta": 0.244,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4894,
"after": 0.0,
"delta": -0.4894,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.215,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.281,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.402,
"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
}
},
{
"index": 10,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"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_R",
"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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 11,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 12,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 13,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.215,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.281,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.402,
"predicted_SO": 2.0,
"predicted_TB": 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
}
}
],
"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_AB",
"before": 3.174,
"after": 4.0,
"delta": 0.826,
"percent_delta": 0.2602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.215,
"delta": -0.023,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.291,
"after": 0.0,
"delta": -0.291,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.756,
"after": 0.0,
"delta": -0.756,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.281,
"delta": -0.021,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 0.0,
"delta": -0.453,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.402,
"delta": -0.012,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.291,
"after": 2.0,
"delta": 0.709,
"percent_delta": 0.5492,
"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.174,
"after": 4.0,
"delta": 0.826,
"percent_delta": 0.2602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.756,
"after": 0.0,
"delta": -0.756,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.012 | - |
| predicted_AB | 3.174 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.291 | - |
| predicted_H | 0.756 | - |
| predicted_HR | 0.128 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.453 | - |
| predicted_RBI | 0.465 | - |
| predicted_SLG | 0.414 | - |
| predicted_SO | 1.291 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.138 | -0.013 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.295 | 0.121 |
| predicted_AVG | 0.228 | -0.010 |
| predicted_BB | 0.278 | -0.013 |
| predicted_H | 0.750 | -0.006 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.117 | -0.011 |
| predicted_OBP | 0.289 | -0.013 |
| predicted_R | 0.498 | 0.045 |
| predicted_RBI | 0.430 | -0.035 |
| predicted_SLG | 0.384 | -0.030 |
| predicted_SO | 1.337 | 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.138 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.295 | 0.000 |
| predicted_AVG | 0.226 | -0.002 |
| predicted_BB | 0.279 | 0.000 |
| predicted_H | 0.745 | -0.005 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.116 | -0.001 |
| predicted_OBP | 0.287 | -0.002 |
| predicted_R | 0.493 | -0.005 |
| predicted_RBI | 0.426 | -0.004 |
| predicted_SLG | 0.381 | -0.004 |
| predicted_SO | 1.335 | -0.002 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 4 (raw=3.29), rates preserved: AVG=0.207 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 | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 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 | 2.000 | 0.000 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.163 | 0.163 |
| 3B | 0.013 | 0.013 |
| BB | 0.292 | 0.292 |
| H | 0.760 | -0.240 |
| HR | 0.156 | 0.156 |
| RBI | 0.489 | 0.489 |
| SO | 1.608 | -0.392 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.163 |
| 3B | 0.000 | -0.013 |
| AB | 4.000 | 0.000 |
| AVG | 0.215 | - |
| BB | 0.000 | -0.292 |
| H | 1.000 | 0.240 |
| HR | 0.000 | -0.156 |
| OBP | 0.281 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -0.489 |
| SLG | 0.402 | - |
| SO | 2.000 | 0.392 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.138 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.705 |
| predicted_AVG | 0.215 | -0.011 |
| predicted_BB | 0.000 | -0.279 |
| predicted_H | 1.000 | 0.255 |
| predicted_HR | 0.000 | -0.116 |
| predicted_OBP | 0.281 | -0.006 |
| predicted_R | 1.000 | 0.507 |
| predicted_RBI | 0.000 | -0.426 |
| predicted_SLG | 0.402 | 0.022 |
| predicted_SO | 2.000 | 0.665 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 9.000 | 0.1579 | 0.2000 | 0.1579 | 0.1579 | 0.0000 | 0.0526 | 0.0526 | 0.4737 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 1.000 | 0.000 | 1.000 | 2.000 | 7.000 | 2.000 | 16.000 | 0.1842 | 0.2250 | 0.2895 | 0.1842 | 0.0263 | 0.0526 | 0.0526 | 0.4210 |
| season | 0.60 | 86 | - | 273.000 | 65.000 | 13.000 | 1.000 | 11.000 | 40.000 | 39.000 | 25.000 | 111.000 | 0.2381 | 0.3033 | 0.4139 | 0.2381 | 0.0403 | 0.1465 | 0.0916 | 0.4066 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4590 |
| predicted_AVG | 0.2146 |
| predicted_BB | 0.2610 |
| predicted_H | 0.7420 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.2705 |
| predicted_R | 0.5590 |
| predicted_RBI | 0.3820 |
| predicted_SLG | 0.3441 |
| predicted_SO | 1.4000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.1210 | 0.1383 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.1740 | 3.4590 | 3.2947 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2146 | 0.2281 | model_form_blend |
| predicted_BB | 0.2910 | 0.2610 | 0.2783 | model_form_blend |
| predicted_H | 0.7560 | 0.7420 | 0.7501 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1280 | 0.1030 | 0.1174 | model_form_blend |
| predicted_OBP | 0.3020 | 0.2705 | 0.2887 | model_form_blend |
| predicted_R | 0.4530 | 0.5590 | 0.4979 | model_form_blend |
| predicted_RBI | 0.4650 | 0.3820 | 0.4299 | model_form_blend |
| predicted_SLG | 0.4140 | 0.3441 | 0.3844 | model_form_blend |
| predicted_SO | 1.2910 | 1.4000 | 1.3372 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 271 |
| Season rows before report date | 271 |
| Report year | 2026 |
| Profile rows used | 86 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20261005_NYY@TB |
| game_type | full |
| mlbID | 682987 |
| playerID | 682987 |
| playerName | Spencer Jones |
| pos | CF |
| started | True |
| startingPosition | RF |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 36.3 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.323 |
| sl_xwoba | 0.328 |
| sl_xba | 0.238 |
| sl_xslg | 0.455 |
| sl_sweet_spot_percent | 43.9 |
| sl_barrel_batted_rate | 15.9 |
| sl_hard_hit_percent | 55.1 |
| sl_exit_velocity_avg | 94.1 |
| sl_launch_angle_avg | 20.6 |
| sl_whiff_percent | 38.7 |
| sl_swing_percent | 53.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.097 | 0.000 | 0.000 | Hitting_2B | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.298 | 4.000 | 4.000 | Hitting_AB | 3.376 | 0.000 | 0.624 | 4.000 |
| predicted_AVG | 0.230 | 0.000 | 0.000 | Hitting_AVG | 0.246 | - | -0.246 | - |
| predicted_BB | 0.234 | 0.000 | 0.000 | Hitting_BB | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_H | 0.758 | 0.000 | 0.000 | Hitting_H | 0.831 | 0.000 | -0.831 | 0.000 |
| predicted_HR | 0.113 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.281 | 0.000 | 0.000 | Hitting_OBP | 0.302 | - | -0.302 | - |
| predicted_R | 0.387 | 0.000 | 0.000 | Hitting_R | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_RBI | 0.403 | 0.000 | 0.000 | Hitting_RBI | 0.463 | 0.000 | -0.463 | 0.000 |
| predicted_SLG | 0.362 | 0.000 | 0.000 | Hitting_SLG | 0.394 | - | -0.394 | - |
| predicted_SO | 0.895 | 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 | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.2980 -> 4.0000 (boost 0.7020, better) |
| Biggest Deboost | predicted_H: 0.7580 -> 0.0000 (deboost -0.7580, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.8950 -> 0.9455 (boost 0.0505, worse) | predicted_H: 0.7580 -> 0.7032 (deboost -0.0548, worse) | Final model input calibrated with local 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 | matchup_context | 0 | 0 | 0 | 0 | 0 | - | - | Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied |
| 5 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.6987 -> 1.0000 (boost 0.3013, better) | predicted_RBI: 0.3596 -> 0.0000 (deboost -0.3596, worse) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.194 HR/AB=0.031 |
| 6 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 7 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3638 -> 0.0000 (deboost -0.3638, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 8 | hitter_rate_engine | 6 | 5 | 1 | 4 | 2 | predicted_RBI: 0.0000 -> 0.4220 (boost 0.4220, better) | predicted_H: 1.0000 -> 0.6874 (deboost -0.3126, worse) | Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context |
| 9 | lineup_integer_allocation | 8 | 1 | 7 | 2 | 6 | predicted_SLG: 0.3304 -> 0.3670 (boost 0.0366, better) | predicted_H: 0.6874 -> 0.0000 (deboost -0.6874, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 10 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 11 | play_by_play_realization | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score |
| 12 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; lineup line unchanged |
| 13 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 14 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "batter",
"player_id": "676609",
"player_name": "José Caballero",
"position": "3B",
"team": "NYY",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.097,
"predicted_3B": 0.0,
"predicted_AB": 3.298,
"predicted_AVG": 0.23,
"predicted_BB": 0.234,
"predicted_H": 0.758,
"predicted_HR": 0.113,
"predicted_OBP": 0.281,
"predicted_R": 0.387,
"predicted_RBI": 0.403,
"predicted_SLG": 0.362,
"predicted_SO": 0.895
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0828,
"predicted_3B": 0.0004,
"predicted_AB": 3.2958,
"predicted_AVG": 0.2135,
"predicted_BB": 0.2625,
"predicted_H": 0.7032,
"predicted_HBP": 0.029,
"predicted_HR": 0.1031,
"predicted_OBP": 0.2738,
"predicted_R": 0.3671,
"predicted_RBI": 0.3629,
"predicted_SLG": 0.3324,
"predicted_SO": 0.9455
},
"changed_metrics": [
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2135,
"delta": -0.0165,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.758,
"after": 0.7032,
"delta": -0.0548,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2738,
"delta": -0.0072,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3324,
"delta": -0.0296,
"percent_delta": -0.0818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 0.9455,
"delta": 0.0505,
"percent_delta": 0.0564,
"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.895,
"after": 0.9455,
"delta": 0.0505,
"percent_delta": 0.0564,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.758,
"after": 0.7032,
"delta": -0.0548,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 124
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0828,
"predicted_3B": 0.0004,
"predicted_AB": 3.2958,
"predicted_AVG": 0.212,
"predicted_BB": 0.2629,
"predicted_H": 0.6987,
"predicted_HBP": 0.029,
"predicted_HR": 0.1023,
"predicted_OBP": 0.2702,
"predicted_R": 0.3638,
"predicted_RBI": 0.3596,
"predicted_SLG": 0.3304,
"predicted_SO": 0.9442
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "matchup_context",
"description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.30), rates preserved: AVG=0.194 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0828,
"after": 0.0,
"delta": -0.0828,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.2958,
"after": 3.0,
"delta": -0.2958,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2629,
"after": 0.0,
"delta": -0.2629,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6987,
"after": 1.0,
"delta": 0.3013,
"percent_delta": 0.4312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1023,
"after": 0.0,
"delta": -0.1023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3596,
"after": 0.0,
"delta": -0.3596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9442,
"after": 1.0,
"delta": 0.0558,
"percent_delta": 0.0591,
"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.6987,
"after": 1.0,
"delta": 0.3013,
"percent_delta": 0.4312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3596,
"after": 0.0,
"delta": -0.3596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 6,
"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": [],
"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
}
},
{
"index": 7,
"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_R",
"before": 0.3638,
"after": 0.0,
"delta": -0.3638,
"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_R",
"before": 0.3638,
"after": 0.0,
"delta": -0.3638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "hitter_rate_engine",
"description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
"stats": {
"predicted_2B": 0.1213,
"predicted_3B": 0.0075,
"predicted_BB": 0.2081,
"predicted_H": 0.6874,
"predicted_HR": 0.1246,
"predicted_RBI": 0.422,
"predicted_SO": 1.093
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.1213,
"delta": 0.1213,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.2081,
"delta": 0.2081,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.6874,
"delta": -0.3126,
"percent_delta": -0.3126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.1246,
"delta": 0.1246,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.422,
"delta": 0.422,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.093,
"delta": 0.093,
"percent_delta": 0.093,
"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_RBI",
"before": 0.0,
"after": 0.422,
"delta": 0.422,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.6874,
"delta": -0.3126,
"percent_delta": -0.3126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.264,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.367,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1213,
"after": 0.0,
"delta": -0.1213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2081,
"after": 0.0,
"delta": -0.2081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6874,
"after": 0.0,
"delta": -0.6874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1246,
"after": 0.0,
"delta": -0.1246,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2702,
"after": 0.264,
"delta": -0.0062,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3304,
"after": 0.367,
"delta": 0.0366,
"percent_delta": 0.1108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.093,
"after": 1.0,
"delta": -0.093,
"percent_delta": -0.0851,
"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_SLG",
"before": 0.3304,
"after": 0.367,
"delta": 0.0366,
"percent_delta": 0.1108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.6874,
"after": 0.0,
"delta": -0.6874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.264,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.367,
"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
}
},
{
"index": 11,
"step": "play_by_play_realization",
"description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"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_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
}
},
{
"index": 12,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; lineup line unchanged",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 13,
"step": "simulation_box_score_reference",
"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_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SF": 0.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
},
"reference_only": true
},
{
"index": 14,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.21,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.264,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.367,
"predicted_SO": 1.0,
"predicted_TB": 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
}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.0,
"delta": -0.097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.298,
"after": 4.0,
"delta": 0.702,
"percent_delta": 0.2129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.21,
"delta": -0.02,
"percent_delta": -0.087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 0.0,
"delta": -0.234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.758,
"after": 0.0,
"delta": -0.758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.264,
"delta": -0.017,
"percent_delta": -0.0605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.367,
"delta": 0.005,
"percent_delta": 0.0138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 1.0,
"delta": 0.105,
"percent_delta": 0.1173,
"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.298,
"after": 4.0,
"delta": 0.702,
"percent_delta": 0.2129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.758,
"after": 0.0,
"delta": -0.758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.097 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.298 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.234 | - |
| predicted_H | 0.758 | - |
| predicted_HR | 0.113 | - |
| predicted_OBP | 0.281 | - |
| predicted_R | 0.387 | - |
| predicted_RBI | 0.403 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.895 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.083 | -0.014 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.296 | -0.002 |
| predicted_AVG | 0.213 | -0.017 |
| predicted_BB | 0.263 | 0.028 |
| predicted_H | 0.703 | -0.055 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.103 | -0.010 |
| predicted_OBP | 0.274 | -0.007 |
| predicted_R | 0.367 | -0.020 |
| predicted_RBI | 0.363 | -0.040 |
| predicted_SLG | 0.332 | -0.030 |
| predicted_SO | 0.946 | 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.083 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.296 | 0.000 |
| predicted_AVG | 0.212 | -0.002 |
| predicted_BB | 0.263 | 0.000 |
| predicted_H | 0.699 | -0.005 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.102 | -0.001 |
| predicted_OBP | 0.270 | -0.004 |
| predicted_R | 0.364 | -0.003 |
| predicted_RBI | 0.360 | -0.003 |
| predicted_SLG | 0.330 | -0.002 |
| predicted_SO | 0.944 | -0.001 |
Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
| Metric | Value | Delta vs Prev Step |
|---|
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.194 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 |
Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.121 | 0.121 |
| 3B | 0.007 | 0.007 |
| BB | 0.208 | 0.208 |
| H | 0.687 | -0.313 |
| HR | 0.125 | 0.125 |
| RBI | 0.422 | 0.422 |
| SO | 1.093 | 0.093 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -0.121 |
| 3B | 0.000 | -0.007 |
| AB | 3.000 | 0.000 |
| AVG | 0.210 | - |
| BB | 0.000 | -0.208 |
| H | 0.000 | -0.687 |
| HR | 0.000 | -0.125 |
| OBP | 0.264 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -0.422 |
| SLG | 0.367 | - |
| SO | 1.000 | -0.093 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.083 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.296 |
| predicted_AVG | 0.210 | -0.002 |
| predicted_BB | 0.000 | -0.263 |
| predicted_H | 0.000 | -0.699 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.264 | -0.006 |
| predicted_R | 0.000 | -0.364 |
| predicted_RBI | 0.000 | -0.360 |
| predicted_SLG | 0.367 | 0.037 |
| predicted_SO | 1.000 | 0.056 |
Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
KPI blend withheld: values_fresh; lineup line unchanged
| Metric | Value | Delta vs Prev Step |
|---|
Attached 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 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 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 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 7.000 | 0.0625 | 0.1667 | 0.0625 | 0.0625 | 0.0000 | 0.0000 | 0.1250 | 0.4375 |
| last_10 | 0.20 | 10 | - | 32.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 4.000 | 10.000 | 0.1875 | 0.2778 | 0.2812 | 0.1875 | 0.0312 | 0.0938 | 0.1250 | 0.3125 |
| season | 0.60 | 124 | - | 409.000 | 94.000 | 12.000 | 0.000 | 14.000 | 50.000 | 48.000 | 29.000 | 111.000 | 0.2298 | 0.2879 | 0.3619 | 0.2298 | 0.0342 | 0.1222 | 0.0709 | 0.2714 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0640 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2930 |
| predicted_AVG | 0.1917 |
| predicted_BB | 0.3000 |
| predicted_H | 0.6310 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.2644 |
| predicted_R | 0.3410 |
| predicted_RBI | 0.3100 |
| predicted_SLG | 0.2935 |
| predicted_SO | 1.0120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0970 | 0.0640 | 0.0828 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2980 | 3.2930 | 3.2958 | model_form_blend |
| predicted_AVG | 0.2300 | 0.1917 | 0.2135 | model_form_blend |
| predicted_BB | 0.2340 | 0.3000 | 0.2625 | model_form_blend |
| predicted_H | 0.7580 | 0.6310 | 0.7032 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.1130 | 0.0900 | 0.1031 | model_form_blend |
| predicted_OBP | 0.2810 | 0.2644 | 0.2738 | model_form_blend |
| predicted_R | 0.3870 | 0.3410 | 0.3671 | model_form_blend |
| predicted_RBI | 0.4030 | 0.3100 | 0.3629 | model_form_blend |
| predicted_SLG | 0.3620 | 0.2935 | 0.3324 | model_form_blend |
| predicted_SO | 0.8950 | 1.0120 | 0.9455 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 449 |
| Season rows before report date | 449 |
| Report year | 2026 |
| Profile rows used | 124 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 3B |
| gameID | 20261005_NYY@TB |
| game_type | short |
| mlbID | 676609 |
| playerID | 676609 |
| playerName | José Caballero |
| pos | SS |
| started | False |
| startingPosition | 3B |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.29 |
| sl_xwoba | 0.278 |
| sl_xba | 0.227 |
| sl_xslg | 0.333 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 25.6 |
| sl_exit_velocity_avg | 83.8 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 27.9 |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 2.375 | 0.000 | -1.375 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.562 | 0.000 | 0.438 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 3.188 | 3.000 | 1.812 | 2.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.169 | 8.000 | -0.069 | -2.900 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.688 | 8.000 | -1.688 | -4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 5 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 3 |
| Better Metrics | 1 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 4.0000 -> 5.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_SO: 7.0000 -> 4.0000 (deboost -3.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 8 | play_by_play_realization | 5 | 2 | 3 | 1 | 4 | predicted_H: 4.0000 -> 5.0000 (boost 1.0000, worse) | predicted_SO: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "607074",
"player_name": "Carlos Rodón",
"position": "Starter",
"team": "NYY",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 8,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 5.1,
"delta": -0.9,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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
}
}
},
{
"index": 9,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 5.1,
"delta": -0.9,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 7.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 0.000 |
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 1.000 | - |
| BF | 23.000 | - |
| ER | 2.000 | - |
| H | 5.000 | - |
| HR | 1.000 | - |
| IP | 5.100 | - |
| Pitches | 87.000 | - |
| R | 3.000 | - |
| 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 | 30.000 | 6.000 | 15.000 | 8.000 | 33.000 | 3.000 | 1.8000 | 0.7667 | 0.2000 | 0.5000 | 0.2667 | 1.1000 | 0.1000 |
| last_10 | 0.35 | 10 | 53.100 | 14.000 | 33.000 | 19.000 | 57.000 | 5.000 | 2.3625 | 0.9750 | 0.2625 | 0.6188 | 0.3563 | 1.0688 | 0.0938 |
| season | 0.20 | 16 | 84.100 | 25.000 | 51.000 | 38.000 | 91.000 | 7.000 | 2.6680 | 1.0553 | 0.2964 | 0.6047 | 0.4506 | 1.0791 | 0.0830 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9770 |
| predicted_ER | 1.7510 |
| predicted_ERA | 2.7548 |
| predicted_H | 3.7940 |
| predicted_HR | 0.6130 |
| predicted_IP | 5.2000 |
| predicted_SO | 6.0010 |
| predicted_WHIP | 1.0088 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.9770 | 1.9874 | model_form_blend |
| predicted_ER | 2.0000 | 1.7510 | 1.8632 | model_form_blend |
| predicted_ERA | - | 2.7548 | 2.7548 | form_only |
| predicted_H | 4.0000 | 3.7940 | 3.8868 | model_form_blend |
| predicted_HR | 0.0000 | 0.6130 | 0.3368 | model_form_blend |
| predicted_IP | 6.0000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 7.0000 | 6.0010 | 6.4511 | model_form_blend |
| predicted_WHIP | - | 1.0088 | 1.0088 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5 |
| R | 3 |
| ER | 2 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 23 |
| Pitches | 87 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.67 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 7 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 8.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 0 |
| Pitching_SO | 8 |
| Pitching_Strikes | 65 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260922_TB@NYY |
| game_type | full |
| mlbID | 607074 |
| playerID | 607074 |
| playerName | Carlos Rodón |
| pos | P |
| started | True |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-09-22 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.254 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 38.3 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 48.0 |
| sl_avg_best_speed | 80.209887087 |
| sl_avg_hyper_speed | 94.09593561 |
| 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.444 | 1.000 | -1.444 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.037 | 0.000 | -1.037 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 4.815 | 0.000 | -3.815 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 4.941 | 0.200 | -3.941 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 5.296 | 0.000 | -4.296 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| 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_H: 3.0000 -> 1.0000 (deboost -2.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 2 | 0 | 2 | 2 | 0 | - | predicted_H: 3.0000 -> 1.0000 (deboost -2.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "677960",
"player_name": "Ryan Weathers",
"position": "Middle Reliever",
"team": "NYY",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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": 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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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 | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 4.000 | - |
| ER | 1.000 | - |
| H | 1.000 | - |
| HR | 1.000 | - |
| IP | 1.000 | - |
| Pitches | 18.000 | - |
| R | 1.000 | - |
| 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 | 18.000 | 4.000 | 16.000 | 5.000 | 11.000 | 1.000 | 2.0000 | 1.1667 | 0.2222 | 0.8889 | 0.2778 | 0.6111 | 0.0556 |
| last_10 | 0.35 | 10 | 46.200 | 11.000 | 42.000 | 12.000 | 39.000 | 2.000 | 2.1214 | 1.1571 | 0.2357 | 0.9000 | 0.2571 | 0.8357 | 0.0429 |
| season | 0.20 | 27 | 139.000 | 55.000 | 130.000 | 39.000 | 143.000 | 18.000 | 3.5612 | 1.2158 | 0.3957 | 0.9353 | 0.2806 | 1.0288 | 0.1295 |
| Metric | Value |
|---|---|
| predicted_BB | 1.0870 |
| predicted_ER | 1.1350 |
| predicted_ERA | 2.7093 |
| predicted_H | 3.4500 |
| predicted_HR | 0.2970 |
| predicted_IP | 3.2000 |
| predicted_SO | 3.0100 |
| predicted_WHIP | 1.2032 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.0870 | 0.6348 | model_form_blend |
| predicted_ER | 2.0000 | 1.1350 | 1.4948 | model_form_blend |
| predicted_ERA | - | 2.7093 | 2.7093 | form_only |
| predicted_H | 3.0000 | 3.4500 | 3.2628 | model_form_blend |
| predicted_HR | 1.0000 | 0.2970 | 0.5894 | model_form_blend |
| predicted_IP | 1.0000 | 3.2000 | 2.2000 | model_form_blend |
| predicted_SO | 1.0000 | 3.0100 | 2.1739 | model_form_blend |
| predicted_WHIP | - | 1.2032 | 1.2032 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| 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 | 0.2 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 677960 |
| playerID | 677960 |
| playerName | Ryan Weathers |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.306 |
| sl_xwoba | 0.319 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 40.6 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 44.8 |
| sl_avg_best_speed | 77.68228672 |
| sl_avg_hyper_speed | 94.601750608 |
| 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.523 | 0.000 | -0.523 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.923 | 0.000 | 0.077 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.220 | 1.000 | -0.120 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.062 | 0.000 | -0.062 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 2 |
| Better Metrics | 1 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 3 | 1 | 2 | 1 | 2 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "621112",
"player_name": "Paul Blackburn",
"position": "Middle Reliever (High Leverage)",
"team": "NYY",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"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.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
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "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": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "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": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
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.333 | - |
| predicted_SO | 1.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 5.000 | - |
| ER | 0.000 | - |
| H | 1.000 | - |
| HR | 0.000 | - |
| IP | 1.100 | - |
| Pitches | 17.000 | - |
| R | 0.000 | - |
| SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.100 | 0.000 | 3.000 | 2.000 | 1.000 | 0.000 | 0.0000 | 0.7895 | 0.0000 | 0.4737 | 0.3158 | 0.1579 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 0.000 | 7.000 | 6.000 | 4.000 | 0.000 | 0.0000 | 1.1818 | 0.0000 | 0.6364 | 0.5454 | 0.3636 | 0.0000 |
| season | 0.20 | 65 | 89.100 | 15.000 | 60.000 | 34.000 | 69.000 | 7.000 | 1.5112 | 1.0522 | 0.1679 | 0.6716 | 0.3806 | 0.7724 | 0.0784 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5000 |
| predicted_ER | 0.1690 |
| predicted_ERA | 1.2242 |
| predicted_H | 0.8180 |
| predicted_HR | 0.0550 |
| predicted_IP | 1.1000 |
| predicted_SO | 0.5920 |
| predicted_WHIP | 1.0617 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5000 | 0.7201 | model_form_blend |
| predicted_ER | 0.0000 | 0.1690 | 0.0946 | model_form_blend |
| predicted_ERA | - | 1.2242 | 1.2242 | form_only |
| predicted_H | 0.0000 | 0.8180 | 0.4580 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0308 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5920 | 0.7716 | model_form_blend |
| predicted_WHIP | - | 1.0617 | 1.0617 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 65 |
| Season rows before report date | 65 |
| Report year | 2026 |
| Profile rows used | 65 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 621112 |
| playerID | 621112 |
| playerName | Paul Blackburn |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.259 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 35.2 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 45.7 |
| sl_avg_best_speed | 75.055748879 |
| sl_avg_hyper_speed | 93.465775108 |
| 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.154 | 0.000 | -0.154 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.615 | 0.000 | -0.615 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.892 | 1.000 | 0.208 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.462 | 1.000 | 0.538 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_rate_projection |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 1 |
| Better Metrics | 3 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_rate_projection | 0 | 0 | 0 | 0 | 0 | - | - | Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty |
| 2 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 3 | team_form_adjustment | 0 | 0 | 0 | 0 | 0 | - | - | Club form: innings, run prevention and strikeout factors |
| 4 | savant_pitcher_quality | 0 | 0 | 0 | 0 | 0 | - | - | Statcast pitch quality: strikeout, walk, home-run and run-prevention factors |
| 5 | opposing_lineup_context | 0 | 0 | 0 | 0 | 0 | - | - | The nine hitters he faces: batter quality, weighted by plate appearances |
| 6 | kpi_run_environment | 0 | 0 | 0 | 0 | 0 | - | - | KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale |
| 7 | play_by_play_realization | 3 | 2 | 1 | 3 | 0 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) | Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play |
| 8 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Published player line stored in the game JSON (model predictions and finalized integer line) |
{
"trace_version": "1.1",
"role": "pitcher",
"player_id": "670167",
"player_name": "John Schreiber",
"position": "Middle Reliever (High Leverage)",
"team": "NYY",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
| Metric | Value | Delta vs Prev Step |
|---|
Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
Club form: innings, run prevention and strikeout factors
| Metric | Value | Delta vs Prev Step |
|---|
Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
| Metric | Value | Delta vs Prev Step |
|---|
The nine hitters he faces: batter quality, weighted by plate appearances
| Metric | Value | Delta vs Prev Step |
|---|
KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
| Metric | Value | Delta vs Prev Step |
|---|
Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| BB | 0.000 | - |
| BF | 4.000 | - |
| ER | 0.000 | - |
| H | 0.000 | - |
| HR | 0.000 | - |
| IP | 1.100 | - |
| Pitches | 15.000 | - |
| R | 0.000 | - |
| 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 | 0.000 | 3.000 | 0.000 | 3.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.7500 | 0.0000 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 8.000 | 2.000 | 5.000 | 0.000 | 1.8621 | 1.0345 | 0.2069 | 0.8276 | 0.2069 | 0.5172 | 0.0000 |
| season | 0.20 | 68 | 62.100 | 22.000 | 49.000 | 26.000 | 42.000 | 7.000 | 3.1765 | 1.2032 | 0.3529 | 0.7861 | 0.4171 | 0.6738 | 0.1123 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1750 |
| predicted_ER | 0.1970 |
| predicted_ERA | 2.2209 |
| predicted_H | 0.6710 |
| predicted_HR | 0.0460 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5850 |
| predicted_WHIP | 1.0593 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1750 | 0.0931 | model_form_blend |
| predicted_ER | 0.0000 | 0.1970 | 0.1048 | model_form_blend |
| predicted_ERA | - | 2.2209 | 2.2209 | form_only |
| predicted_H | 1.0000 | 0.6710 | 0.8250 | model_form_blend |
| predicted_HR | 0.0000 | 0.0460 | 0.0245 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.5850 | 0.3111 | model_form_blend |
| predicted_WHIP | - | 1.0593 | 1.0593 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 68 |
| 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 | 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 | 0.00 |
| 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 | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20261005_NYY@TB |
| game_type | full |
| mlbID | 670167 |
| playerID | 670167 |
| playerName | John Schreiber |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYY |
| teamID | 19 |
| game_date | 2026-10-05 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.3 |
| sl_xwoba | 0.309 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 38.0 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 44.6 |
| sl_avg_best_speed | 77.86320375 |
| sl_avg_hyper_speed | 93.8817088 |